当前位置:首页>Linux>Linux常见命令速查手册:100+条高频命令一网打尽

Linux常见命令速查手册:100+条高频命令一网打尽

  • 2026-11-03 23:03:00
Linux常见命令速查手册:100+条高频命令一网打尽

一、文件与目录操作(天天用,必须肌肉记忆)

命令
作用
常用示例
ls
列出目录内容
ls -lh  # 人性化显示大小
ls -la  # 含隐藏文件
ls -lt  # 按时间排序
cd
切换目录
cd /home  # 绝对路径
cd ..  # 返回上级
cd -  # 回到上次目录
cp
复制文件/目录
cp file.txt /tmp/
cp -r dir1 dir2  # 递归复制目录
mv
移动/重命名
mv old.txt new.txt  # 重命名
mv file.txt /tmp/  # 移动
rm
删除文件/目录
rm file.txt
rm -rf dir/  # ⚠️递归强删,慎用!
rm -i *.log  # 逐个确认
mkdir
创建目录
mkdir -p a/b/c  # 递归创建
touch
创建空文件/更新时间
touch newfile.txt
find
查找文件(超强)
find / -name "*.log"
find . -type f -size +100M
find . -mtime -1  # 1天内修改的

二、文件查看与编辑(排查问题第一步)

命令
作用
常用示例
cat
查看整个文件
cat file.txt
cat -n file.txt  # 带行号
tail
查看末尾(看日志神器)
tail -f app.log  # 🔥实时追踪日志
tail -100f app.log  # 最后100行+实时
tail -n 50 file  # 最后50行
head
查看开头
head -20 file.txt  # 前20行
less
分页查看(大文件)
less bigfile.log
# j/k 上下翻行,/ 搜索,q 退出
grep
文本搜索(最高频)
grep "ERROR" app.log
grep -rn "keyword" ./  # 🔥递归+行号
grep -i "error" log  # 忽略大小写
grep -v "DEBUG" log  # 排除含DEBUG的行
grep -A 3 "ERROR" log  # 匹配行后3行
wc
统计行数/单词/字节
wc -l file.txt  # 行数
cat log | grep ERROR | wc -l  # 错误数
vim
文件编辑
vim file.txt  # i插入,esc退出编辑
:wq 保存退出  :q! 不保存退出
/keyword 搜索  :%s/old/new/g 全局替换

三、权限管理(面试常问:rwx是什么意思?)

权限格式:rwx rwx rwx → 所有者 | 同组 | 其他用户
r=4(读),w=2(写),x=1(执行)
755 = 所有者rwx(7) + 同组r-x(5) + 其他r-x(5)
644 = 所有者rw-(6) + 同组r--(4) + 其他r--(4)

命令
作用
常用示例
chmod
修改文件权限
chmod 755 script.sh
chmod +x deploy.sh  # 加执行权限
chmod -R 644 /var/www/  # 递归
chown
修改文件所有者
chown user:group file.txt
chown -R nginx:nginx /var/www/
sudo
以管理员执行
sudo systemctl restart nginx
sudo su -  # 切换root

四、进程管理(服务挂了怎么排查?)

命令
作用
常用示例
ps
查看进程
ps aux | grep nginx  # 🔥查nginx进程
ps -ef | grep java  # 查java进程
ps aux --sort=-%mem | head  # 按内存排序
top
实时进程监控
top  # 类似任务管理器
# P=按CPU排序 M=按内存排序
# 1=显示各CPU核心
htop
增强版top(更直观)
htop  # 需安装 yum/apt install htop
kill
终止进程
kill -9 12345  # 强杀PID
kill -15 12345  # 优雅终止
killall nginx  # 按名称杀
nohup
后台运行(关终端不中断)
nohup java -jar app.jar > log.out 2>&1 &
# 🔥后台运行jar包,日志写入log.out
systemctl
服务管理
systemctl start nginx  # 启动
systemctl stop nginx  # 停止
systemctl restart nginx  # 重启
systemctl status nginx  # 查看状态
systemctl enable nginx  # 开机自启

五、网络排查(线上出问题最先用的命令)

命令
作用
常用示例
netstat
查看网络连接/端口
netstat -tlnp  # 🔥查看监听端口
netstat -anp | grep 8080  # 查8080端口
# 注意:CentOS7+用ss替代
ss
netstat替代品(更快)
ss -tlnp  # 查看监听端口
ss -s  # 连接数统计
lsof
查看端口/文件占用
lsof -i:8080  # 🔥谁占了8080端口
lsof -p 1234  # PID打开的文件
curl
HTTP请求/测试接口
curl http://localhost:8080/api
curl -X POST -d '{"k":"v"}' -H 'Content-Type:application/json' url
curl -I url  # 只看响应头
ping
测试网络连通性
ping 192.168.1.1
ping -c 4 baidu.com  # 发4个包
telnet
测试端口连通性
telnet 192.168.1.1 3306  # 🔥测MySQL端口通不通
wget
下载文件
wget https://example.com/file.tar.gz
wget -c url  # 断点续传

