首页 > 系统相关 >Linux系统基础(一):基础操作命令

Linux系统基础(一):基础操作命令

时间:2024-12-15 16:32:59浏览次数:5  
标签:文件 操作命令 基础 用户 命令 参数 usr file Linux

第一节 Linux 基础操作

文章目录

文件操作相关
openssl passwd -1 123
openssl是一个开源加密工具包     passwd指的是用于处理密码相关操作   -1指DM5算法  管理文件

#文件操作相关
touch file 创建空文件
rm file 删除文件
mkdir file 创建目录
rmdir file 删除文件夹
mv a.txt b.txt重命名文件
mv file dir 移动文件
cp a.txt b.txt拷贝文件

which 查找可执行命令的文件路径。例如:which ls 查找ls命令在系统中的具体位置
locate 查找文件

echo $PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games

$PATH 是一个环境变量,定义了操作系统在执行命令时查找可执行文件的路径。系统会按照 PATH 中列出的路径顺序,依次查找命令,直到找到对应的可执行文件为止。使用:分割
/usr/local/sbin:系统首先查找这个路径下的可执行文件,改路径通常用于管理员安装系统管理工具
/usr/local/bin:如果第一个路径没有找到,会继续查找这个路径。该路径通常用于存放本地安装的程序和工具
/usr/sbin:用于root用户使用的可执行文件
/usr/bin:标准的用户命令目录,包含了大多数常用的系统命令,如ls\cp\bash等
/sbin:该目录包含一些root用户执行的系统命令,类似于/usr/sbin
/bin:该目录也包含基础的用户命令,如ls、cp、cat、echo等
/usr/local/games:这个路径通常包含用户安装的游戏程序。
/usr/games:这个路径包含系统安装的游戏程序

硬连接:同一个文件,多个名称,共享一个inode信息(主要防止误删)

ln ~/111.txt hard link.txt

软连接:不同文件,指向另一个文件的路径

ln -s original.txt symlink.txt

find命令

find命令选定目录的时候可以手动添加目标路径或使用符号代替。例:.表示当前目录及其子目录,~表示在根目录$HOME中查找(/home/用户名路径)。如果查找系统根目录直接使用/

-name选项 通常接想要查找的文件名(可以模糊查询、正则匹配)

find . -name "*.log"    #查找以.log结尾的文件
find . -name "[a-z]*[0-9].log"  #查找以小写字母开头,最后是数字加.log结尾的文件

-perm选项 安装文件权限模式查找

find . -perm 777   #查找文件权限为777的文件
find . -perm 4000 #查找具有suid特殊权限的文件

-type选项 查找特定类型的文件

​ b/d/c/p/l/f 分别是块设备、目录、字符设备、管道、符号连接、普通文件

-user选项 限定特定文件属主的文件

-group选项 限定用户组

-atime +n选项 限定n天前读取过的文件

还可以接**-exec选项**进行命令执行

find . -type f -atime +365 -exec rm -rf \;   #在当前及其子文件夹下查找普通文件并且删除

文件读取相关
cat 
tac:从最后一行开始往前显示
more: 与cat类似,但是会一页一页显示(只能向后翻页)
less:与more类似,只能向前翻页
nl:显示内容的同时,显示行号
head:查看文件开头几行内容,默认为10行
tail:查看文件尾几行
od:以为指定进制的方式读取文件   例如: od -x ???  以十六进制的方式查看文件
vi
vim
dd:dd if=输入文件 of=输出文件   或直接读取文件dd=1.txt
sort:对文件排序,输出排序内容
uniq:去除重复行,输出去重内容
rev:独立反转每一行内容,输出反转后内容
cut:输出剪切内容
sed:
paste:把每个文件以列对列的方式合并(一个文件就相当于原来的)
grep:查找文件里符合条件的字符串

用户相关
用户账号数据库
/etc/passwd 存储了系统中用户账户基本信息,一行就是一个用户,包含了用户名、密码占位符、用户id、用户组id、用户描述信息、用户主目录、用户默认shell等字段
例:root:x:0:0:root:/root:/usr/bin/zsh  #用户名root、密码占位符为x、用户id与组id都为0、用户描述信息为root、用户主目录为/root目录、默认shell在/usr/bin/zsh

