linux面试题

以下是50道Linux面试题及答案,涵盖基础到进阶内容,适用于不同级别的Linux岗位面试:


一、基础命令与系统操作

  1. 题目:如何查看当前系统的发行版信息?
    答案cat /etc/os-releaselsb_release -a

  2. 题目uname -a 的作用是什么?
    答案:显示系统内核版本、主机名、架构等信息,例如 Linux hostname 5.4.0-xxx #xx~yy-xxx x86_64.

  3. 题目:如何统计当前目录下所有文件的总大小?
    答案du -sh .du -sh *.

  4. 题目pwd 命令的输出结果是什么?
    答案:显示当前工作目录的绝对路径,例如 /home/user/documents.

  5. 题目cd ~cd 的区别是什么?
    答案cd ~ 进入当前用户的主目录,cd 不带参数时同样进入主目录。


二、文件与权限管理

  1. 题目:如何修改文件 file.txt 的权限为 rw-r--r--
    答案chmod 644 file.txt.

  2. 题目chown user:group file.txt 的作用是什么?
    答案:将 file.txt 的所有者改为 user,所属组改为 group.

  3. 题目umask 022 的含义是什么?
    答案:设置默认权限掩码,新创建文件的权限为 755(目录)或 644(文件)。

  4. 题目:如何查找 /var/log 目录下所有以 .log 结尾的文件?
    答案find /var/log -name "*.log".

  5. 题目ln -s /path/to/file link_name 的作用是什么?
    答案:创建指向 /path/to/file 的软链接(Symbolic Link),名称为 link_name.


三、进程与服务管理

  1. 题目:如何查看系统中所有正在运行的进程?
    答案ps auxtop.

  2. 题目kill -9 PID 的作用是什么?
    答案:强制终止进程号为 PID 的进程,-9 表示发送 SIGKILL 信号。

  3. 题目:如何重启 nginx 服务?
    答案systemctl restart nginxservice nginx restart.

  4. 题目ps -ef | grep javapgrep java 的区别是什么?
    答案:前者显示所有包含 java 的进程详细信息,后者仅输出进程ID。

  5. 题目:如何让命令在后台运行?
    答案:在命令末尾添加 &,例如 python script.py &.


四、网络与系统配置

  1. 题目:如何查看本机IP地址?
    答案ip aifconfig.

  2. 题目netstat -tuln 的作用是什么?
    答案:显示所有监听中的TCP和UDP端口及服务。

  3. 题目:如何将文件 file.txt 上传到远程服务器?
    答案scp file.txt user@remote_host:/path/.

  4. 题目/etc/hosts 文件的作用是什么?
    答案:用于本地主机名与IP地址的映射配置。

  5. 题目:如何查看当前系统的路由表?
    答案ip routeroute -n.


五、文本处理与脚本

  1. 题目:如何查找文件中包含关键词 error 的行?
    答案grep error filename.

  2. 题目awk '{print $1}' file.txt 的作用是什么?
    答案:打印 file.txt 每行的第一个字段。

  3. 题目:如何统计文件中单词的出现频率?
    答案tr -c '[:alnum:]' '\n' < file.txt | sort | uniq -c.

  4. 题目:编写一个循环打印数字1到5的Bash脚本。
    答案

    for i in {1..5}; do echo $i; done
    
  5. 题目sed 's/old/new/g' file.txt 的作用是什么?
    答案:将 file.txt 中所有 old 替换为 new.


六、系统维护与优化

  1. 题目:如何查看磁盘使用情况?
    答案df -h.

  2. 题目free -m 的输出包含哪些信息?
    答案:显示内存总量、已用、空闲及缓冲/缓存内存(单位MB)。

  3. 题目:如何清理 /var/log 目录下的旧日志?
    答案journalctl --vacuum-time=1d 或手动删除 *.log 文件。

  4. 题目top 命令中 RESVIRT 的区别是什么?
    答案VIRT 是进程虚拟内存大小,RES 是实际占用的物理内存。

  5. 题目:如何限制用户的最大内存使用?
    答案:使用 ulimit -m 设置软限制,或修改 /etc/security/limits.conf.


七、高级命令与工具

  1. 题目crontab -e 的作用是什么?
    答案:编辑当前用户的定时任务配置文件。

  2. 题目:如何查看命令的执行时间?
    答案time command,例如 time ls -l /.

  3. 题目rsync 的作用是什么?
    答案:快速同步文件或目录,支持本地和远程传输,可压缩和增量备份。

  4. 题目vmstat 命令的用途是什么?
    答案:监控系统整体性能(CPU、内存、IO等)。

  5. 题目:如何挂载一个ISO文件?
    答案mount -o loop /path/to/file.iso /mnt/.


八、安全与权限

  1. 题目sudosu 的区别是什么?
    答案sudo 以目标用户权限执行命令,需输入密码;su 切换用户身份(如切到root)。

  2. 题目:如何设置SSH密钥登录?
    答案:生成密钥对 ssh-keygen,将公钥复制到服务器 ssh-copy-id user@host.

  3. 题目chattr +i file 的作用是什么?
    答案:设置文件为只读(不可修改),+i 表示强制免疫修改。

  4. 题目:如何查看文件的SELinux上下文?
    答案ls -Z file.

  5. 题目iptables -L 的作用是什么?
    答案:列出当前iptables防火墙规则。


九、系统启动与故障排查

  1. 题目runlevel 命令的输出含义是什么?
    答案:显示当前系统运行级别(如3表示多用户文本模式,5表示图形界面)。

  2. 题目:如何查看系统启动日志?
    答案dmesg | lessjournalctl -b.

  3. 题目fsck 的作用是什么?
    答案:检查并修复文件系统错误。

  4. 题目:如何进入单用户模式?
    答案:在启动时按 GRUB 编辑键,添加 single1 到内核参数。

  5. 题目dmesg | tail 的用途是什么?
    答案:查看最近的系统日志(如硬件驱动加载信息)。


十、综合应用与场景题

  1. 题目:如何查找占用端口8080的进程并杀死它?
    答案

    lsof -i :8080
    kill -9 PID
    
  2. 题目:如何备份 /etc 目录并压缩为 etc_backup.tar.gz
    答案tar -czvf etc_backup.tar.gz /etc.

  3. 题目top 命令中按 M 键的作用是什么?
    答案:按内存使用量排序进程。

  4. 题目:如何将本地文件夹同步到远程服务器并保留权限?
    答案rsync -avz --progress local_dir user@remote:/path/.

  5. 题目:编写一个脚本自动清理 /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.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

teayear

读后有收获可以获取更多资源

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值