【linux面试一般会问到什么】在Linux相关的岗位面试中,无论是运维、开发还是系统工程师,面试官通常会围绕Linux操作系统的基础知识、命令使用、系统管理、安全配置等方面进行提问。以下是对常见问题的总结,并以表格形式呈现,便于理解和记忆。
一、Linux基础概念
| 问题 | 简要回答 |
| 1. Linux是什么? | 一种开源、类Unix的操作系统内核,由林纳斯·托瓦兹开发,支持多用户、多任务和网络功能。 |
| 2. Linux有哪些常见的发行版? | 常见的有Ubuntu、CentOS、Debian、Fedora、Arch Linux等。 |
| 3. Linux与Windows的主要区别? | Linux是开源、多用户、多任务;Windows是闭源、单用户、图形化界面为主。 |
| 4. 什么是Shell? | Shell是用户与内核交互的命令行解释器,如Bash、Zsh等。 |
二、常用命令与操作
| 问题 | 简要回答 |
| 5. 如何查看当前目录? | `pwd` 命令 |
| 6. 如何查看文件内容? | `cat`, `less`, `more`, `head`, `tail` 等 |
| 7. 如何查找文件? | `find` 和 `locate` 命令 |
| 8. 如何查看系统内存使用情况? | `free -h` 或 `top` |
| 9. 如何查看CPU信息? | `lscpu` 或 `/proc/cpuinfo` |
| 10. 如何查看磁盘空间? | `df -h` 和 `du -sh` |
| 11. 如何修改文件权限? | `chmod` 命令(如:`chmod 755 filename`) |
| 12. 如何查看进程? | `ps`, `top`, `htop`, `pgrep` 等 |
| 13. 如何查看系统日志? | `journalctl`(systemd系统)或 `/var/log/` 下的相关文件 |
| 14. 如何查看网络连接? | `netstat`, `ss`, `lsof` 等 |
| 15. 如何查看IP地址? | `ip a` 或 `ifconfig`(旧版) |
三、系统管理与服务
| 问题 | 简要回答 |
| 16. 如何启动/停止服务? | `systemctl start/stop/restart service_name` |
| 17. 如何查看服务状态? | `systemctl status service_name` |
| 18. 如何设置开机自启? | `systemctl enable service_name` |
| 19. 如何查看系统运行时间? | `uptime` 或 `who -b` |
| 20. 如何挂载硬盘? | 使用 `mount` 命令,或配置 `/etc/fstab` |
| 21. 如何查看系统版本? | `cat /etc/os-release` 或 `uname -a` |
| 22. 如何安装软件? | `apt install`(Debian/Ubuntu)、`yum install`(CentOS)、`dnf install`(Fedora)等 |
四、权限与安全
| 问题 | 简要回答 |
| 23. Linux的权限分为哪几类? | 读(r)、写(w)、执行(x) |
| 24. 如何更改文件所有者? | `chown` 命令 |
| 25. 什么是SUID? | 允许用户以文件所有者的权限运行程序 |
| 26. 什么是sudo? | 提供临时管理员权限执行命令,需配置 `/etc/sudoers` |
| 27. 如何防止root登录? | 修改 `/etc/ssh/sshd_config` 中的 `PermitRootLogin` 为 `no` |
五、网络与防火墙
| 问题 | 简要回答 |
| 28. 如何配置静态IP? | 编辑 `/etc/netplan/.yaml`(Ubuntu)或 `/etc/sysconfig/network-scripts/ifcfg-eth0`(CentOS) |
| 29. 如何查看开放端口? | `netstat -tuln` 或 `ss -tuln` |
| 30. 如何查看DNS配置? | `cat /etc/resolv.conf` |
| 31. 如何配置防火墙? | `iptables`(传统)或 `firewalld`(CentOS 7+) |
| 32. 如何查看路由表? | `ip route` 或 `netstat -rn` |
六、脚本与自动化
| 问题 | 简要回答 |
| 33. 如何编写Shell脚本? | 使用 `!/bin/bash` 开头,保存为 `.sh` 文件并赋予执行权限 |
| 34. 如何实现循环? | 使用 `for`, `while`, `until` 循环结构 |
| 35. 如何处理参数? | 使用 `$1`, `$2` 等获取脚本参数 |
| 36. 如何实现条件判断? | 使用 `if`, `then`, `else`, `fi` 结构 |
| 37. 如何定时执行任务? | 使用 `cron` 或 `systemd timer` |
总结
Linux面试中,掌握基本命令、系统管理和安全配置是关键。同时,理解系统原理、脚本编写和网络配置能力也非常重要。通过不断实践和积累经验,可以更从容地应对各类Linux相关岗位的面试。
如需进一步深入某个方向,可结合具体岗位需求进行专项学习。


