Linux 常见面试题汇总
在当今数字化时代,Linux 作为一种开源、稳定且高效的操作系统,在服务器领域占据着举足轻重的地位。无论是运维工程师、开发人员还是系统管理员,掌握 Linux 相关知识都成为了必备技能。这篇博客将为大家汇总一些常见的 Linux 面试题,帮助大家更好地应对面试。
一、Linux 基础概念
1. 什么是 Linux?
Linux 是一种类 Unix 的开源操作系统内核,它最初由芬兰人林纳斯・托瓦兹(Linus Torvalds)开发。Linux 操作系统基于 Linux 内核,并结合了各种自由软件和工具,形成了完整的操作系统。其特点包括开源、多用户、多任务、稳定性高、安全性强等。
2. Linux 有哪些常见的发行版?
常见的 Linux 发行版有 Ubuntu、Debian、CentOS、Red Hat Enterprise Linux(RHEL)、Fedora、Arch Linux 等。每个发行版都有其特点和适用场景,例如 Ubuntu 以易用性和丰富的软件源著称,适合新手和桌面用户;CentOS 是基于 RHEL 源代码编译的社区版,稳定性高,常用于服务器环境。
二、Linux 常用命令
1. 如何查看文件内容?
- cat:用于查看文件的全部内容,如cat file.txt。
- more:分页查看文件内容,按空格键翻页,按q键退出,如more file.txt。
- less:与more类似,但功能更强大,支持向前向后翻页,搜索等操作,如less file.txt。
- head:查看文件的前几行,默认前 10 行,如head -n 20 file.txt查看前 20 行。
- tail:查看文件的后几行,默认后 10 行,如tail -n 15 file.txt查看后 15 行,还可以使用tail -f实时跟踪文件的新增内容。
2. 如何创建、删除和移动文件 / 目录?
- 创建文件:使用touch命令,如touch newfile.txt。
- 创建目录:使用mkdir命令,如mkdir newdir,若要创建多级目录可使用mkdir -p parentdir/childdir。
- 删除文件:使用rm命令,如rm file.txt,若要删除目录及其所有内容,使用rm -rf dir(-r表示递归删除,-f表示强制删除,不提示确认)。
- 移动文件 / 目录:使用mv命令,如mv file.txt /newdir/将文件移动到新目录,mv olddir newdir可重命名目录。
三、文件权限与用户管理
1. 简述 Linux 文件权限的含义?
Linux 文件权限分为读(r)、写(w)、执行(x)三种权限,分别对应数字 4、2、1。每个文件和目录都有所有者、所属组和其他用户三种身份的权限设置。例如,权限表示为rwxr-xr-x,则所有者拥有读、写、执行权限,所属组和其他用户只有读和执行权限。可以使用chmod命令来修改文件权限,如chmod 755 file.txt(所有者有读、写、执行权限,所属组和其他用户有读和执行权限) 。
2. 如何添加、删除用户和修改用户密码?
- 添加用户:使用useradd命令,如useradd newuser,添加用户时可同时指定用户组等参数,如useradd -g users newuser将用户添加到users组。
- 删除用户:使用userdel命令,如userdel newuser,若要同时删除用户的家目录,使用userdel -r newuser。
- 修改用户密码:使用passwd命令,如passwd newuser,普通用户使用passwd命令可修改自己的密码,root 用户可修改任意用户密码。
四、进程管理
1. 如何查看当前运行的进程?
可以使用ps命令,如ps aux查看所有用户的所有进程,ps -ef也有类似功能,两者略有差异。top命令可以动态实时查看系统进程状态,类似于 Windows 的任务管理器,按q键退出。
2.Linux上如何查询某个端口是否被占用?
在Linux上,你可以使用以下几种方法来查询某个端口是否被占用:
使用netstat命令:
netstat -tuln | grep <端口号>
这个命令会列出当前正在运行的所有TCP和UDP端口,并过滤出指定端口是否被占用。如果端口被占用,会显示对应的PID和程序名称。
使用ps命令结合grep命令:
ps -aux | grep <端口号>
这个命令会列出所有正在运行的进程,并过滤出包含指定端口号的进程信息。通过查看对应的PID和程序名称,可以判断该端口是否被占用。
3. 如何杀死进程?
使用kill命令,首先通过ps等命令获取进程 ID(PID),然后使用kill PID来终止进程。如果进程比较顽固,可使用kill -9 PID强制杀死进程(-9是信号值,代表强制终止)。
五、网络配置
1. 如何查看网络配置信息?
在 Linux 中,使用ifconfig命令(在较新的系统中逐渐被ip命令替代)查看网络接口配置信息,如 IP 地址、子网掩码等。ip addr show命令可显示更详细的网络地址信息,route命令用于查看路由表。
2. 如何设置静态 IP?
不同的 Linux 发行版设置方式略有不同,以 CentOS 为例,编辑网络配置文件,如/etc/sysconfig/network-scripts/ifcfg-eth0(根据实际网卡名称修改),修改其中的BOOTPROTO为static,并添加IPADDR、NETMASK、GATEWAY等参数来设置静态 IP 地址、子网掩码和网关。修改完成后,重启网络服务使设置生效,如systemctl restart network。