Skip to main content
Version: Next

Linux 高频常用命令

本篇是笔试题重灾区:文件操作、文本查看与处理三剑客、进程 / 网络 / 资源查看、打包压缩、定时任务、软件安装。面试笔试经常直接要求「写出统计某文件行数的命令」「写出查找大文件的命令」,必须熟练到能默写。

1. 文件操作​

命令用途常用示例
ls列出目录内容ls -la(含隐藏文件 + 详细信息)
cd切换目录cd ~ 回家目录,cd - 回上个目录
cp复制cp -r src dst(复制目录必须加 -r)
mv移动 / 重命名mv old.txt new.txt
rm删除rm -rf dir(生产环境慎用,先确认路径)
mkdir创建目录mkdir -p a/b/c(多级目录一次创建)
touch创建空文件 / 更新时间戳touch a.txt
stat查看文件详细元信息stat a.txt(含 inode、三个时间戳)
du查看目录/文件占用的磁盘大小du -sh /var/log
df查看分区整体磁盘使用率df -h

高频对比 du vs df: du 统计文件实际占用大小(面向文件),df 统计文件系统分区使用情况(面向分区)。排查「磁盘满了」先 df 定位分区,再 du 找大目录。

2. 文本查看​

命令用途
cat一次性输出整个文件(小文件)
more / less分页查看,less 支持上下翻页和搜索(推荐)
head看文件开头,head -n 20 前 20 行
tail看文件结尾,tail -n 100 末 100 行

tail -f 与 tail -F 的区别(高频笔试)​

  • tail -f:跟踪文件的文件描述符,持续输出新增内容;文件被删除后停止跟踪,即使重建同名文件也不会继续。
  • tail -F:跟踪文件名,文件被删除重建后仍会继续跟踪。

使用场景: 看日志滚动(logrotate 会重命名日志文件)时用 tail -F,否则日志切割后 tail -f 会一直盯着旧文件。

3. 文本处理(三剑客 + 辅助命令)​

命令定位一句话说明
grep过滤按正则/关键字筛选行
sed流式编辑替换、删除、插入行
awk文本分析按列处理、统计汇总
sort排序-n 数字排序,-r 逆序,-k 指定列
uniq去重只合并相邻重复行,通常先 sort 再 uniq;uniq -c 统计重复次数
cut截取字段-d 指定分隔符,-f 指定列
wc统计wc -l 统计行数,-w 单词数,-c 字符数

必背组合(笔试经典):

# 统计 access.log 中每个 IP 出现次数,取前 10 名
awk '{print $1}' access.log | sort | uniq -c | sort -rn | head -10

# 统计文件行数
wc -l access.log

# grep 常用:忽略大小写、显示行号、递归搜索目录
grep -i error app.log
grep -n "500" app.log
grep -r "listen" /etc/nginx/

# sed 替换(全局替换关键字)
sed -i 's/8080/9090/g' config.yaml

# awk 取第 1 列并打印行号
awk '{print NR, $1}' data.txt

4. 进程查看​

命令说明
ps -ef全格式列出所有进程(System V 风格),常配合管道:ps -ef | grep nginx
ps auxBSD 风格,能直接看到 CPU / 内存占用百分比
top实时动态查看进程资源占用,按 P 按 CPU 排序、M 按内存排序,q 退出

5. 网络命令​

命令用途
ip addr / ip a查看 IP 地址(替代老的 ifconfig)
ss -tlnp查看端口监听状态及对应进程(替代老的 netstat)
curl发起 HTTP 请求测试接口,curl -I 只看响应头
wget下载文件
ping测试网络连通性
traceroute追踪数据包经过的路由路径
tcpdump抓包分析,如 tcpdump -i eth0 port 80

排查某端口是否监听: ss -tlnp | grep 3306——面试常答「用 netstat」,建议答 ss 并说明它更快、是现代替代品。

6. 资源查看​

命令用途
free -h查看内存使用;注意 buff/cache 是系统缓存、不算真实占用,看 available 字段判断可用内存
vmstat查看内存、swap、IO、CPU 综合状态
iostat查看磁盘 IO 统计
uptime查看开机时长与负载均值(1 / 5 / 15 分钟)
dmesg查看内核日志(硬件报错、OOM 杀进程记录都在这)

7. 打包压缩:tar​

tar -zcvf backup.tar.gz /data # 打包并压缩
tar -zxvf backup.tar.gz # 解压
tar -zxvf backup.tar.gz -C /target # 解压到指定目录

参数记忆: z=gzip 压缩,c=创建包,x=解包,v=显示过程,f=指定文件名(必须放最后紧跟文件名)。经典口诀「zcvf 打包,zxvf 解压」。

8. 定时任务:crontab​

格式口诀:分 时 日 月 周 命令(五个时间位 + 命令):

crontab -e # 编辑当前用户的定时任务
crontab -l # 查看定时任务列表

# 每天 2:00 执行备份脚本
0 2 * * * /opt/scripts/backup.sh

# 每 5 分钟执行一次
*/5 * * * * /opt/scripts/check.sh

特殊符号: * 任意值、*/5 每 5 个单位、1-5 范围、1,3,5 列表。

9. 软件安装​

方式命令特点
yum(Red Hat 系)yum install nginx自动解决依赖,最常用
dnfdnf install nginxyum 的下一代替代
apt(Debian 系)apt install nginxUbuntu / Debian 使用
源码安装./configure → make → make install三步走

源码安装面试考点:

  • 优点:可以自定义编译参数(如指定安装路径、开启 / 关闭特定模块),版本可选最新。
  • 缺点:升级、卸载麻烦(没有包管理器记录,文件分散,需要手动清理),需要自行解决依赖。

本篇速记​

  • du 看文件大小、df 看分区使用率;磁盘排查先 df 再 du。
  • tail -f 跟踪描述符(文件删了就停),tail -F 跟踪文件名(重建后继续)。
  • 三剑客定位:grep 过滤、sed 编辑、awk 按列分析;sort | uniq -c | sort -rn | head 是 Top N 万能模板。
  • ps aux 能看 CPU/内存占用;ss -tlnp 查端口监听。
  • free -h 看 available,buff/cache 不是真实占用。
  • tar 口诀「zcvf 打包、zxvf 解压」;crontab「分 时 日 月 周」。
  • 源码安装三步 ./configure → make → make install,优自定义、劣在难升级卸载。