100条最高频Linux命令及使用方法
以下命令按使用场景分类排序,均为日常开发、运维最高频的核心命令,每个命令包含功能、语法、常用选项和实用示例。
一、文件与目录操作(20条)
1. ls
功能:列出目录下的文件和子目录
语法:ls [选项] [目录路径]
常用选项:
2. cd
功能:切换当前工作目录
语法:cd [目录路径]
常用用法:
cd /etc # 切换到/etc目录
cd ~ # 切换到当前用户家目录(等价cd)
cd .. # 切换到上一级目录
cd - # 切换到上一次所在的目录
cd / # 切换到根目录
3. pwd
功能:打印当前工作目录的绝对路径
语法:pwd
示例:执行后输出如 /home/user/documents
4. mkdir
功能:创建新目录
语法:mkdir [选项] 目录名
常用选项:
5. rmdir
功能:删除空目录
语法:rmdir [选项] 目录名
常用选项:-p 递归删除空的多级目录
示例:rmdir -p a/b/c 递归删除空的a/b/c目录链
6. rm
功能:删除文件或目录(危险命令,慎用)
语法:rm [选项] 文件/目录
常用选项:
7. cp
功能:复制文件或目录
语法:cp [选项] 源文件/目录 目标路径
常用选项:
8. mv
功能:移动文件/目录,或重命名
语法:mv [选项] 源 目标
常用选项:
9. touch
功能:创建空文件,或修改文件的时间戳
语法:touch [选项] 文件名
常用选项:
10. ln
功能:创建硬链接或软链接(符号链接)
语法:ln [选项] 源文件 链接名
常用选项:-s 创建软链接(不加则创建硬链接)
示例:
ln -s /etc/passwd pwd_link # 创建指向passwd的软链接
ln file.txt hard_link # 创建file.txt的硬链接
11. find
功能:在指定路径下查找文件/目录,功能极强
语法:find [搜索路径] [匹配条件] [动作]
常用条件:
12. locate
功能:基于系统数据库快速查找文件(比find快)
语法:locate [选项] 文件名
常用选项:-i 忽略大小写
示例:locate passwd 快速定位所有含passwd的文件路径
注意:首次使用前需执行updatedb更新数据库,系统一般会自动定时更新
13. file
功能:识别文件的类型和编码格式
语法:file [选项] 文件名
示例:file test.txt 输出文件的编码、类型等信息
14. stat
功能:查看文件的详细属性(大小、权限、三个时间戳等)
语法:stat [选项] 文件名
示例:stat file.txt 显示文件的访问/修改/状态改变时间、inode等信息
15. basename
功能:从路径中提取纯文件名
语法:basename 路径 [后缀]
示例:
basename /etc/passwd # 输出 passwd
basename /etc/passwd .wd # 输出 pas(去掉指定后缀)
16. dirname
功能:从路径中提取目录部分
语法:dirname 路径
示例:dirname /etc/passwd 输出 /etc
17. tree
功能:以树形结构显示目录层级
语法:tree [选项] [目录]
常用选项:
-L n:只显示n层目录
-d:只显示目录,不显示文件
示例:tree -L 2 /home 显示/home下两层的目录结构
注意:部分系统需先安装tree包
18. rename
功能:批量重命名文件
语法:rename 原字符串 新字符串 匹配文件
示例:rename .txt .bak *.txt 将所有txt文件后缀改为bak
19. readlink
功能:查看软链接指向的真实路径
语法:readlink [选项] 链接文件
常用选项:-f 显示完整的绝对路径
示例:readlink -f /usr/bin/python 输出python软链接的真实文件路径
20. in
不对,第20个是?哦,上面19个,补一个:20. realpath
20. realpath
功能:获取文件/目录的绝对路径(解析所有软链接)
语法:realpath 路径
示例:realpath ./file.txt 输出文件的完整绝对路径
二、文本查看与处理(18条)
21. cat
功能:查看文件内容、拼接多个文件
语法:cat [选项] 文件
常用选项:
22. more
功能:分页查看大文件(只能向下翻)
语法:more 文件名
操作:空格=下一页,回车=下一行,q=退出,/关键词=搜索
示例:more /var/log/syslog 分页查看系统日志
23. less
功能:增强版分页查看(支持上下翻页、搜索,更常用)
语法:less [选项] 文件名
常用操作:PageUp/PageDown翻页,/向下搜索,?向上搜索,n=下一个匹配,q=退出
常用选项:-N 显示行号
示例:less -N /var/log/nginx/access.log 带行号查看访问日志
24. head
功能:查看文件的开头部分
语法:head [选项] 文件
常用选项:
25. tail
功能:查看文件的结尾部分,支持实时追踪
语法:tail [选项] 文件
常用选项:
26. grep
功能:文本搜索工具,支持正则表达式,极高频
语法:grep [选项] 匹配模式 文件
常用选项:
27. sed
功能:流编辑器,用于文本替换、删除、插入、提取
语法:sed [选项] '编辑脚本' 文件
常用操作:
28. awk
功能:强大的文本处理语言,擅长按列处理数据
语法:awk [选项] '模式{动作}' 文件
内置变量:$1第1列,$0整行,NF列数,NR行号,-F指定分隔符
示例:
awk '{print $1}' file.txt # 打印每行第一列
awk -F: '{print $1,$3}' /etc/passwd # 以:为分隔符,打印第1和第3列
awk '$3>1000' /etc/passwd # 打印第3列大于1000的行
29. cut
功能:按列或字符切割文本
语法:cut [选项] 文件
常用选项:
30. sort
功能:对文本内容进行排序
语法:sort [选项] 文件
常用选项:
31. uniq
功能:去除连续的重复行(需先排序)
语法:uniq [选项] 文件
常用选项:
32. wc
功能:统计文件的行数、单词数、字节数
语法:wc [选项] 文件
常用选项:
33. tr
功能:字符转换、替换、删除
语法:tr [选项] 字符集1 [字符集2]
常用选项:
34. diff
功能:对比两个文件的差异
语法:diff [选项] 文件1 文件2
常用选项:-u 统一格式输出(更易读)
示例:diff -u old.txt new.txt 统一格式显示两个文件差异
35. split
功能:将大文件分割为多个小文件
语法:split [选项] 输入文件 输出前缀
常用选项:
36. tac
功能:反向查看文件内容(从最后一行到第一行)
语法:tac 文件名
示例:tac file.txt 倒序显示文件内容
37. nl
功能:查看文件并自动添加行号(比cat -n更灵活)
语法:nl [选项] 文件
示例:nl file.txt 显示文件并标注行号
38. paste
功能:按列合并多个文件
语法:paste [选项] 文件1 文件2
常用选项:-d 指定列之间的分隔符
示例:paste a.txt b.txt 将两个文件按列并排,默认用tab分隔
三、系统信息与监控(12条)
39. uname
功能:查看系统内核信息
语法:uname [选项]
常用选项:
-a:显示所有系统信息
-r:显示内核版本
-m:显示系统架构
示例:uname -r 输出内核版本号
40. hostname
功能:查看或临时设置主机名
语法:hostname [新主机名]
示例:
hostname # 查看当前主机名
hostname server01 # 临时修改主机名(重启失效)
41. uptime
功能:查看系统运行时间、用户数、平均负载
语法:uptime
示例:输出格式:当前时间 + 运行时长 + 在线用户数 + 1/5/15分钟平均负载
42. top
功能:实时监控系统进程、CPU、内存等资源
语法:top [选项]
常用操作:
P:按CPU使用率排序
M:按内存使用率排序
k:杀死指定进程
q:退出
常用选项:-d n 设置刷新间隔(秒)
示例:top -d 2 每2秒刷新一次
43. htop
功能:增强版top,界面更直观、支持鼠标操作
语法:htop
注意:需先安装htop包,是运维首选进程监控工具
44. free
功能:查看系统内存和交换分区使用情况
语法:free [选项]
常用选项:
-h:人性化显示大小
-m:以MB为单位
-g:以GB为单位
示例:free -h 清晰显示内存总量、已用、可用、缓存等
45. df
功能:查看磁盘分区空间使用情况
语法:df [选项]
常用选项:
-h:人性化显示大小
-T:显示文件系统类型
-i:显示inode使用情况
示例:df -hT 显示所有分区的容量、使用率、文件系统类型
46. du
功能:查看目录或文件占用的磁盘大小
语法:du [选项] [路径]
常用选项:
47. date
功能:查看或设置系统日期时间
语法:date [选项] [格式]
常用格式:+%Y-%m-%d %H:%M:%S 标准时间格式
示例:
date "+%Y-%m-%d %H:%M:%S" # 格式化输出当前时间
date -s "2025-01-01 12:00:00" # root用户设置系统时间
48. dmesg
功能:查看内核环形缓冲区日志(开机硬件、驱动信息)
语法:dmesg [选项]
常用选项:-T 显示人类可读的时间
示例:dmesg | grep eth0 查看网卡相关的内核日志
49. lscpu
功能:查看CPU详细硬件信息
语法:lscpu
示例:输出CPU核心数、线程数、架构、缓存大小等
50. lsblk
功能:树形查看所有块设备(磁盘、分区)信息
语法:lsblk
示例:清晰显示磁盘、分区、挂载点的层级关系
四、进程管理(10条)
51. ps
功能:查看系统进程快照(当前时刻的进程状态)
语法:ps [选项]
常用组合:
52. kill
功能:向进程发送信号(默认终止进程)
语法:kill [选项] PID
常用信号:
53. pkill
功能:按进程名批量终止进程
语法:pkill [选项] 进程名
常用选项:-9 强制杀死,-u 指定用户
示例:
pkill nginx # 终止所有nginx进程
pkill -9 -u testuser # 强制杀死testuser的所有进程
54. killall
功能:杀死所有同名进程
语法:killall [选项] 进程名
示例:killall httpd 终止所有httpd进程
55. nice
功能:启动进程时指定其优先级
语法:nice -n 优先级 命令
优先级范围:-20(最高)~ 19(最低),普通用户只能调0~19
示例:nice -n 10 ./script.sh 以优先级10运行脚本
56. renice
功能:调整正在运行的进程的优先级
语法:renice 优先级 PID
示例:renice -5 1234 将PID1234的优先级改为-5
57. nohup
功能:后台运行进程,退出终端后进程不挂断
语法:nohup 命令 [输出重定向] &
示例:
nohup ./script.sh > run.log 2>&1 &
# 后台运行脚本,标准输出和错误都写入run.log,退出终端不停止
58. jobs
功能:查看当前终端的后台任务列表
语法:jobs [选项]
示例:jobs 显示所有后台任务的编号、状态、命令
59. fg
功能:将后台任务调到前台运行
语法:fg %任务编号
示例:fg %1 将1号后台任务调到前台
60. bg
功能:将暂停的后台任务放到后台继续运行
语法:bg %任务编号
示例:bg %2 让2号暂停任务在后台继续运行
五、权限与用户管理(10条)
61. chmod
功能:修改文件/目录的权限
语法:chmod [选项] 权限模式 文件
权限表示:
62. chown
功能:修改文件/目录的所有者和所属组
语法:chown [选项] 所有者[:组] 文件
常用选项:-R 递归修改
示例:
chown user:group file.txt # 修改所有者和所属组
chown -R www-data /var/www # 递归修改目录所有者
63. chgrp
功能:修改文件/目录的所属组
语法:chgrp [选项] 组名 文件
常用选项:-R 递归修改
示例:chgrp dev team.txt 将文件所属组改为dev
64. useradd
功能:创建新用户
语法:useradd [选项] 用户名
常用选项:
-m:自动创建用户家目录
-s:指定登录shell
-g:指定主用户组
-G:指定附加用户组
示例:useradd -m -s /bin/bash zhangsan 创建zhangsan用户并创建家目录
65. userdel
功能:删除用户
语法:userdel [选项] 用户名
常用选项:-r 删除用户的家目录和邮件
示例:userdel -r zhangsan 删除用户并删除其家目录
66. passwd
功能:修改用户密码
语法:passwd [用户名]
示例:
passwd # 修改当前用户密码
passwd zhangsan # root修改指定用户的密码
67. su
功能:切换到其他用户
语法:su [选项] 用户名
常用选项:- 切换时加载目标用户的环境变量和家目录
示例:
su - root # 切换到root并加载完整环境
su testuser # 切换到testuser但不加载环境
68. sudo
功能:以超级用户(root)权限执行命令
语法:sudo [选项] 命令
常用选项:-u 指定以哪个用户身份执行
示例:
sudo apt update # 以root权限执行更新
sudo -u nginx command # 以nginx用户身份执行命令
69. groupadd
功能:创建新的用户组
语法:groupadd 组名
示例:groupadd devteam 创建devteam用户组
70. id
功能:查看用户的UID、GID和所属的所有组
语法:id [用户名]
示例:id root 查看root用户的ID信息
六、网络工具(10条)
71. ping
功能:测试网络连通性和延迟
语法:ping [选项] 目标地址
常用选项:
-c n:发送n个数据包后停止
-i n:发送间隔n秒
-s n:设置数据包大小
示例:ping -c 4 baidu.com 发送4个包测试百度连通性
72. ip
功能:新一代网络配置工具(替代ifconfig)
语法:ip [选项] 对象 命令
常用子命令:
73. ifconfig
功能:传统网络配置工具(部分系统需安装net-tools)
语法:ifconfig [网卡] [配置]
示例:
ifconfig # 查看所有启用的网卡
ifconfig eth0 192.168.1.100 netmask 255.255.255.0 # 临时设置IP
74. ss
功能:查看网络连接状态(替代netstat,性能更高)
语法:ss [选项]
常用选项:
-t:显示TCP连接
-u:显示UDP连接
-l:显示监听端口
-n:数字形式显示(不解析域名)
-p:显示进程名和PID
示例:ss -tlnp 查看所有TCP监听端口及对应进程
75. netstat
功能:传统网络连接查看工具
语法:netstat [选项]
常用组合:-tulnp 查看所有监听的TCP/UDP端口和进程
示例:netstat -tulnp
76. curl
功能:命令行网络请求工具,支持HTTP/FTP等
语法:curl [选项] URL
常用选项:
77. wget
功能:命令行文件下载工具
语法:wget [选项] URL
常用选项:
78. ssh
功能:SSH远程安全登录
语法:ssh [选项] 用户@主机地址
常用选项:
79. scp
功能:基于SSH的远程文件复制
语法:scp [选项] 源 目标
常用选项:
80. nslookup
功能:DNS域名查询工具
语法:nslookup 域名
示例:nslookup baidu.com 查询百度域名对应的IP地址
七、压缩与打包(8条)
81. tar
功能:打包/解包工具,支持多种压缩格式
语法:tar [选项] 包名 [文件/目录]
常用选项组合:
-czvf:打包 + gzip压缩
-xzvf:解压gzip包
-cjvf:打包 + bzip2压缩
-xJvf:解压xz包
-C:指定解压到的目录
注:-f必须放在选项最后,指定包文件名
示例:
tar -czvf pack.tar.gz dir/ # 将dir目录打包并gzip压缩
tar -xzvf pack.tar.gz # 解压到当前目录
tar -xzvf pack.tar.gz -C /tmp # 解压到/tmp目录
82. zip
功能:创建zip格式压缩包
语法:zip [选项] 包名 文件/目录
常用选项:-r 递归压缩目录
示例:
zip pack.zip f1.txt f2.txt # 压缩多个文件
zip -r pack.zip dir/ # 压缩整个目录
83. unzip
功能:解压zip格式压缩包
语法:unzip [选项] 包名
常用选项:
84. gzip
功能:gzip格式压缩/解压
语法:gzip [选项] 文件
常用选项:
85. gunzip
功能:解压gzip文件(等价于gzip -d)
语法:gunzip 文件.gz
示例:gunzip file.txt.gz
86. bzip2
功能:bzip2格式压缩/解压(压缩率比gzip高)
语法:bzip2 [选项] 文件
常用选项:-d 解压
示例:
bzip2 file.txt # 压缩为file.txt.bz2
bzip2 -d file.txt.bz2 # 解压
87. xz
功能:xz格式压缩/解压(高压缩率)
语法:xz [选项] 文件
常用选项:-d 解压
示例:
xz file.txt # 压缩为file.txt.xz
xz -d file.txt.xz # 解压
88. zcat
功能:直接查看gzip压缩的文本文件,无需解压
语法:zcat 文件.gz
示例:zcat access.log.gz 直接查看压缩的日志文件
八、软件包管理(5条)
89. apt
功能:Debian/Ubuntu系列发行版的包管理工具
常用子命令:
90. yum
功能:CentOS 7/RHEL 7及以前的包管理工具
常用子命令:
yum install 包名:安装
yum remove 包名:卸载
yum update:升级
yum search 关键词:搜索
示例:sudo yum install httpd 安装Apache
91. dnf
功能:CentOS 8+/RHEL 8+新一代包管理工具(替代yum)
语法与yum完全兼容,性能更优
示例:sudo dnf install nginx
92. rpm
功能:RedHat系列底层RPM包管理工具
常用选项:
93. dpkg
功能:Debian系列底层DEB包管理工具
常用选项:
九、其他基础实用命令(7条)
94. echo
功能:输出文本或变量内容
语法:echo [选项] 内容
常用选项:-e 支持转义字符
示例:
echo "Hello World" # 输出字符串
echo $PATH # 输出环境变量PATH的值
echo -e "line1\nline2" # 输出带换行的内容
95. history
功能:查看执行过的命令历史
语法:history [选项]
常用用法:
history # 显示所有历史命令
history -c # 清空历史命令
!100 # 执行第100条历史命令
96. man
功能:查看命令的官方帮助手册
语法:man 命令名
操作:空格翻页,q退出,/搜索
示例:man ls 查看ls命令的完整帮助文档
97. which
功能:查找命令的可执行文件路径
语法:which 命令名
示例:which python 输出python命令的绝对路径
98. clear
功能:清屏(清空终端当前显示)
语法:clear
快捷键等价于 Ctrl + L
99. alias
功能:设置命令别名,简化长命令
语法:alias 别名='命令'
示例:
alias ll='ls -l' # 设置ll为ls -l的别名
alias # 查看所有已设置的别名
注意:临时设置,关闭终端失效;永久生效需写入~/.bashrc
100. time
功能:统计命令执行的时间
语法:time 命令
示例:time sleep 2 统计sleep命令的执行耗时
需要我把这100条命令整理成速查清单版(只保留命令+核心用法,方便打印)吗?