六、磁盘与内存(磁盘满了/内存爆了怎么办?)

命令
作用
常用示例
df
查看磁盘使用情况
df -h  # 🔥人性化显示各分区
df -h /home  # 看指定分区
du
查看目录大小
du -sh /var/log  # 🔥看某目录总大小
du -sh * | sort -rh | head  # 找最大目录
free
查看内存使用
free -h  # 🔥人性化显示内存
# available才是真正可用内存!
# buff/cache是可回收的
iostat
磁盘IO性能
iostat -x 1  # 每秒刷新,看%util
# %util接近100%说明磁盘瓶颈
vmstat
虚拟内存/系统状态
vmstat 1 5  # 每秒1次共5次
# r列 > CPU核数 = CPU瓶颈
# si/so持续 > 0 = 内存不足在交换

七、打包与压缩(部署传输必备)

命令
作用
常用示例
tar
打包/解包(最常用)
# 🔥记住 zcvf / zxvf 即可
tar -zcvf app.tar.gz app/  # 打包+gzip压缩
tar -zxvf app.tar.gz  # 解压
tar -zxvf app.tar.gz -C /opt/  # 解压到指定目录
tar -tf app.tar.gz  # 查看内容不解压
zip/unzip
zip格式压缩/解压
zip -r app.zip app/
unzip app.zip -d /opt/
scp
远程传输文件
scp file.txt user@192.168.1.1:/tmp/
scp -r dir/ user@host:/path/  # 传目录
scp user@host:/file .  # 从远程拉取
rz/sz
本地↔服务器上传下载
rz  # 上传(需安装lrzsz)
sz file.txt  # 下载到本地

八、系统信息与其他常用命令

命令
作用
常用示例
uname
查看系统信息
uname -a  # 内核版本等全部信息
uname -r  # 内核版本号
date
查看/设置时间
date '+%Y-%m-%d %H:%M:%S'
whoami
当前用户名
whoami  # 输出如 root
hostname
主机名
hostname  # 查看主机名
hostname -I  # 查看IP
crontab
定时任务
crontab -e  # 编辑定时任务
crontab -l  # 查看定时任务
# 格式:分 时 日 月 周 命令
# 例:0 2 * * * /opt/backup.sh  # 每天凌晨2点
history
命令历史
history | grep nginx  # 搜历史命令
!!  # 执行上一条命令
!123  # 执行第123条历史
which
查找命令位置
which java  # /usr/bin/java
which nginx  # /usr/sbin/nginx
man
命令手册
man ls  # 查看ls完整手册
ls --help  # 简版帮助

九、高频组合技(面试/实战直接用)

场景
命令组合
实时看日志报错
tail -f app.log | grep --color=auto ERROR
查端口占用
netstat -tlnp | grep 8080 或 lsof -i:8080
杀掉占用8080的进程
kill -9 $(lsof -t -i:8080)
找大文件(>100M)
find / -type f -size +100M -exec ls -lh {} \;
统计文件中ERROR行数
grep -c "ERROR" app.log 或 grep "ERROR" app.log | wc -l
查看CPU占用前5进程
ps aux --sort=-%cpu | head -5
查看内存占用前5进程
ps aux --sort=-%mem | head -5
批量替换文件内容
sed -i 's/old/new/g' *.conf
统计当前目录文件数
ls -l | grep "^-" | wc -l
查看指定时间段日志
sed -n '/2026-07-01 10:00/,/2026-07-01 11:00/p' app.log

附:tar 参数速记口诀

压缩:tar -zcvf app.tar.gz app/ → c = Create(创建)
解压:tar -zxvf app.tar.gz → x = eXtract(提取)
查看:tar -ztf app.tar.gz → t = lisT(列出)

四个固定字母:z(gzip)v(显示过程)f(指定文件名)
记住三个动词:c压 / x解 / t看 → 一辈子忘不了

写在最后

Linux命令不用全背,记住高频的20%就能覆盖日常80%的场景。面试官最关心的不是你会多少命令,而是你遇到问题知道用哪个命令排查:

📞服务起不来→ systemctl status / journalctl -u
📞端口被占→ lsof -i:端口 / netstat -tlnp
📞磁盘满了→ df -h → du -sh * → 找大文件删除
📞内存爆了→ free -h → top → 找占用最多的进程
📞日志报错→ tail -f | grep ERROR
📞网络不通→ ping → telnet → curl

这套排查思路比背100条命令更有价值。建议收藏本文,遇到问题当字典查。

—— 🍀七七不吃糖 · 持续分享 IT 从业者必备硬技能 ——

最新文章

随机文章