linux常用命令
3.1、目录相关命令
3.1.1、ls或ll
语法:ls或ll [选项] [文件名或目录名
选项:-a
显示所有文件,-h
显示文件大小的单位,-d
显示本目录长格式,-i
显示文件节点号。
英文:list。
注:显示出来的结果,权限后面的数字表示引用计数。文件则表示该文件的硬链接个数,目录则表示该目录的一级子目录的个数。
3.1.2、cd
语法:cd [绝对路径/相对路径]
,cd -
回到上一次所在目录。
英文:change directory。
3.1.3、pwd
语法:pwd
功能描述:查询当前目录的绝对路径。
3.1.4、mkdir
语法:mkdir [选项] 目录名
选项:-p
可递归创建多级目录。
英文:make directories。
功能描述:创建空目录。
3.2、文件相关命令
3.2.1、touch
语法:touch 文件名
功能描述:创建空文件或修改文件时间戳。
3.2.2、stat
语法:stat 文件名
功能描述:查看文件详细信息。
File(文件名): ‘test.txt’
Size(大小): 23 Blocks(数据块总数): 8 IO Block(IO块大小): 4096 regular file(常规文件)
Device(设备编号): fd01h/64769d Inode(Inode号): 397599 Links(硬链接数): 1
Access(权限): (0444/-r--r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access(最后一次访问文件时间): 2022-07-23 00:25:15.441760321 +0800
Modify(最后一次修改文件时间): 2022-07-23 00:25:15.441760321 +0800
Change(最后一次修改文件属性时间): 2022-07-23 00:25:15.441760321 +0800
Birth(文件创建时间,弃用): -
3.2.3、cat
- 语法:
cat [选项] 文件名
- 选项:
-n
:显示行号-E
:显示$表示回车符-T
:显示^I表示Tab键-v
:显示特殊字符-A
:表示ETv
选项的整合。
- 功能描述:合并文件并且打印输出。
3.2.4、more
语法:more [选项] 文件名
选项:
-数字
一次显示多少行数。+数字
从第几行开始显示。-p
不卷动显示,先清除再显示。-s
两行以上的空白行,以一行空白行显示。+/字符串
从检索到的字符串的前一行开始显示。
功能描述:具有分屏显示文件的功能。
交互命令:
空格键
向下翻页。b
向上翻页。回车键
向下滚动一行。q
退出。=
输出当前行号。:f
输出文件名和当前行的行号。
3.2.5、less
语法:less [选项] 文件名
选项:
-e
文件显示结束自动离开。
-m
显示查看的百分比。
-N
显示行号。
-s
显示连续空行为一行。
功能描述:和more相似,但less具有按需加载的功能,常用于查看大文件。
交互命令:
空白键
向下翻页。pagedown
向下翻页。pageup
向上翻页。/字符
向下检索,n表示下一个,N表示上一个。?字符
向上检索,n表示下一个,N表示上一个。q
表示退出。
3.2.6、head
语法:head [选项] 文件名
选项:
-n 数字
指定从头开始显示的行数,默认10行。-v
显示内容时,把文件名也显示出来。
功能描述:用来显示文件开头的命令。
3.2.7、tail
语法:tail [选项] 文件名
选项:
-n
指定从尾开始显示的行数。-f
监听文件新增的内容,也就是实时刷新。
功能描述:用来显示文件结尾的命令,常用于查看日志实时刷新。
3.2.8、ln
语法:ln [选项] 源文件 目标文件
选项:
-s
建立软链接,否则默认建立硬链接。
-f
强制,如目标文件已存在,则删除再建立。
注:如果创建硬连接时,如果再不同的目录,目标文件没有写文件名,则默认和原名一致。
硬链接 | 软链接 |
---|---|
源文件和目标文件拥有相同的Inode和Block | 源文件和目标文件拥有不同的Inode和Block |
修改任一文件,另一个都改变 | 修改任一文件,另一个都改变 |
删除任一文件,另一个都能使用 | 删除源文件,目标文件不可用;删除目标文件,源文件可用 |
源文件和目标文件没有标记,难区别 | 目标文件没有实际数据,只有源文件的Inode,目标文件的大小不变,易区别 |
硬链接不能链接目录 | 软链接可以链接目录 |
硬链接不能跨分区 | 软链接可以跨分区 |
3.2.9、>
语法:命令输出 > 文件
功能描述:将执行命令输出的内容重定向(覆盖)到文件里。
3.2.10、>>
语法:命令输出 >> 文件
功能描述:将执行命令输出的内容追加到文件末端。
3.3、目录和文件通用命令
3.3.1、rm
语法:rm [选项] 目录名或文件名
选项:
-r
递归删除,应用于删除目录。-f
强制删除,不提示。-v
显示操作过程。-i
交互删除,会提示,默认开启。
功能描述:用于删除文件或目录。
3.3.2、cp
语法:cp [选项] 源文件 目标文件
选项:
-r
递归复制,应用于复制目录。-p
复制后目标文件保留源文件的属性(包括所有者、所属组、权限和时间)。-d
源文件为软链接时,复制出的目标文件也是软链接(对硬链接无效)。-a
是-dpr
的整合。-i
询问,目标文件存在时,询问是覆盖,默认开启。
功能描述:用于复制文件或目录。强制覆盖:\cp -r 源文件 目标文件
3.3.3、mv
- 语法:
mv [选项] 源文件 目标文件
- 选项:
-f
强制覆盖,若目标文件已存在,则强制覆盖。-v
显示操作过程信息。-i
询问,若目标文件已存在,则询问是否覆盖。
- 功能描述:用于重命名或修改文件。
3.4、登录、注销与重启
3.4.1、su
登录:切换用户。su root
;su - root
。
解析:su root
表示不改变当前变量,只是获取root的执行权限,环境还是原来的环境。su - root
表示切换成root的变量,进而获取root的权限,环境变为root。
3.4.2、exit
注销:logout
;exit
解析:logout
可以理解为注销用户,像使用su root
之后的话,就不能使用logout
进行注销,因为并没有切换到用户,只是使用了root用户的权限,这时可用exit
进行退出控制台。exit
可进行退出操作,也可进行注销操作。
注:logout
在图形运行级别无效,在运行级别3下有效。
3.4.3、logout
3.4.4、shutdown
语法:shutdown [选项] 时间
,时间单位为分钟。
选项:-h
关机。-r
重启。-c
取消已经执行的shutdown命令。
注:磁盘采用的是“预读迟写”的方式,也就是当用户保存文件时,不一定是将数据写入到物理磁盘中,而是将数据保存在缓冲区,等缓冲区满时再写入磁盘中,所以,关机前可以使用sync
指令将数据由缓冲区写入到磁盘里。
3.4.5、reboot
语法:reboot
功能描述:重启系统。
3.5、压缩与解压
3.5.1、.gz
- 压缩:
gzip [选项] 文件或目录
- 选项:
-c
,压缩后保留源文件,默认不保留。-r
,压缩目录时,其实时间目录里面的文件逐个压缩。-d
,解压,可当gunzip使用。
- 解压:
gunzip 文件
- 功能描述:只能压缩文件,或是将目录中的文件单个压缩,不能压缩整个目录,压缩后文件后缀*.gz。
3.5.2、.zip
- 压缩:
zip [选项] 压缩包名称 文件或目录
- 选项:
-r
递归压缩,需使用,否则只压缩空文件夹。压缩包名称一定要命名,zip后缀可不写。
- 解压:
unzip [选项] [解压到目录] 文件
- 选项:
-d
指定解压后文件存放的位置,否则存放在当前位置。
- 功能描述:可压缩文件和目录,后缀为*.zip。
3.5.3、.bz2
- 压缩:
bzip2 [选项] 文件
- 选项:
-k
保留后保留源文件。-v
显示操作过程。-d
解压,可当bunzip2使用。
- 解压:
bunzip2 文件
- 功能描述:只能压缩文件,不能压缩目录,后缀为*.bz2。
3.5.4、.tar.gz
- 打包压缩:
tar [选项] 压缩包名称 文件
- 选项:
-z
用gzip格式压缩或解压。-c
创建新压缩文件。-v
显示操作过程。-f
指定压缩或解压包名称。
- 开包解压:
tar [选项] 压缩包名称
- 选项:
-z
用gzip格式压缩或解压。x
解开压缩文件。v
显示操作工程。-f
指定压缩或解压包名称。-C
解压到指定目录,实例:tar [选项] 压缩包名称 -C 目录
。
- 功能描述:可打包压缩和解压,后缀为*.tar.gz。
3.6、时间日期
3.6.1、date
显示当前时间:date
按设定的格式显示当前时间:date "+%Y-%m-%d %H:%M:%S"
,(格式2021-12-02 17:57:43)
设置系统时间:date -s "2021-12-2 19:00:00"
3.6.2、cal
显示当月日历:cal
显示2022年的日历:cal 2022
3.7、搜索相关命令
3.7.1、whereis
- 语法:
whereis 命令
- 功能描述:用于查找二进制命令、命令的源文件和命令的帮助文档的,不能用于搜索普通文件。
- 注:whereis命令是查询数据库的,有些命令还没纳入数据库,可用updatedb进行更新数据库。
3.7.2、which
- 语法:
which 命令
- 功能描述:只能用于查找二进制命令的,如果该命令有别名,也可找出来。
3.7.3、locate
- 语法:
locate 文件名
- 功能描述:只能按照文件名进行检索,locate命令是查询数据库的,有些文件还没纳入数据库,可使用updatedb进行更新数据库。
- 注:安装locate:
yum -y install mlocate
3.7.4、find
- 语法:
find 检索路径 [选项] 检索内容
- 选项及检索内容填写方式:
-name
按文件名检索(区分大小写),检索内容为文件名
。-iname
按文件名检索(不区分大小写),检索内容为文件名
。-inum
按inode号检索,检索内容为inode号
。-size
按文件大小检索,检索内容实例+100M
,+大于,-小于,默认等于。单位K,M,G
-atime
按文件访问时间检索,检索内容实例-5
,-5表示5天内,5表示5~6天,+5表示6天前
-mtime
按文件数据修改时间检索,检索内容实例-5
,-5表示5天内,5表示5~6天,+5表示6天前
-ctime
按文件状态修改时间检索,检索内容实例-5
,-5表示5天内,5表示5~6天,+5表示6天前
-perm
按文件权限检索,检索内容实例-644
,-644查找文件权限包含644,644权限等于777
-uid
按文件所有者id检索,检索内容所有者id
-gid
按文件所在组id检索,检索内容所在组id
-user
按文件所有者名称检索,检索内容所有者名称
-group
按文件所在组名称检索,检索内容所在组名称
-nouser
按没有所有者的文件检索,检索内容空
-type
按文件类型检索,检索内容d目录,f普通文件,l软链接,b块设备,c字符设备
-a
逻辑与检索,实例:find 检索路径 [选项] 检索内容 -a [选项] 检索内容
-o
逻辑或检索,实例:find 检索路径 [选项] 检索内容 -o [选项] 检索内容
-not
逻辑非检索,实例:find 检索路径 -not [选项] 检索内容
-exec
二次处理,实例:find 检索路径 [选项] 检索内容 -exec 命令 {} \;
,{}表示find的检索结果,使用命令对检索检索进行操作。-ok
二次处理,实例:操作和-exec一样,-ok执行命令时多了一步问询操作
- 功能描述:可按照各种类型对文件进行检索。
- 注:按时间检索的时间划分示意图如下:
- 匹配文件名常用通配符:
通配符 | 作用 |
---|---|
? | 匹配一个任意字符 |
* | 匹配0个或多个任意字符 |
[] | [abc],匹配中括号中任意一个字符 |
[-] | [a-c],匹配中括号中任意一个字符 |
[^] | [^0-9],匹配不是中括号内的一个字符 |
3.8、网络管理相关
3.8.1、ifconfig
- 语法:
ifconfig
- 功能描述:查看IP地址。
3.8.2、ping
- 语法:
ping [选项] IP
- 选项:
-c 数字
用于指定ping的次数。-b
对整个网段的IP进行探测。-s 数字
指定探测包的大小。 - 功能描述:通过ICMP协议进行网络探测,测试是否能够进行通信。
3.8.3、netstat
- 语法:
netstat [选项]
- 选项:
-a
列出所有网络状态,包括Socket程序。-c 秒数
指定每间隔几秒刷新一次网络状态。-n
使用IP地址和端口显示,不使用域名与服务名。-p
显示PID和程序名。-t
显示使用TCP协议端口连接状况。-u
显示使用UDP协议端口的连接状况。-l
仅显示监听状态的连接。-r
显示路由表。
3.8.4、write
- 语法:
write 用户名 终端
,终端默认是最低终端,pts/0或1,可用ps查看在那个终端。 - 功能描述:向其他用户发送消息。
3.8.5、wall
- 语法:
wall "内容"
- 功能描述:发送信息给所有登录的用户,包括自己。
3.8.6、mail
- 直接编辑发送内容,语法:
mail 收件用户名
,然后输入主题,输入内容,.点号结束编辑。 - 直接发送文件内容,语法:
mail -s "主题" 收件用户名 < 文件路径
- 查看邮件,语法:
mail
,N表示未读,输入编号可查看邮件。 - 交互命令:
d 编号
删除邮件,s 编号 路径
保存邮件成文件。exit
退出。 - 功能描述:向其他用户发送邮件,邮件存放路径:/var/spool/mail
3.9、系统痕迹
3.9.1、w
- 语法:
w
- 功能描述:显示系统中正在登录的用户信息。日志路径:/var/run/utmp
系统当前时间/系统运行时间/当前用户登录个数/系统1分钟、5分钟、15分钟的平均负载
19:15:35 up 3:08, 3 users, load average: 0.00, 0.01, 0.05
用户名/登录的终端/本地终端名称/登录时间/用户闲置时间/所有进程占用CPU时间/当前进程占用CPU时间/用户正在进行的操作
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 desktop-3defgqr 16:10 7.00s 0.19s 0.03s w
lifurun pts/1 desktop-3defgqr 19:00 14:48 0.04s 0.04s -bash
root pts/2 desktop-3defgqr 19:06 8:47 0.04s 0.04s -bash
3.9.2、who
- 语法:
who am i
- 功能描述:查看自身登录信息。
3.9.3、last
- 语法:
last
- 功能描述:显示系统以前登录过的、现在正在登录的用户信息。日志路径:/var/log/wtmp
用户名/终端号/来源IP地址/登录时间/退出时间
root pts/0 desktop-3defgqr Sun Jul 24 02:12 - 13:39 (11:27)
3.9.4、lastlog
- 语法:
lastlog
- 功能描述:查看系统中所有用户最后一次登录时间。日志路径:/var/log/lastlog
3.9.5、lastb
- 语法:
lastb
- 功能描述:查看用户错误登录的信息。日志路径:/var/log/btmp
3.9.6、history
- 语法:
history [选项]
- 选项:
-c
:表示清除历史,实例:history -c
-r
:表示恢复历史,实例:history -r
- 备注:
history
指令是和用户绑定的,存储历史指令的目录为~/.bash_history
。- 使用
-c
清除历史指令不会删除~/.bash_history
文件里面的数据,所以是可以恢复的。 - 使用
!
配合使用。!序号
,表示执行该序号的历史指令。!!
,表示执行上一条指令。 - 查看可以存储历史
3.10、文件切割
3.10.1、split
- 语法:
split [选项] 文件名
- 选项:
-b
:按文件大小切割,例如:split -b 500M 文件名
-l
:按行数切割,例如:split -l 1000 文件名
-a
:指定切割后的文件名长度,例如:split -a 8 文件名
-d
:指定切割后的文件名为数字,默认为字母,例如:split -d 文件名
--additional-suffix=.log
:指定切割后的文件名后缀,例如:split --additional-suffix=.log 文件名
3.11、其他常用命令
3.11.1、|
语法:命令1 | 命令2
功能描述:将命令1的结果输出通过管道|传输到命令2进行操作。
3.11.2、alias
语法:alias 别名='原命令'
,alias srn='systemctl restart network'
功能描述:将常用命令设置成简单的别名。
注:该别名设置是临时生效的,想要永久生效,则需修改配置文件~/.bashrc。
3.11.3、echo
语法:echo 输出内容
功能描述:输出内容到控制台。
3.11.4、history
语法:history [选项]
选项:n
,表示查询最近执行的n条命令。
功能描述:查看历史命令。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步