在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分析进程占用情况。
