在Linux运维、开发等岗位的面试中,Linux命令的掌握程度是考察的核心能力之一,它不仅反映了候选人的实际操作经验,也体现了对系统底层逻辑的理解深度,以下从常用命令分类、高级技巧、面试高频考点及注意事项等方面展开详细说明。

文件与目录管理命令
文件操作是Linux最基础的功能,相关命令是面试的必考内容。
ls
:列出目录内容,常用选项包括-l
(长格式显示,包含权限、所有者、大小等)、-a
(显示隐藏文件)、-h
(以人类可读格式显示大小,如K
、M
)。ls -lah
可查看当前目录下所有文件(含隐藏)的详细信息,并按易读格式排序。cd
:切换目录,cd -
返回上一次目录,cd ~
进入当前用户家目录,cd ..
返回上级目录。pwd
:显示当前所在工作目录的完整路径,常与cd
配合使用。mkdir
:创建目录,-p
选项可递归创建多级目录(如mkdir -p /tmp/a/b/c
)。rm
:删除文件或目录,-r
递归删除目录,-f
强制删除(不提示),需谨慎使用,尤其是rm -rf /*
(危险操作,会导致系统文件被误删)。cp
:复制文件或目录,-r
复制目录,-p
保留文件属性(如权限、时间戳)。cp -r /home/user1 /backup/
将user1
整个目录复制到backup
。mv
:移动文件或目录,也可用于重命名(如mv old.txt new.txt
)。
面试考点:rm -rf
的风险及规避方法(如先ls
确认路径、使用alias rm='rm -i'
添加确认提示);cp
和mv
在跨文件系统时的差异(cp
会复制数据,mv
在同文件系统下仅修改inode,跨文件系统则等同于复制+删除)。
文本处理命令
文本处理能力是Linux运维的核心技能,尤其在大数据日志分析、配置文件修改中高频使用。
cat
:查看文件内容,适合小文件(如cat /etc/passwd
);-n
显示行号,-A
显示所有字符(含隐藏字符)。more
/less
:分页查看文件,less
支持前后翻页(空格
下翻,b
上翻)、搜索(),适合大文件。grep
:文本搜索,-i
忽略大小写,-v
反向匹配(如grep -v "root" /etc/passwd
),-n
显示行号,-E
支持扩展正则(如grep -E "^[0-9]" file
匹配以数字开头的行)。sed
:流编辑器,用于文本替换、删除、插入等。sed 's/old/new/g' file
(全局替换old
为new
);sed -i 's/^#//g' /etc/fstab
(取消fstab
中所有注释行的,-i
直接修改文件)。
awk
:列处理工具,基于字段和模式操作。awk -F: '{print $1, $NF}' /etc/passwd
(以为分隔符,打印每行的第1和最后1个字段);awk '$3>=1000 {print $1}' /etc/passwd
(打印UID大于等于1000的用户名)。
面试考点:grep
与egrep
的区别(egrep
等价于grep -E
,支持、等扩展正则);sed
的i
(插入)、a
(追加)、d
(删除)命令用法(如sed '2a test' file
在第2行后追加test
);awk
的BEGIN
和END
块(BEGIN{FS=":"} {print $1} END{print "done"}
)。

系统监控与管理命令
系统性能监控是运维日常工作,相关命令能帮助快速定位问题。
top
:实时显示进程状态,-u
指定用户(如top -u mysql
),-p
指定进程ID(如top -p 1234
);交互命令包括M
按内存排序、P
按CPU排序、q
退出。ps
:查看静态进程状态,-ef
显示所有进程(完整格式),-aux
显示所有进程并包含CPU/内存占用(BSD格式)。ps -ef | grep nginx
查看nginx相关进程。df
:查看磁盘空间使用情况,-h
以人类可读格式显示(如df -h
),-T
显示文件系统类型。du
:查看目录大小,-sh
显示总大小(如du -sh /var/log
),--max-depth=1
限制递归深度(如du -h --max-depth=1 /home
)。free
:查看内存使用情况,-h
以M
/G
为单位,-m
以MB
为单位(如free -h
)。
面试考点:top
中%CPU
和%MEM
的含义;df -h
与du -sh
的区别(前者是磁盘分区总容量,后者是目录实际占用空间);ps aux
中STAT
字段的状态码(如R
运行、S
睡眠、Z
僵尸进程)。
网络相关命令
网络故障排查是Linux运维的常见场景,需熟练掌握网络工具。
ifconfig
/ip
:查看/配置网络接口,ifconfig eth0 up/down
启用/禁用网卡,ip addr show
查看IP地址(现代Linux推荐ip
命令)。ping
:测试网络连通性,-c
指定发送包数量(如ping -c 4 8.8.8.8
),-i
设置间隔时间。netstat
/ss
:查看网络连接状态,-tuln
显示监听端口(如netstat -tuln | grep 80
),-a
显示所有连接,-p
显示进程ID(ss
是netstat
的替代品,性能更优)。curl
/wget
:下载文件或发起HTTP请求,curl -I www.baidu.com
查看HTTP响应头,wget -c file.zip
支持断点续传。ssh
:远程登录,-p
指定端口(如ssh -p 2222 user@192.168.1.100
),-i
指定私钥文件。
面试考点:netstat -tuln
与ss -tuln
的区别;curl
的-X POST
发送POST请求、-d
携带数据的用法(如curl -X POST -d "name=test" http://example.com/api
);ssh
密钥登录配置(生成密钥对ssh-keygen
,拷贝公钥ssh-copy-id
)。

权限与用户管理命令
Linux是多用户系统,权限管理是安全的基础。
chmod
:修改文件权限,rwx
分别对应4/2/1,添加权限、移除权限(如chmod 755 script.sh
,或chmod u+x script.sh
给用户添加执行权限)。chown
:修改文件所有者,-R
递归修改目录(如chown -R user1:group1 /data
)。useradd
/usermod
:创建/修改用户,-m
创建家目录(如useradd -m testuser
),-s
指定默认shell(如usermod -s /sbin/nologin testuser
禁用登录)。passwd
:修改用户密码,-l
锁定用户,-u
解锁(如passwd -l testuser
)。sudo
:以其他用户身份执行命令,需配置/etc/sudoers
文件(如testuser ALL=(ALL) /usr/bin/apt
授权testuser
使用apt
命令)。
面试考点:chmod 755
的含义(所有者rwx
,组用户和其他用户r-x
);chown
与chmod
的区别(前者改所有者,后者改权限);sudo
配置中的NOPASSWD
选项(如testuser ALL=(ALL) NOPASSWD: /bin/systemctl restart nginx
免密码执行)。
打包与压缩命令
Linux中常用.tar
、.gz
、.zip
等格式,需掌握对应命令。
tar
:打包/解包,-c
创建包,-x
解包,-v
显示过程,-f
指定文件名,-z
处理gzip
格式,-j
处理bzip2
格式。tar -czvf backup.tar.gz /home
(打包/home
并gzip压缩);tar -xzvf backup.tar.gz -C /tmp
(解压到/tmp
)。
zip
/unzip
:处理.zip
文件,zip -r archive.zip dir/
递归压缩目录,unzip archive.zip -d /tmp
解压到指定目录。
面试考点:tar
的czvf
与xzvf
区别(前者是gzip压缩,后者是bzip2压缩);tar
解压时是否需要保留原文件(解包默认保留,压缩时-c
会创建新文件)。
面试高频考点与注意事项
-
命令组合与管道:
面试常考察命令组合能力,如“查看nginx
进程的CPU占用率并排序”:ps aux | grep nginx | grep -v grep | awk '{print $3, $11}' | sort -nr
,需注意管道符将前一个命令的输出作为后一个命令的输入,grep -v grep
可过滤掉自身进程。 -
正则表达式:
grep
、sed
、awk
均依赖正则表达式,需掌握基础正则(任意字符、重复0次或多次、^
行首、行尾)和扩展正则(1次或多次、或、分组)。“过滤/var/log/messages
中包含error
或ERROR
的行”:grep -iE "error" /var/log/messages
。 -
生产场景问题排查:
- “磁盘空间不足如何排查?”:先用
df -h
查看分区占用,再用du -sh /*
逐级定位大目录,最后用find /var -type f -size +100M
查找大文件。 - “CPU占用100%如何处理?”:用
top
找到高CPU进程,若为java
进程,则jstack <pid> > jstack.log
分析线程堆栈;若为httpd
,则ps -efL | grep httpd
查看线程状态。
- “磁盘空间不足如何排查?”:先用
-
注意事项:
- 避免使用危险命令(如
rm -rf
、> /dev/null
)时未确认路径; - 熟悉
alias
(命令别名)和$PATH
(环境变量)的作用,如alias ll='ls -la'
仅对当前终端生效,export PATH=$PATH:/new/path
可添加临时路径。
- 避免使用危险命令(如
相关问答FAQs
Q1:Linux中&&
和的区别是什么?举例说明。
A:&&
表示“与”,前一条命令执行成功(返回0)时才执行后一条命令;表示“或”,前一条命令执行失败(返回非0)时才执行后一条命令。
mkdir /tmp/test && cd /tmp/test
(创建目录成功后进入,失败则不执行cd
);rm file.txt || echo "file not found"
(删除文件失败时输出提示)。
Q2:如何查看Linux系统负载?load average
三个数值分别代表什么?
A:使用uptime
或top
命令可查看系统负载,例如uptime
输出load average: 0.10, 0.20, 0.15
,这三个数值分别代表1分钟、5分钟、15分钟内的平均负载值,数值越低越好,一般不超过CPU核心数(如4核CPU负载超过4表示过载),若负载过高,需结合mpstat
查看CPU使用率、pidstat
分析进程占用情况。