Linux命令笔试题通常考察用户对Linux系统基础命令的掌握程度,包括文件操作、文本处理、系统监控、权限管理等多个方面,以下通过具体题目和解析,帮助读者深入理解常见Linux命令的使用场景和技巧。

在文件操作部分,常用命令包括ls、cd、cp、mv、rm等,题目要求“使用命令递归显示/var/log目录下所有文件及其权限,并将结果保存到filelist.txt中”,正确答案是ls -lR /var/log > filelist.txt。-l以长格式显示文件详细信息,-R递归遍历子目录,>用于重定向输出,若需追加内容而非覆盖,则应使用>>,另一个典型题目是“复制/etc/passwd文件到当前目录并重命名为user_info”,命令为cp /etc/passwd ./user_info,其中表示当前目录路径。
文本处理是笔试重点,涉及grep、sed、awk等工具。“过滤/etc/passwd文件中包含bash的行并显示行号”,可用grep -n "bash" /etc/passwd,若需同时显示匹配行前后各2行,则用grep -B2 -A2 "bash" /etc/passwd。sed命令常用于文本替换,如“将file.txt中所有old替换为new”可用sed -i 's/old/new/g' file.txt,其中-i表示直接修改文件。awk则适合按列处理,显示/etc/passwd文件的第1列和第6列(用户名和Shell)”,命令为awk -F: '{print $1, $6}' /etc/passwd,-F:指定以冒号为分隔符。
常用top、ps、df、du等命令。“查看当前系统中占用CPU最高的3个进程”,可用ps aux --sort=-%cpu | head -4(ps aux显示所有进程,--sort=-%cpu按CPU占用降序,head -4取前3行加标题行),磁盘空间检查中,“查看各文件系统的使用率”用df -h,-h以人类可读格式显示;“统计/home目录下各子目录大小”则用du -sh /home/* | sort -hr,-s汇总目录大小,sort -hr按大小降序排序。
涉及chmod、chown、umask等。“将script.sh文件权限设为所有者可读写执行,组用户和其他用户只读”,命令为chmod 744 script.sh,其中数字7(二进制111)对应读写执行,4(二进制100)对应只读,若需通过符号修改权限,可用chmod u=rwx,g=rx,o=r script.sh,更改文件所有者时,“将file.txt的所有者改为root组改为sudo”,命令为chown root:sudo file.txt。
网络相关命令如ping、netstat、ss也常出现。“测试与www.baidu.com的网络连通性”用ping -c 4 www.baidu.com,-c 4发送4个数据包。“查看当前监听的TCP端口”可用netstat -tuln或ss -tuln,-t显示TCP,-u显示UDP,-l仅显示监听端口,-n以数字形式显示地址和端口。
压缩与解压命令如tar、gzip、zip。“将/var/log目录打包并压缩为logs.tar.gz”,命令为tar -czvf logs.tar.gz /var/log,-c创建归档,-z调用gzip压缩,-v显示过程,-f指定文件名,解压时用tar -xzvf logs.tar.gz。

以下是部分常用命令的速查表,帮助记忆:
| 功能分类 | 命令示例 | 说明 |
|---|---|---|
| 文件列表 | ls -la |
显示所有文件详细信息,包括隐藏文件 |
| 复制文件 | cp -r src/ dest/ |
递归复制目录 |
| 查找文件 | find / -name "*.log" |
在根目录下查找所有.log文件 |
| 查看进程 | ps -ef |
显示所有进程的完整信息 |
| 磁盘使用 | du -sh * |
统计当前目录下各项目大小 |
相关问答FAQs:
-
问:如何查看一个文本文件的第10到20行?
答: 可以使用sed -n '10,20p' filename或tail -n +10 filename | head -n 11,前者通过sed的p选项打印指定行范围,后者通过tail从第10行开始输出,再用head截取前11行(包含第10行)。 -
问:如何批量重命名当前目录下的所有
.txt文件为.bak?
答: 可以使用for f in *.txt; do mv "$f" "${f%.txt}.bak"; done,该命令遍历所有.txt文件,利用参数扩展${f%.txt}去除文件名后缀.txt,再拼接.bak后缀实现重命名,注意文件名中的空格需用双引号包裹避免解析错误。
(图片来源网络,侵删)