/etc/shadow root用户才能查看,格式:用户名:加密后的密码:上次修改密码日期:密码策略(4个数字):账号失效日期:保留位
例:
lighthouse:!:20011:0:99999:7:::

组账号
/etc/group   #cat /etc/group查看用户账户信息的同时,间接了解用户所属组的信息 
例:lighthouse:x:1001:lighthouse

/etc/gshadow 存储用户组密码相关信息

useradd命令

useradd username 直接创建用户

useradd -参数 username

参数:
-c 进行注释描述 
-d 指定用户主目录 
-g 指定用户所属组
-s 指定用户登录的shell文件 
-u 指定uid

usermod命令

usermod 参数 username

参数:
-l 修改用户名
-g 修改用户组
-u 修改用户uid
usermod -G sudo testuser   #将testuser用户添加到sudo组中

userdel命令

userdel username  #直接删除用户
userdel -r username #删除用户及其宿主目录

passwd命令

参数:-d 清空密码、-l 锁定账户、-u 解锁、-S 查看锁定状态

例:
passwd username  #passwd直接加用户表示更改密码
sudo passwd -l username  #禁用账号
sudo passwd -S usernmae   #显示指定用户账户的密码状态
sudo change -E 2024-2-10 kali  #修改用户密码的过期信息

id命令 查看当前用户的UID、GID、当前用户所属的组

id username 查看指定用户的用户信息

例:
uid=1000(ubuntu) gid=1000(ubuntu) groups=1000(ubuntu),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),116(lxd)
解释:
uid=1000(ubuntu):表示当前用户的用户 ID(UID)是 1000,用户名是 ubuntu。
gid=1000(ubuntu):表示用户的主要组 ID(GID)是 1000,组名为 ubuntu。
groups=1000(ubuntu),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),116(lxd):列出了用户所属的所有组及其组 ID
1000(ubuntu):用户的主要组,即与用户同名的组 ubuntu,其组 ID 为 1000。
4(adm):adm 组通常用于授权用户查看系统日志文件(例如 /var/log 中的文件)。
24(cdrom):cdrom 组的成员通常可以访问光盘驱动器(CD/DVD 驱动器)。
27(sudo):sudo 组的成员可以使用 sudo 命令,以管理员权限运行命令。
30(dip):dip 组的成员通常有权限拨号网络连接(例如通过 ppp 接口进行拨号连接)。
46(plugdev):plugdev 组允许用户在桌面环境下插拔设备(如 USB 驱动器)。
116(lxd):lxd 组的成员有权限管理 LXD 容器(Linux 容器管理工具)。

groups命令查看当前所有的组

与用户类似,有以下命令

groupadd 参数 groupname

groupdel 参数 groupname

groupmod 参数 groupname

gpasswd 参数 用户名 组名

权限相关

ls -al /
使用-l参数显示文件和目录信息(权限、所有者、大小、创建时间)
使用-a参数显示所有文件及目录(包括隐藏文件)

chmod命令

chmod [参数] file

-R参数 以递归的方式对目录下的文件与子目录进行操作

文件权限可以用r(读)=4、w(写)=2、x(执行)=1中的字母表示,也可以使用对应数字

例:

chmod 777 file #给file文件赋予读写执行权限
chmod ugo+r file 或 chmod a+r file#让所有用户可以读取file文件
     u表示文件拥有者,g表示同一个组的成员,o表示其他以外的,a表示全部
chmod -R a+rw * #设置该目录下的所有文件及子目录,任何人都可以读写

chown命令 更改文件所有者

chown user file 把file文件的拥有者改为user


日志相关

history 查看历史使用过的命令
history -c 可以清除该历史记录

/var/log 系统日志文件所在目录

/var/log/auth.log 认证消息日志,包括用户登录、认证失败等信息
tail -3 /var/log/auth.log #查看最近三条认证相关的日志记录

