Linux常用命令
查看IP地址
ifconfig

说明:
- ens33:VMware模拟出来的虚拟网卡
- lo(loopback):本地回环,用于系统内部进程间通信
- virbr0(virtual bridge):虚拟网桥,可以理解为数据链路层中的"交换机",根据MAC地址传送数据帧。在NAT模式下,虚拟机的网络拓扑,类似于,宿主机为路由器,是虚拟机的网关,虚拟机的隔离的进程环境,是一个个主机,可以分配IP连接到网桥上。
- inet:IPV4地址
- netmask:子网掩码
- broadcast:广播地址
- ether(Ethernet 以太网,数据链路层的概念):MAC地址
- RX(receive,X 有跨越/交换的概念,是早期无线电和电报时代的习惯):接收数据
- TX(Transmit):发送数据
- 关于每个接口的flags,UP代表接口正在运行,BROADCAST代表支持广播,MULTICAST代表支持组播,RUNNING代表物理链路已就绪,LOOPBACK代表回环模式,这些所有的状态都会使用一个十六位的数表示,取值为2的n次幂(n = 0,1,2,3...),再将所有状态的十六进制数进行按位或运算,得到flags值,保证了flags的唯一性
ip addr
`
关机、重启
shutdown -h[halt 停止] now / halt:立即进行关机shutdown -h 1:1分钟后关机,输入shutdown,默认执行该命令shutdown -r now / reboot:重启sync:把内存的数据同步到磁盘
注意:不管是重启系统还是关闭系统,首先要运行sync命令,把内存中的数据写到磁盘中,目前的shutdown/reboot/halt等命令在关机前进行了sync
用户登录注销
基本介绍
- 登录时尽量少使用root账号登录,因为它是系统管理员,有最大的权限。为了避免操作失误,可以使用普通用户登录,登录后再
su - [用户名]命令来切换到系统管理员身份 - 在提示符下输入logout即可注销用户
- 登录时尽量少使用root账号登录,因为它是系统管理员,有最大的权限。为了避免操作失误,可以使用普通用户登录,登录后再
使用细节
- logout注销指令在图形运行级别无效,在运行级别3下有效
清屏
clear / Ctrl + l
用户管理
基本用户管理
useradd [用户名]:添加用户userdel [用户名]:删除用户 带参数-r删除家目录passwd [用户名]:为指定用户设置密码su - [用户名]:切换到该用户id [用户名]:查询用户信息
用户组管理
groupadd [组名]:添加组groupdel [组名]:删除组usermod -g [组名] [用户名]:修改用户所在组
帮助命令
- man获得帮助信息
- 基本语法:
man [命令或配置文件] - 案例:查看ls命令的帮助信息 man ls
- 基本语法:
- help
- 基本语法:
help [命令]获得shell内置命令的帮助信息
- 基本语法:
文件目录类相关指令
pwd 指令(print working directory)
- 基本语法:
pwd显示当前工作目录的绝对路径
- 基本语法:
ls 指令(list)
- 基本语法:
ls [选项] [目录或文件] - 常用选项
- -a:显示当前目录所有的文件和目录,包括隐藏的
- -l:以列表的方式显示信息
- 基本语法:
cd 指令(change directory)
- 基本语法:
cd [参数]切换到指定目录 - 细节说明:~代表家目录,/代表根目录
- 基本语法:
mkdir 指令
- 基本语法:
mkdir [选项] 要创建的目录 - 常用选项
- -p创建多级目录,在指定绝对路径时常用,例如
mkdir -p /home/animal/tiger(animal目录不存在,多级目录是指本次创建的目录数)
- -p创建多级目录,在指定绝对路径时常用,例如
- 细节说明:目录名可以是绝对路径也可以是相对路径
- 基本语法:
rmdir 指令
- 基本语法:
rmdir [选项] 要删除的空目录 - 细节说明:如果要删除的目录下有内容,需要使用
rm -rf 要删除的目录,一定要谨慎
- 基本语法:
touch 指令
- 基本语法:
touch 文件名称,创建空文件
- 基本语法:
cp 指令(copy)
- 基本语法:
cp [选项] source dest - 常用选项
- -r:递归复制整个文件夹
- 细节说明:如果复制的时候要覆盖文件,使用 \cp 命令可以不用手动确认,
\的原理是禁用别名,cp是cp -i(interactive)交互式复制粘贴的别名,禁用别名后就会执行原始的cp不带-i参数的命令,也就不需要再确认了
- 基本语法:
rm 指令(remove)
- 基本语法:
rm [选项] 要删除的文件或目录 - 常用选项
- -r:递归删除整个文件夹,可以达到删除文件夹的目的
- -f:强制删除不提示
- 细节说明,rm也有
\rm的玩法,rm 是 rm -i 的别名,但是尽量使用 rm -f 跳过提示
- 基本语法:
mv 指令(move)
- 基本语法
mv oldFileName newFileName重命名(两文件或目录需要在同一目录)mv 旧路径 新路径移动文件或目录
- 细节说明,如果
mv 旧路径 新路径,新路径中有写文件名称,就是移动并且重命名
- 基本语法
cat 指令(concatenate)
- 基本语法:
cat [选项] 要查看的文件,一次性展示所有内容,用于查看短小的配置文件 - 常用选项
- -n:显示行号
- 使用细节:cat只能浏览文件,而不能修改文件,为了浏览方便,一般会带上管道命令 | more 或 less,管道命令将上一条指令的输出作为下一条指令的输入
- 基本语法:
more 指令
基本语法:
more 要查看的文件,分页查看,只能向下翻页,用于查看中等长度的文件more页面下操作:

less 指令
基本语法:
less 要查看的文件,与more类似,但是比more更强大些,支持上下翻页和搜索,查看内容时,并不是将整个文件加载之后显示,比较省内存,适合查看大型日志文件操作:

echo 指令
- 基本语法:
echo [选项] [输出内容],将输入的内容回显到屏幕上,类似于Print - 用处:
- 查看环境变量,如想知道某个变量的值,配合$符号:
echo $PATH - 配合“重定向”修改文件,可以覆盖写入,也可以追加写入
- 覆盖写入(>):
echo "nameserver 8.8.8.8" > /etc/resolv.conf - 追加写入(>>)
echo "export JAVA_HOME=/usr/local/java" >> /etc/profile
- 覆盖写入(>):
- 在Shell脚本中作提示,类似于sout
- 查看环境变量,如想知道某个变量的值,配合$符号:
- 基本语法:
head 指令
- 基本语法:
head 文件,默认查看文件前10行 - 常用选项
- -n 指定显示几行,如
head -n 5 文件显示文件前五行
- -n 指定显示几行,如
- 基本语法:
tail 指令
- 基本语法:
tail 文件,默认查看文件尾10行的内容 - 常用选项
- -n 指定显示几行
- -f(follow) 实时追踪该文档的所有更新,常用于监控日志和调试程序
- 基本语法:
> 和 >> 指令
- 基本语法
ls -l > 文件,列表的内容覆盖写入到文件中cat 文件1 >> 文件,文件1的内容追加写入到文件中echo 内容 >> 文件,将内容追加写入到文件中
- 基本语法
ln 指令
- 基本语法:
ln -s [原文件或目录] [软连接名],给原文件创建一个软链接,类似于Windows的快捷方式 - 细节说明,如果使用软链接指向了一个目录,那么删除的时候不要带斜杠,类似于:
rm -r myroot/,这样会进入链接的目录,把实际文件也删掉
- 基本语法:
history 指令
- 基本语法:
history查看已经执行过的历史命令 - 常用选项
history 10查看最近10条指令!编号再执行一遍该编号对应的指令
- 基本语法:
时间日期类相关指令
- date 指令
- 基本语法
date查看当前时间date +%Y查看当前年份date "+%Y-%m-%d %H:%M:%S"查看当前年月日时分秒(有空格需要加双引号)date -s "2023-1-13 18:45:45"修改当前系统时间- 校准时间方法请自行查询
- 基本语法
- cal 指令
- 基本语法:
cal [选项],默认查看本月日历 cal 2026查看2026年日历
- 基本语法:
搜索查找指令
- find 指令
- 基本语法:
find [搜索范围] [选项],find 指令将从指定目录从下递归遍历其各个子目录,将满足条件的文件或目录显示在终端 - 常用选项
- -name [文件名],可以使用通配符匹配文件
- -user [用户名称]
- -size [文件大小] (+n 大于n,-n小于n,n等于n;单位有 k , M ,G)
- 案例
- 根据名称查找/home目录下的hello.txt文件
find /home -name hello.txt - 查找/opt目录下,用户名称为nobody的文件
find /opt -user nobody - 查找整个Linux系统下大于200M的文件
find / -size +200M
- 根据名称查找/home目录下的hello.txt文件
- 基本语法:
- locate 指令
- 基本语法:
locate [要搜索的文件],locate可以查询文件所在路径。locate指令基于数据库进行查询,需要定期更新数据库,更新mlocate数据库的指令为updatedb,其速度比find指令快的多
- 基本语法:
- which 指令
- 基本语法:
which [指令],可以查看该指令在那个文件目录下
- 基本语法:
- grep 指令(Global Regular Expression Print 全局正则表达式搜索并打印)
- 基本语法:
grep [选项] 查找内容 源文件,通常与管道符|配合使用,将上一条指令的结果交给grep指令搜索 - 常用选项
- -n 显示匹配行及行号
- -i 忽略字母大小写
- 案例
- 显示 /home/ethan/hello.txt 文件下yes所在行及行号
cat hello.txt | grep -n yes或grep -n yes hello.txt(在/home/ethan目录下)
- 显示 ip addr 指令ens所在行及行号
ip addr | grep -n ens
- 显示 /home/ethan/hello.txt 文件下yes所在行及行号
- 基本语法:
压缩和解压缩指令
- gzip/gunzip 指令
- 基本语法
gzip 文件,将文件压缩为一个文件名.gz的文件,原文件被删除,主要用于对单个文件进行压缩,不能压缩目录,要压缩目录需要先tar打包gunzip 文件名.gz,也可以用gzip -d 文件名.gz(decompress),解压缩某个文件,解压后.gz消失
- 基本语法
- zip/unzip 指令
- 基本语法
zip [选项] [压缩文件名.zip] [要压缩的文件或目录]unzip [选项] [XXX.zip]
- 常用选项
- zip
-r递归压缩,即压缩目录,在压缩目录时,尽量先进到目标目录位置,之后直接zip -r [XXX.zip] [目标文件夹]
- unzip
-d解压到指定目录
- zip
- 基本语法
- tar 指令(tape archive)
- 基本语法:
tar [选项] [XXX.tar.gz] [打包的文件或目录] - 常用选项:
- -c:产生.tar打包文件
- -x:解包.tar文件,extract
- -t:列出内容,不进行解压,list
- -z:打包同时通过gzip压缩
- -v:显示详细信息,verbose
- -f:指定压缩后的文件名,后面需要紧跟文件名
- 案例
- 压缩多个文件:
tar -zcvf pc.tar.gz hello.txt Hello.txt txts.txt多个文件中间用空格隔开 - 压缩指定目录:
tar -zcvf myhome.tar.gz .,.代表当前目录 - 查看压缩包内容:
tar -ztvf pc.tar.gz - 将 pc.tar.gz 解压到指定目录:
tar -zxvf pc.tar.gz -C /opt/tmp/,-C是切换目录的意思,默认解压到当前目录,并会覆盖掉当前目录的同名文件
- 压缩多个文件:
- 基本语法:
组管理和权限管理
见Linux操作系统相关知识md文档