以下是50道Linux面试题及答案,涵盖基础到进阶内容,适用于不同级别的Linux岗位面试:
一、基础命令与系统操作
-
题目:如何查看当前系统的发行版信息?
答案:cat /etc/os-release
或lsb_release -a
-
题目:
uname -a
的作用是什么?
答案:显示系统内核版本、主机名、架构等信息,例如Linux hostname 5.4.0-xxx #xx~yy-xxx x86_64
. -
题目:如何统计当前目录下所有文件的总大小?
答案:du -sh .
或du -sh *
. -
题目:
pwd
命令的输出结果是什么?
答案:显示当前工作目录的绝对路径,例如/home/user/documents
. -
题目:
cd ~
和cd
的区别是什么?
答案:cd ~
进入当前用户的主目录,cd
不带参数时同样进入主目录。
二、文件与权限管理
-
题目:如何修改文件
file.txt
的权限为rw-r--r--
?
答案:chmod 644 file.txt
. -
题目:
chown user:group file.txt
的作用是什么?
答案:将file.txt
的所有者改为user
,所属组改为group
. -
题目:
umask 022
的含义是什么?
答案:设置默认权限掩码,新创建文件的权限为755
(目录)或644
(文件)。 -
题目:如何查找
/var/log
目录下所有以.log
结尾的文件?
答案:find /var/log -name "*.log"
. -
题目:
ln -s /path/to/file link_name
的作用是什么?
答案:创建指向/path/to/file
的软链接(Symbolic Link),名称为link_name
.
三、进程与服务管理
-
题目:如何查看系统中所有正在运行的进程?
答案:ps aux
或top
. -
题目:
kill -9 PID
的作用是什么?
答案:强制终止进程号为PID
的进程,-9
表示发送SIGKILL
信号。 -
题目:如何重启
nginx
服务?
答案:systemctl restart nginx
或service nginx restart
. -
题目:
ps -ef | grep java
和pgrep java
的区别是什么?
答案:前者显示所有包含java
的进程详细信息,后者仅输出进程ID。 -
题目:如何让命令在后台运行?
答案:在命令末尾添加&
,例如python script.py &
.
四、网络与系统配置
-
题目:如何查看本机IP地址?
答案:ip a
或ifconfig
. -
题目:
netstat -tuln
的作用是什么?
答案:显示所有监听中的TCP和UDP端口及服务。 -
题目:如何将文件
file.txt
上传到远程服务器?
答案:scp file.txt user@remote_host:/path/
. -
题目:
/etc/hosts
文件的作用是什么?
答案:用于本地主机名与IP地址的映射配置。 -
题目:如何查看当前系统的路由表?
答案:ip route
或route -n
.
五、文本处理与脚本
-
题目:如何查找文件中包含关键词
error
的行?
答案:grep error filename
. -
题目:
awk '{print $1}' file.txt
的作用是什么?
答案:打印file.txt
每行的第一个字段。 -
题目:如何统计文件中单词的出现频率?
答案:tr -c '[:alnum:]' '\n' < file.txt | sort | uniq -c
. -
题目:编写一个循环打印数字1到5的Bash脚本。
答案:for i in {1..5}; do echo $i; done
-
题目:
sed 's/old/new/g' file.txt
的作用是什么?
答案:将file.txt
中所有old
替换为new
.
六、系统维护与优化
-
题目:如何查看磁盘使用情况?
答案:df -h
. -
题目:
free -m
的输出包含哪些信息?
答案:显示内存总量、已用、空闲及缓冲/缓存内存(单位MB)。 -
题目:如何清理
/var/log
目录下的旧日志?
答案:journalctl --vacuum-time=1d
或手动删除*.log
文件。 -
题目:
top
命令中RES
和VIRT
的区别是什么?
答案:VIRT
是进程虚拟内存大小,RES
是实际占用的物理内存。 -
题目:如何限制用户的最大内存使用?
答案:使用ulimit -m
设置软限制,或修改/etc/security/limits.conf
.
七、高级命令与工具
-
题目:
crontab -e
的作用是什么?
答案:编辑当前用户的定时任务配置文件。 -
题目:如何查看命令的执行时间?
答案:time command
,例如time ls -l /
. -
题目:
rsync
的作用是什么?
答案:快速同步文件或目录,支持本地和远程传输,可压缩和增量备份。 -
题目:
vmstat
命令的用途是什么?
答案:监控系统整体性能(CPU、内存、IO等)。 -
题目:如何挂载一个ISO文件?
答案:mount -o loop /path/to/file.iso /mnt/
.
八、安全与权限
-
题目:
sudo
和su
的区别是什么?
答案:sudo
以目标用户权限执行命令,需输入密码;su
切换用户身份(如切到root)。 -
题目:如何设置SSH密钥登录?
答案:生成密钥对ssh-keygen
,将公钥复制到服务器ssh-copy-id user@host
. -
题目:
chattr +i file
的作用是什么?
答案:设置文件为只读(不可修改),+i
表示强制免疫修改。 -
题目:如何查看文件的SELinux上下文?
答案:ls -Z file
. -
题目:
iptables -L
的作用是什么?
答案:列出当前iptables防火墙规则。
九、系统启动与故障排查
-
题目:
runlevel
命令的输出含义是什么?
答案:显示当前系统运行级别(如3表示多用户文本模式,5表示图形界面)。 -
题目:如何查看系统启动日志?
答案:dmesg | less
或journalctl -b
. -
题目:
fsck
的作用是什么?
答案:检查并修复文件系统错误。 -
题目:如何进入单用户模式?
答案:在启动时按GRUB
编辑键,添加single
或1
到内核参数。 -
题目:
dmesg | tail
的用途是什么?
答案:查看最近的系统日志(如硬件驱动加载信息)。
十、综合应用与场景题
-
题目:如何查找占用端口8080的进程并杀死它?
答案:lsof -i :8080 kill -9 PID
-
题目:如何备份
/etc
目录并压缩为etc_backup.tar.gz
?
答案:tar -czvf etc_backup.tar.gz /etc
. -
题目:
top
命令中按M
键的作用是什么?
答案:按内存使用量排序进程。 -
题目:如何将本地文件夹同步到远程服务器并保留权限?
答案:rsync -avz --progress local_dir user@remote:/path/
. -
题目:编写一个脚本自动清理
/tmp
目录下7天前的文件。
答案:find /tmp -type f -mtime +7 -exec rm {} \;
答案速查表
- 权限相关:
chmod
,chown
,umask
. - 网络工具:
ip
,netstat
,scp
. - 文本处理:
grep
,awk
,sed
. - 进程管理:
ps
,top
,kill
. - 系统优化:
df
,free
,vmstat
.