/var/log/wtmp 二进制日志 久记录所有用户的登录、注销信息,同时记录系统的启动、重启、关机事件。要使用last命令查看
who /var/log/wtmp | tail -5 #查看最近五次登录或注销记录

进程相关

ps命令查看当前进程状态(使用ps时默认当作ps -a),常与grep命令联合使用查找特定进程

例:ps -ef | frep php

-aux参数 查看全部进程的详细信息
-ef参数 以完整格式显示所有进程
-e --forest参数 以树形结构显示进程关系

在这里插入图片描述

各个进程状态相关字母含义

S:等待态
T:停止态
R:运行态
Z:僵尸态
D:不可被中断的等待态进程
X:死亡态
s:拥有子进程的进程
i:闲置在内核的进程
L:拥有子线程的进程
<:高优先级的进程
N:优先级较低的进程
+:运行在前台的进程

kill命令
用于终止指定进程。可以指定PID或名称来终止进程

kill PID #终止指定PID的进程
kill -hangup PID #通常用于重启或重新加载进程
kill -interrupt PID #中断信号
kill -quit PID #退出信号
kill -9 PID #强制终止进程
kill -terminate PID #默认的终止信号
kill -stop PID #暂停进程
kill -continue PID #继续进程


存储相关
free -m 

free命令查看系统内存使用情况,-m表示以兆字节(MB)为单位显示信息

df -hT 

df命令查看磁盘使用量,查看各个磁盘分区的总大小、使用空间的情况、文件系统类型等信息

