linux的基本操作命令面试
linux的基本操作命令面试详细介绍
在 Linux 面试中,关于基本操作命令的问题通常会考察考生对常用命令的熟悉程度、实际应用场景以及命令组合能力。以下是高频考点及详细解析,帮助你系统梳理:
一、文件与目录操作(核心基础)
1.
文件 / 目录查看
ls:列出文件 / 目录- 常用选项:
-l(详细信息)、-a(显示隐藏文件)、-h(人性化大小显示)、-R(递归子目录) - 示例:
ls -lha /var/log(查看日志目录详细信息,含隐藏文件,带大小单位)
- 常用选项:
cd:切换目录- 特殊用法:
cd ~(用户主目录)、cd -(返回上一次目录)、cd ..(上级目录)
- 特殊用法:
pwd:显示当前工作目录
2.
文件内容查看
cat:显示文件内容(适合小文件)- 示例:
cat /etc/hosts(直接打印文件内容) - 扩展:
cat file1 file2 > merged.txt(合并文件)
- 示例:
more/less:分页查看(less支持搜索,按/关键词查找)- 示例:
less /var/log/syslog(交互式查看日志)
- 示例:
head/tail:查看文件开头 / 结尾- 选项:
-n 10(指定行数,默认 10 行)、tail -f(实时监控文件更新,如日志) - 示例:
tail -f /app/logs/server.log(实时追踪日志)
- 选项:
3.
文件 / 目录创建与删除
mkdir:创建目录- 选项:
-p(递归创建多级目录,如mkdir -p /data/logs)
- 选项:
rmdir:删除空目录(需配合rm -r删除非空目录)touch:创建空文件或更新文件时间戳rm:删除文件 / 目录- 选项:
-r(递归删除目录)、-f(强制删除,不询问) - 注意:
rm -rf /危险命令,谨慎使用!
- 选项:
4.
文件复制与移动
cp:复制文件 / 目录- 选项:
-r(复制目录)、-p(保留文件属性)、-a(归档,等价于-r -p) - 示例:
cp -r /src /dst(复制整个目录)
- 选项:
mv:移动文件 / 目录(重命名:mv old.txt new.txt)
二、权限管理(必考点)
1.
权限查看与修改
ls -l:查看权限(格式:-rwxr-xr--,分别对应文件类型、所有者 / 组 / 其他用户的权限)- 权限字符:
r(读)、w(写)、x(执行),-表示无权限。
- 权限字符:
chmod:修改权限- 符号模式:
chmod u+x file.sh(给所有者添加执行权限) - 数字模式:
chmod 755 dir(所有者:读 + 写 + 执行,组 / 其他用户:读 + 执行,对应rwxr-xr-x) - 特殊权限:
setuid(chmod u+s binary,如/usr/bin/sudo)、setgid、粘滞位(chmod o+t dir)
- 符号模式:
chown/chgrp:修改所有者 / 所属组- 示例:
chown root:root /etc/config.conf(设置所有者和组为 root)
- 示例:
三、文本处理与搜索(高频应用)
1.
文本搜索
grep:在文件中搜索关键词- 选项:
-i(不区分大小写)、-v(反向匹配,排除关键词)、-r(递归搜索目录) - 示例:
grep -r "error" /app/logs(在日志目录中搜索所有含 "error" 的行) - 进阶:结合管道
ps -ef | grep java(查找 Java 进程)
- 选项:
2.
文本处理
awk:按列处理文本(常用于日志分析)- 示例:
awk '{print $1}' access.log(打印第一列) - 统计 IP 出现次数:
awk '{print $1}' access.log | sort | uniq -c
- 示例:
sed:流编辑器,用于替换、删除等操作- 示例:
sed 's/old/new/g' file.txt(将文件中所有 "old" 替换为 "new") - 删除空行:
sed '/^$/d' file.txt
- 示例:
sort/uniq/wc:sort file.txt(排序)uniq -c(统计重复行次数)wc -l(统计行数)、wc -w(单词数)、wc -c(字节数)
四、进程管理(核心系统操作)
1.
进程查看
ps:静态查看进程- 常用:
ps -ef(全格式,显示所有用户进程)、ps aux(BSD 格式,含 CPU / 内存占用) - 过滤进程:
ps -ef | grep nginx
- 常用:
top/htop:动态监控进程(htop交互性更强,支持键盘操作)- 常用操作:按
M按内存排序,按P按 CPU 排序,按k终止进程
- 常用操作:按
lsof:查看打开的文件或端口(需 root 权限)- 示例:
lsof -i:80(查看占用 80 端口的进程)
- 示例:
2.
进程控制
kill:终止进程- 信号:
kill -9 PID(强制终止)、kill -15 PID(正常终止,默认信号) - 批量终止:
pkill -9 -f "java"(按进程名终止)
- 信号:
bg/fg:后台 / 前台运行进程- 后台运行:
command &(如tar -zcvf data.tar.gz /data &) - 恢复前台:
fg %1(%1 为作业编号,jobs查看所有后台作业)
- 后台运行:
nohup:让进程在后台运行,不受终端关闭影响- 示例:
nohup ./server.sh > log.out 2>&1 &(标准输出和错误输出重定向到 log.out)
- 示例:
五、网络与远程操作
1.
网络诊断
ping:测试网络连通性(ping -c 4 www.baidu.com发送 4 个包)ifconfig/ip:查看网络接口(推荐ip addr,新系统首选)netstat/ss:查看网络连接(ss -ltnp显示监听的 TCP 端口及进程)curl/wget:下载文件curl -O https://example.com/file.zip(下载并保留原名)wget -c url(断点续传)
2.
远程传输与登录
ssh:远程登录(ssh user@ip)- 免密登录:通过
ssh-keygen生成密钥,将公钥写入~/.ssh/authorized_keys
- 免密登录:通过
scp/sftp:传输文件scp local.txt user@ip:/remote/path(本地到远程)scp user@ip:/remote.txt local/(远程到本地)
rsync:高效同步文件(支持增量传输,rsync -avz /src/ user@ip:/dst/)
六、压缩与磁盘管理
1.
压缩解压
tar:打包压缩(常用格式:.tar.gz,.tar.bz2,.tar.xz)- 压缩:
tar -zcvf archive.tar.gz file1 dir1(-z: gzip 压缩,-c: 创建,-v: 显示过程,-f: 指定文件名) - 解压:
tar -zxvf archive.tar.gz -C /dst(-x: 解压,-C: 指定目录)
- 压缩:
gzip/gunzip:单独压缩文件(不打包目录,gzip file.txt生成file.txt.gz)
2.
磁盘与文件系统
df:查看磁盘空间(df -h以人性化格式显示)du:查看目录大小(du -sh /data查看目录总大小,-h带单位,-s汇总)mount/umount:挂载 / 卸载磁盘分区- 示例:
mount /dev/sdb1 /mnt/data(挂载分区到 /mnt/data) - 自动挂载:修改
/etc/fstab文件
- 示例:
fdisk:磁盘分区(需谨慎,生产环境操作前备份!)
七、实用工具与高级技巧
1.
管道与重定向
|:管道,将前一个命令的输出作为后一个命令的输入(如ls -l | grep .txt)>:覆盖重定向(command > output.txt)>>:追加重定向(command >> output.txt)2>:错误输出重定向(command 2> error.log)&>:合并标准输出和错误输出(command &> all.log)
2.
系统信息查看
uname:查看系统内核信息(uname -a显示全部)free:查看内存使用(free -h)date/cal:显示日期 / 日历(date +"%Y-%m-%d %H:%M:%S"自定义格式)
3.
查找命令与文件
which:查找命令路径(which ls显示ls的执行路径)whereis:查找文件(包括二进制、手册、源代码)find:强大的文件搜索工具- 示例:
- 按名称:
find /data -name "*.log" - 按大小:
find /var -size +1G(大于 1GB 的文件) - 按时间:
find . -mtime -7(7 天内修改的文件) - 执行操作:
find /tmp -name "tmpfile" -exec rm {} \;(删除匹配文件)
- 按名称:
- 示例:
八、面试常见问题示例
- 如何统计日志中某个 IP 出现的次数?
bashaccess.logaccess.log
- 如何终止一个占用大量 CPU 的进程?
- 用
top或ps -aux --sort=-%cpu找到 PID,然后kill -9 PID(强制终止)。
- 用
- 如何查看一个大文件的最后 100 行?
tail -n 100 largefile.txt - 如何将两个文件按列合并?
paste file1.txt file2.txt(按行合并,默认用制表符分隔) - 解释
chmod 777的含义,生产环境中是否推荐?- 777 表示所有者、组、其他用户都有读、写、执行权限(
rwxrwxrwx)。 - 生产环境不推荐,因为权限过大会导致安全风险,应按需分配(如 755 或 644)。
- 777 表示所有者、组、其他用户都有读、写、执行权限(
总结备考建议
- 分类记忆:按文件操作、权限、进程、网络等模块整理命令,结合实际场景理解用法。
- 动手实践:在 Linux 环境中反复练习,记录常用命令脚本(如日志分析、批量处理)。
- 关注细节:区分相似命令(如
rm -rvsrmdir,catvsless),熟悉选项缩写(如-vverbose,-hhuman-readable)。 - 结合案例:用具体问题(如 “如何查找最近修改的文件”)串联多个命令(
find + -mtime),展示综合能力。
通过以上梳理,可全面覆盖 Linux 基本操作命令的面试考点,同时展现对实际问题的解决能力。