作为一名Linux用户或运维工程师,熟练掌握Linux命令行是面试中的核心竞争力之一。无论是查看系统状态、管理文件、配置网络,还是排查问题,Linux命令行工具都能让你事半功倍。本文将为你详细梳理面试中常见的Linux命令,涵盖文件操作、进程管理、系统监控、网络配置、权限管理等多个维度,力求全面且实用。文章不仅会介绍命令的用法,还会结合实际场景说明如何在工作中应用,助你在面试中脱颖而出!
文件与目录操作
文件和目录操作是Linux的基础,面试中常考的命令包括查看、创建、删除、移动等操作。
1. ls - 列出目录内容
列出当前目录或指定目录下的文件和子目录。
常用选项:
ls -lah /var/log上述命令会列出/var/log目录下所有文件(包括隐藏文件),以长格式显示,并将文件大小转换为易读单位。
面试官可能让你列出某个目录下的所有文件,包括隐藏文件,或者要求你解释ls -l输出中每一列的含义(如drwxr-xr-x表示目录,权限为755)。
2. cd - 切换目录
切换到指定目录。
常用用法:
cd /path/to/dir:切换到指定路径。cd ..:返回上一级目录。cd ~:返回用户家目录。cd -:返回上一次所在目录。
cd /etc/nginxcd ..切换到/etc/nginx目录后,退回到上层目录/etc。
面试官可能要求你快速切换到某个复杂路径,或者结合pwd命令确认当前目录。
3. pwd - 显示当前工作目录
打印当前所在目录的绝对路径。
pwd输出:/root
常用于调试或确认脚本运行时的当前路径。
4. mkdir - 创建目录
创建新目录。
常用选项:
-p:递归创建目录(如果父目录不存在,自动创建)。
mkdir -p /tmp/test/dir1/dir2创建嵌套目录结构,即使父目录不存在也不会报错。
面试官可能要求你创建一个多级目录,或者解释-p选项的作用。
5. rm - 删除文件或目录
删除指定文件或目录。
常用选项:
-r:递归删除目录及其内容。-f:强制删除,不提示确认。
示例:
rm -rf /tmp/test删除/tmp/test目录及其所有内容。
rm -rf非常危险,误删可能导致数据丢失,面试中可能被问到如何安全删除文件(建议用trash命令替代,或先用ls确认)。
面试官可能问你如何批量删除以.log结尾的文件,或者如何避免误删系统关键文件。
6. cp - 复制文件或目录
复制文件或目录到指定位置。
常用选项:
-r:递归复制目录。-p:保留文件属性(如权限、时间戳)。
示例:
cp -r /etc/nginx /backup/nginx将/etc/nginx目录递归复制到/backup/nginx。
可能被要求复制配置文件并保留权限,或者解释如何覆盖目标文件。
7. mv - 移动或重命名文件/目录
移动文件或目录到新位置,或重命名。
常用选项:
-i:提示是否覆盖目标文件。
mv file1.txt /tmp/file2.txt将file1.txt移动到/tmp并重命名为file2.txt。
面试官可能让你批量重命名文件,或者移动文件到不存在的目录(会报错)。
8. find - 查找文件
在指定目录下查找文件或目录。
常用选项:
-name:按文件名查找(支持通配符)。-type:指定文件类型(如f表示文件,d表示目录)。-exec:对查找结果执行命令。
示例:
find /var/log -name "*.log" -type f -mtime +7查找/var/log下7天前修改的.log文件。
面试官可能要求你查找某个目录下大于100MB的文件,或者结合exec删除过期文件。
9. touch - 创建空文件或更新时间戳
创建空文件或更新文件的时间戳。
touch test.txt创建空文件test.txt。
可能被要求创建一个临时文件,或者解释如何更新文件时间戳。
文件内容操作
在Linux中,查看和编辑文件内容是常见任务,以下命令在面试中经常出现:
10. cat - 查看文件内容
显示文件内容到标准输出。
常用选项:
-n:显示行号。
cat -n /etc/passwd显示/etc/passwd内容并带行号。
可能被要求快速查看配置文件内容,或解释cat与less的区别。
11. less / more - 分页查看文件
分页显示文件内容,适合查看大文件。
常用操作(less):
/:搜索关键字。q:退出。
cd /etc/nginxcd ..0面试官可能让你查看日志文件的最后几行(tail更合适)或搜索特定内容。
12. head / tail - 查看文件开头/结尾
head显示文件开头,tail显示文件结尾。
常用选项:
-n:指定显示的行数。-f(tail专属):实时监控文件变化。
cd /etc/nginxcd ..1实时查看Nginx访问日志。
面试官常要求你监控日志或提取文件的前10行。
13. grep - 搜索文件内容
在文件中搜索匹配的字符串。
常用选项:
-i:忽略大小写。-r:递归搜索目录。-n:显示行号。-v:显示不匹配的行。
cd /etc/nginxcd ..2在/var/log目录下递归搜索包含“error”的行。
可能被要求查找日志中的错误信息,或结合管道过滤特定内容。
14. awk - 文本处理利器
按列处理文本,提取特定字段。
cd /etc/nginxcd ..3提取/etc/passwd的第一列(用户名)和第三列(UID)。
面试官可能让你解析日志文件,提取特定列数据。
15. sed - 流编辑器
用于文本替换、删除、插入等操作。
cd /etc/nginxcd ..4将file.txt中的“old”替换为“new”。
可能要求批量替换配置文件中的某字符串。
进程管理
进程管理是Linux运维的核心,面试中常考如何查看、杀死或管理进程。
16. ps - 查看进程
显示当前系统进程。
常用选项:
aux:显示所有用户进程。-ef:显示详细进程信息。
cd /etc/nginxcd ..5查看Nginx相关的进程。
可能被要求列出某个服务的进程,或者解释ps aux输出中的字段(如%CPU、PID)。
17. mkdir -p /tmp/test/dir1/dir27 / cd /etc/nginxcd ..6 - 实时监控进程
mkdir -p /tmp/test/dir1/dir27实时显示系统进程,cd /etc/nginxcd ..6是更友好的替代工具。
常用操作(mkdir -p /tmp/test/dir1/dir27):
q:退出。k:杀死指定PID的进程。
cd /etc/nginxcd ..6面试官可能让你找出占用CPU最高的进程。
18. kill / killall - 终止进程
kill通过PID终止进程,killall通过进程名终止。
常用信号:
-9(SIGKILL):强制杀死进程。-15(SIGTERM):优雅终止进程。
cd /etc/nginxcd ..7可能被要求安全终止某个进程,或者解释不同信号的区别。
19. jobs / fg / bg - 管理后台任务
管理在当前终端运行的后台任务。
cd /etc/nginxcd ..8将sleep 100放到后台运行,查看任务列表,再将任务1切换到前台。
可能被要求演示如何管理长时间运行的任务。
系统监控
了解系统资源使用情况是运维工程师的必备技能,以下命令常用于监控。
20. df - 查看磁盘使用情况
显示磁盘使用量。
常用选项:
-h:以人类可读格式显示。
cd /etc/nginxcd ..9可能被要求检查某个分区是否快满。
21. du - 查看目录或文件大小
统计指定目录或文件的磁盘使用量。
常用选项:
-sh:以人类可读格式显示总大小。
pwd0查看/var/log下每个文件或目录的大小。
可能被要求找出占用空间最大的目录。
22. free - 查看内存使用情况
显示系统内存和交换分区使用情况。
常用选项:
-h:人类可读格式。
pwd1面试官可能让你解释内存中的buff/cache字段。
23. pwd2 - 查看系统运行时间
显示系统运行时间和负载。
pwd2输出:10:00:00 up 5 days, 2:30, 3 users, load average: 0.15, 0.20, 0.25
可能被要求解释负载平均值(load average)的含义。
网络相关
网络配置和调试是Linux工程师的必备技能,以下命令在面试中很常见。
24. ping - 测试网络连通性
测试与目标主机的网络连通性。
pwd3向baidu.com发送4个ICMP包。
可能被要求测试网络是否通畅,或解释ping的输出。
25. netstat / ss - 查看网络状态
显示网络连接、监听端口等信息。
常用选项(ss):
-tuln:显示TCP/UDP监听端口。
pwd4可能被要求列出某个端口是否被占用。
26. curl / wget - 下载或请求网络资源
curl用于发送HTTP请求,wget用于下载文件。
pwd5下载文件到当前目录。
可能被要求测试API接口或下载文件。
27. ifconfig / ip - 配置网络接口
查看或配置网络接口信息。
pwd6查看所有网络接口的IP地址。
可能被要求查看本机IP或配置临时IP。
权限管理
Linux权限管理是面试重头戏,以下命令不可忽视。
28. chmod - 修改文件权限
修改文件或目录的权限。
常用方式:
数字表示:如 755(所有人可读可执行,拥有者可写)。符号表示:如 u+x(给文件拥有者添加执行权限)。
pwd7可能被要求设置脚本为可执行,或解释权限数字含义。
29. chown - 修改文件所有者
更改文件或目录的所有者和所属组。
常用选项:
-R:递归修改目录。
pwd8可能被要求将目录所有权交给某个用户。
30. sudo - 以管理员权限执行命令
以root或其他用户权限运行命令。
pwd9可能被问到如何安全使用sudo,或如何编辑/etc/sudoers。
其他实用命令
31. tar - 打包与压缩
打包或解压文件。
常用选项:
-c:创建归档。-x:提取归档。-z:使用gzip压缩。-f:指定文件名。
mkdir -p /tmp/test/dir1/dir20将/var/www打包并压缩为backup.tar.gz。
可能被要求备份某个目录或解压文件。
32. crontab - 定时任务
管理定时任务。
常用选项:
-e:编辑定时任务。-l:列出当前用户的任务。
mkdir -p /tmp/test/dir1/dir21添加:0 2 * * * /backup.sh(每天凌晨2点运行备份脚本)。
可能被要求设置一个定时任务或解释cron表达式。
33. man - 查看命令帮助
查看命令的详细手册。
mkdir -p /tmp/test/dir1/dir22面试官可能问你如何快速查找命令用法。
场景面试
面试中常会遇到综合问题。
场景1:查找并清理过期日志文件
问题:服务器磁盘空间不足,要求找出/var/log目录下7天前修改的.log文件,列出它们的大小,并安全删除。
解答:
查找过期日志文件:
mkdir -p /tmp/test/dir1/dir23-type f:仅查找文件。-name "*.log":匹配以.log结尾的文件。-mtime +7:查找7天前修改的文件。-exec ls -lh {} ;:列出文件详细信息(如大小、权限)。
确认文件列表:
在删除前,建议将文件列表保存到临时文件中,以便检查:
mkdir -p /tmp/test/dir1/dir24安全删除:
为避免误删,可先将文件移动到临时目录:
mkdir -p /tmp/test/dir1/dir25确认无误后删除:
mkdir -p /tmp/test/dir1/dir26面试注意:面试官可能追问如何确保不误删关键日志,建议提到备份或使用trash命令(需安装trash-cli)。
场景2:排查高CPU占用进程
问题:服务器性能下降,CPU占用过高,请找出占用CPU最高的进程并终止。
解答:
查看进程:
使用mkdir -p /tmp/test/dir1/dir27或cd /etc/nginxcd ..6查看实时进程:
mkdir -p /tmp/test/dir1/dir27按 P键按CPU占用排序,找到占用最高的进程,记下其PID。
确认进程详情:
使用ps查看进程详细信息:
mkdir -p /tmp/test/dir1/dir28输出进程ID、父进程ID、命令和CPU占用百分比。
终止进程:
优先尝试优雅终止:
mkdir -p /tmp/test/dir1/dir29如果进程未结束,使用强制终止:
rm -rf /tmp/test0验证:
再次运行mkdir -p /tmp/test/dir1/dir27确认进程已终止。
面试注意:面试官可能问kill -15和kill -9的区别(前者优雅终止,允许进程清理资源;后者强制终止,可能导致数据丢失)。
场景3:批量修改文件内容
问题:/etc/nginx/conf.d/下所有配置文件中的listen 80需改为listen 8080,如何实现?
解答:
备份文件:
为安全起见,先备份配置文件:
rm -rf /tmp/test1查找并替换:
使用sed批量替换:
rm -rf /tmp/test2验证修改:
检查是否替换成功:
rm -rf /tmp/test3重启服务:
应用更改:
rm -rf /tmp/test4面试注意:面试官可能问如何处理正则表达式中的复杂替换,或如何在替换前预览更改(可使用sed -n测试)。
场景4:监控实时日志
问题:Nginx服务运行异常,要求实时监控/var/log/nginx/error.log中的错误信息。
解答:
实时查看日志:
使用tail -f监控日志:
rm -rf /tmp/test5过滤错误信息:
如果只关注包含“error”的行:
rm -rf /tmp/test6--line-buffered确保实时输出。
高级过滤(可选):
使用awk提取特定字段,如时间和错误信息:
rm -rf /tmp/test7面试注意:面试官可能要求解释grep的--line-buffered选项,或如何结合less搜索历史日志。
场景5:检查磁盘空间并释放
问题:服务器提示磁盘空间不足,检查使用情况并释放空间。
解答:
检查磁盘使用:
cd /etc/nginxcd ..9查看各分区使用率,找到接近100%的分区(如/dev/sda1)。
查找大文件或目录:
检查占用空间最大的目录:
rm -rf /tmp/test9sort -hr:按大小倒序排序。head -n 5:显示前5个最大目录。
清理大文件:
假设发现/var/log/app.log过大,先备份:
cp -r /etc/nginx /backup/nginx0清空日志:
cp -r /etc/nginx /backup/nginx1验证:
再次运行cd /etc/nginxcd ..9确认空间释放。
面试注意:面试官可能问如何自动化清理,或如何避免清空正在写入的日志(可用logrotate)。
场景6:配置定时任务
问题:每天凌晨2点自动备份/var/www目录到/backup/www_YYYYMMDD.tar.gz。
解答:
编写备份脚本:
创建脚本/scripts/backup.sh:
cp -r /etc/nginx /backup/nginx2最后一行删除30天前的备份。
赋予执行权限:
cp -r /etc/nginx /backup/nginx3配置定时任务:
编辑crontab:
mkdir -p /tmp/test/dir1/dir21添加:
cp -r /etc/nginx /backup/nginx5验证:
检查定时任务:
cp -r /etc/nginx /backup/nginx6次日检查/backup目录是否有新文件。
面试注意:面试官可能问cron表达式格式,或如何调试定时任务失败(如检查/var/log/cron)。
场景7:检查网络连通性
问题:服务器无法访问外部网站baidu.com,排查网络问题。
解答:
测试连通性:
pwd3若失败,尝试解析域名:
cp -r /etc/nginx /backup/nginx8检查网络接口:
pwd6确认网络接口(如eth0)是否有IP地址。
检查路由:
mv file1.txt /tmp/file2.txt0确认默认网关是否存在。
检查DNS:
查看/etc/resolv.conf:
mv file1.txt /tmp/file2.txt1若无有效DNS,临时添加:
mv file1.txt /tmp/file2.txt2面试注意:面试官可能问如何排查防火墙问题(用iptables -L或firewall-cmd --list-all)。
场景8:设置文件权限
问题:将/var/www/html目录设置为用户www-data所有,权限为755,所有子文件权限为644。
解答:
更改所有者:
mv file1.txt /tmp/file2.txt3设置目录权限:
mv file1.txt /tmp/file2.txt4设置文件权限:
mv file1.txt /tmp/file2.txt5验证:
mv file1.txt /tmp/file2.txt6面试注意:面试官可能问755和644的含义,或如何处理特殊权限(如setuid)。
场景9:查找并终止占用端口的进程
问题:端口80被占用,导致Nginx无法启动,找出并终止占用进程。
解答:
查找占用端口的进程:
mv file1.txt /tmp/file2.txt7或:
mv file1.txt /tmp/file2.txt8获取PID:
假设输出显示PID为12345。
终止进程:
mv file1.txt /tmp/file2.txt9若无效:
find /var/log -name "*.log" -type f -mtime +70验证:
mv file1.txt /tmp/file2.txt7面试注意:面试官可能问如何避免端口冲突,或如何检查服务是否正常启动(systemctl status nginx)。
场景10:解析日志提取信息
问题:从/var/log/nginx/access.log提取最近100次访问的IP和URL。
解答:
查看日志格式:
find /var/log -name "*.log" -type f -mtime +72假设日志格式为:IP - - [时间] "GET URL HTTP/1.1" 状态码 ...
提取IP和URL:
find /var/log -name "*.log" -type f -mtime +73$1:IP地址。$7:请求的URL(根据日志格式调整字段)。
保存结果:
find /var/log -name "*.log" -type f -mtime +74面试注意:面试官可能要求更复杂的解析(如按状态码过滤),需熟悉awk和grep的组合使用。
希望这些场景面试题目和答案能帮你在Linux面试中游刃有余!继续练习,祝你面试成功!
支持就在看
一键四连,你的技术也四连
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……




还没有评论,来说两句吧...