du ./* -hsc

du命令统计文件或目录的磁盘使用空间,-h参数以人类可读的格式显示,-s汇总每个参数的总大小,-c在最后显示总计

dfisk -l

fdisk是一个磁盘分区工具,-l参数列出系统中所有磁盘分区信息,包括磁盘大小、分区类型、编号、起始和结束扇区等。

mount /dev/sdb1 /mnt/sub

mount命令用于将一个文件系统挂载到指定的目录。/dev/sdb1是要挂载的分盘分区设备路径。/mnt/usb是挂载点。


网络相关
基本工具

ifconfig
是一个用于配置和显示网络接口信息的命令行工具。可以显示网络接口的ip地址、子网掩码、MAC地址等,还可以用于启动、停止或配置网络接口。

ip addr
也是用于查看和管理网络接口的命令,但是提供了比ifconfig更详细和灵活的网络接口信息显示,包括接口状态、IP地址、子网掩码、广播地址等

ifdown eth0
关闭指定的eht0网络接口

ifup eth0
打开指定的eth0网络接口

网络配置

/etc/network/interfaces
是一个系统文件,用于配置网络接口的静态IP地址、子网掩码、网关等信息。
编辑这个文件可以手动配置网络接口

Networkmanager
是一个动态网络控制和配置守护进程。
可以自动管理网络连接,包括优先网络、无限网络、VPN连接等

网络连接
netstart -natup

ss -natup

netstart为一个用于显示网络连接、路由表、接口统计等信息的命令。
ss也是另一个用于显示网络套接字状态的工具,比netstart更快速高效。

-n参数 以数字形式显示地址和端口号,避免进行域名解析
-a参数 显示所有连接和监听端口
-t参数 显示tcp连接
-u参数 显示udp连接
-p参数 显示与连接相关的进程ID和名称
arp -en

arp是地址解析协议。-e参数表示以详细格式显示ARP缓存表。-n参数表示以数字形式显示ip。

route
用于显示和管理系统的路由表

ip route
是ip命令的一部分,用于管理系统路由表。

ip route add 10.13.37.0/24 dev eth1

添加一条路由条目。dev eht1表示通过名为’eth1’的网络接口到达目标网络

traceroute offensive-security.com

用于跟踪数据包从本地主机到达目标主机所经过的路由路径工具

SSH

启动SSH服务

systemctl start ssh  #systemctl为系统管理服务的工具

开始连接

ssh root@localhost #连接本地主机

/etc/ssh/sshd_config为SSH服务器的主要配置文件。
其中包含了各种参数,如:端口号、允许登录的用户、认证方式、访问控制等


标签:文件,操作命令,基础,用户,命令,参数,usr,file,Linux
From: https://blog.csdn.net/2301_79469341/article/details/144469701

相关文章

  • 3种在Linux命令行查看图像的方法
    在Linux中有很多GUI应用程序可以查看图像,但是这对经常使用命令行来工作的人可能会觉得很繁琐。今天要介绍的是3个实用的CLI图像查看器来在终端上查看图像,让那些使用CLI的朋友能更加高效地工作。1.FIMFIM是FbiIMproved的缩略语,意思是Fbi改进版。有些人可能还不......
  • 如何设置Linux系统开机自动运行脚本?
    大家好,我是良许。在工作中,我们经常有个需求,那就是在系统启动之后,自动启动某个脚本或服务。在Windows下,我们有很多方法可以设置开机启动,但在Linux系统下我们需要如何操作呢?Linux下同样可以设置开机启动,但可能需要我们敲一些命令(可能也有UI界面的设置方法,但我不熟,我更多是......
  • 2024-2025-1 20241421《计算机基础与程序设计》第十二周学习总结
    这个作业属于哪个课程 2024-2025-1-计算机基础与程序设计这个作业要求在哪里 2024-2025-1计算机基础与程序设计第十二周作业这个作业的目标 复习巩固前面所学的内容作业正文 https://www.cnblogs.com/118qa/p/18608015教材学习内容总结一、文件的基本概念文件是存储在外部......
  • 性能测试-linux下的常用命令汇总
    1.1cup使用率进行排序[root@master~]#top-ctop-20:45:36up1:14,4users,loadaverage:0.45,0.85,0.53Tasks:125total,1running,124sleeping,0stopped,0zombie%Cpu(s):11.2us,15.3sy,0.0ni,73.3id,0.0wa,0.0hi,0.2si,0.0......
  • 性能测试工具-nmon工具(Linux的资源监控)
    1.1下载nmon工具官方网站下载地址:https://nmon.sourceforge.io/pmwiki.php?n=Site.Download下载nmon16e_mpginc.tar.gz的安装包1.2nmon工具早Centos7的安装解压文件nmon16e_mpginc.tar.gz#创建目录将压缩文件内容加压到该目录[root@mastertgz]#mkdir-p/opt/app/......
  • 2024-2025-1 20241417 《计算机基础与程序设计》第十二周学习总结
    2024-2025-120241417《计算机基础与程序设计》第十二周学习总结作业信息这个作业属于哪个课程<班级的链接>(如2024-2025-1-计算机基础与程序设计)这个作业要求在哪里<作业要求的链接>2024-2025-1计算机基础与程序设计第十二周作业这个作业的目标<复习前面所学,完成......
  • 学期2024-2025-1 学号20241424 《计算机基础与程序设计》第12周学习总结
    https://www.cnblogs.com/rocedu/p/9577842.html#WEEK12学期2024-2025-1学号20241424《计算机基础与程序设计》第12周学习总结作业信息|这个作业属于2024-2025-1-计算机基础与程序设计)||-- |-- ||这个作业要求在2024-2025-1计算机基础与程序设计第十二周作业||这个作业的......
  • Hiking (7A_基础_P75)
    Hikingisanactivityofgoingoutforalongwalkforplesure.Mostpeoplechoosetogohikinginthecountryside,inforestsormountains.It'sagreatwaytotheexploreoutdoors.Herearetwotipsforhikers.Asabeginner,you'dbetterstartw......
  • 零基础微信小程序开发——WXML 模板语法之列表渲染-WXML和样式设置(保姆级教程+超详细)
    ......
  • C++ 入门基础
    前言C++的基础语法与C语言基本相似,所以我们这里就不讲解语法句型了。直接上干货。一命名基础在C/C++中,变量、函数和后⾯要学到的类都是⼤量存在的,这些变量、函数和类的名称将都存在于全局作⽤域中,可能会导致很多冲突。使⽤命名空间的⽬的是对标识符的名称进⾏本地化,以避免......