本文整理了120道Linux高频面试题列表,涵盖基础概念、命令操作、进程管理、文件系统、网络配置、权限控制等多个核心领域,供基础学习和面试准备参考:

文章目录
一、基础教程问题
1、Linux基础概念
- 什么是Linux?它与Unix有什么关系和区别?
- Linux的内核版本和发行版有什么区别?列举常见的Linux发行版。
- 什么是GNU?GNU/Linux的关系是什么?
- Linux系统的主要组成部分有哪些?
- 简述Linux的启动过程。
- BIOS、GRUB在Linux启动中分别起到什么作用?
- 什么是运行级别(Runlevel)?不同运行级别的含义是什么?
- systemd和init有什么区别?为什么systemd被广泛采用?
- Linux的文件系统层级结构(FHS)是怎样的?各主要目录的作用是什么?
- 什么是Shell?常见的Shell有哪些?
- Bash和Zsh的主要区别是什么?
- 绝对路径和相对路径的区别是什么?如何表示当前目录和父目录?
- 什么是inode?它包含哪些信息?与文件有什么关系?
- 硬链接和软链接(符号链接)的区别是什么?
- 什么是虚拟文件系统(VFS)?它的作用是什么?
2、Linux常用命令
ls命令的常用选项有哪些?分别表示什么含义?cd命令中,cd ~、cd -、cd ..分别表示什么?pwd命令的作用是什么?如何显示物理路径而非链接路径?mkdir命令如何创建多级目录?rm命令中,-f、-r选项的作用是什么?如何强制删除非空目录?cp命令如何复制目录及其内容?-a选项的含义是什么?mv命令与cp命令的区别是什么?如何用mv重命名文件?touch命令的作用是什么?除了创建空文件还有其他用途吗?cat、tac、nl命令的区别是什么?如何查看文件的前10行或后10行?more和less命令的区别是什么?如何在less中搜索内容?head和tail命令的常用选项有哪些?如何实时查看文件新增内容?grep命令的作用是什么?-i、-r、-v选项分别表示什么?find命令如何根据文件名、大小、修改时间查找文件?举例说明。locate与find命令的区别是什么?如何更新locate的数据库?which、whereis、whatis命令的作用分别是什么?chmod命令如何修改文件权限?数字权限(如755)的含义是什么?chown和chgrp命令的作用是什么?如何同时修改文件的所有者和所属组?df和du命令的区别是什么?如何查看磁盘使用情况和目录大小?free命令如何查看内存使用情况?-h选项的作用是什么?top和htop命令的区别是什么?如何在top中按CPU或内存使用率排序?ps命令的常用选项有哪些?ps aux和ps -ef分别表示什么?kill命令的作用是什么?常见的信号(如SIGTERM、SIGKILL)有什么区别?pkill和killall命令的作用是什么?与kill相比有什么优势?tar命令如何打包并压缩文件?-z、-j、-J选项分别对应什么压缩格式?gzip、bzip2、xz命令的区别是什么?如何解压对应的压缩文件?ln命令如何创建硬链接和软链接?分别用什么选项?wc命令如何统计文件的行数、单词数和字符数?sort命令如何对文件内容排序?-n、-r、-k选项的作用是什么?uniq命令的作用是什么?如何统计重复行的出现次数?date命令如何设置系统时间?如何同步网络时间?
3、进程管理与服务
- 什么是进程?进程和程序的区别是什么?
- 进程的生命周期包括哪些状态?各状态的含义是什么?
- 什么是守护进程(Daemon)?如何识别守护进程?
systemctl命令如何管理系统服务?start、stop、restart、enable、disable分别表示什么?- 如何查看系统中所有运行的服务?如何检查某个服务的状态?
- 什么是进程ID(PID)和父进程ID(PPID)?如何通过PID查看进程信息?
nohup命令的作用是什么?如何让进程在后台运行且不受终端关闭影响?bg、fg、jobs命令的作用是什么?如何将前台进程切换到后台?- 什么是僵尸进程(Zombie Process)?如何产生和解决?
- 什么是孤儿进程(Orphan Process)?它会被如何处理?
- 如何限制进程的CPU和内存使用?(如
ulimit、cgroups) pstree命令的作用是什么?如何查看进程的树形结构?- 什么是进程优先级?如何通过
nice和renice命令调整优先级? - 如何查看进程打开的文件?(
lsof命令的使用) - 什么是系统调用(System Call)?进程如何与内核交互?
4、文件系统与存储
- Linux支持哪些常见的文件系统?(如ext4、xfs、btrfs等)
- ext4和xfs文件系统的主要区别是什么?各自的优势是什么?
- 什么是swap分区?它的作用是什么?如何创建和启用swap分区?
- 如何挂载(
mount)和卸载(umount)文件系统?/etc/fstab的作用是什么? mount命令中,-o选项可以指定哪些常用挂载参数?(如ro、rw、noatime)- 什么是UUID?在
/etc/fstab中使用UUID而非设备名的优势是什么? - 如何查看文件系统的磁盘块大小?如何检查文件系统的完整性?(如
fsck) - 什么是逻辑卷管理(LVM)?它的主要组件(PV、VG、LV)是什么?
- LVM相比传统分区有什么优势?如何创建和扩展LVM逻辑卷?
- 什么是RAID?常见的RAID级别(如RAID0、RAID1、RAID5、RAID10)有什么特点?
- 如何查看文件的inode号?当inode耗尽时会出现什么问题?
- 什么是稀疏文件(Sparse File)?它有什么特点和用途?
- 什么是临时文件系统(tmpfs)?它通常挂载在哪个目录?
- 如何查找系统中的大文件(如超过100MB)?
- 什么是文件属性(如
chattr命令设置的i、a属性)?如何查看和修改?
5、网络配置与管理
ifconfig和ip命令的区别是什么?如何查看和配置网络接口?- 如何查看系统的路由表?
route命令和ip route命令的使用方法? ping命令的作用是什么?-c、-i选项的含义是什么?如何检测与目标主机的连通性?traceroute和mtr命令的作用是什么?如何排查网络路径中的故障?netstat和ss命令的作用是什么?如何查看系统的网络连接状态?- 如何查看系统的DNS配置?
/etc/resolv.conf文件的作用是什么? host和dig命令的作用是什么?如何查询域名对应的IP地址?- 什么是防火墙?Linux中常用的防火墙工具是什么?(如
iptables、firewalld) iptables的基本规则组成是什么?如何添加一条允许SSH连接的规则?firewalld与iptables的区别是什么?如何开放80端口?- 什么是NAT(网络地址转换)?
iptables如何配置SNAT和DNAT? - 如何查看系统的网络带宽使用情况?(如
iftop、nload) - 什么是SSH?如何通过SSH远程连接Linux服务器?
ssh命令的常用选项有哪些? - 如何配置SSH密钥登录?相比密码登录有什么优势?
scp和sftp命令的作用是什么?如何在服务器之间传输文件?- 什么是端口?如何查看某个端口被哪个进程占用?(如
lsof -i :端口) - 什么是网关(Gateway)?它在网络通信中起到什么作用?
- 如何临时和永久修改主机名?(
hostname命令和/etc/hostname文件) /etc/hosts文件的作用是什么?它与DNS的关系是什么?- 什么是DHCP?如何配置Linux系统使用DHCP获取IP地址?
6、用户与权限管理
- Linux中用户分为哪几类?(超级用户、普通用户、系统用户)
- 如何创建、删除用户?
useradd和adduser命令的区别是什么? - 如何修改用户密码?
passwd命令的-l、-u选项分别表示什么? - 如何创建、删除用户组?
groupadd和groupdel命令的使用方法? - 如何将用户添加到组或从组中移除?(
usermod -aG命令) /etc/passwd和/etc/shadow文件分别存储什么信息?/etc/group和/etc/gshadow文件的作用是什么?- 什么是SUID、SGID和Sticky Bit?它们的作用分别是什么?如何设置?
sudo命令的作用是什么?如何配置用户拥有sudo权限?(/etc/sudoers文件)su和sudo命令的区别是什么?为什么推荐使用sudo而非直接登录root?- 如何查看当前登录的用户?
who、w、users命令的区别是什么? - 如何强制踢掉某个登录用户?(
pkill -kill -t 终端名) - 什么是PAM(Pluggable Authentication Modules)?它的作用是什么?
- 如何限制用户的登录shell?(如
/sbin/nologin) - 如何设置用户密码的有效期?(
chage命令的使用)
按照 "### 标题" 格式呈现的 Linux 相关问题及详细答案(包含原理说明、示例代码),标号从111开始:
7、系统管理与性能调优
- 如何查看Linux系统的版本信息?(
uname -a、cat /etc/os-release等) crontab命令的作用是什么?如何创建定时任务?其时间格式如何解析?- 什么是anacron?它与cron的区别是什么?适用于哪些场景?
- 如何查看系统的负载情况?
uptime命令输出的三个数字分别表示什么? - 什么是I/O等待(iowait)?如何查看系统的I/O性能?(如
iostat命令) - 如何监控系统的CPU、内存、磁盘I/O和网络性能?(如
sar、vmstat命令) - 什么是内核参数?如何临时和永久修改内核参数?(
sysctl命令和/etc/sysctl.conf文件) - 如何查看系统的启动日志?(
journalctl命令或/var/log/boot.log) - Linux系统中常见的日志文件有哪些?(如
/var/log/messages、/var/log/auth.log) - 如何清理系统中的临时文件和日志,释放磁盘空间?
二、问题的详细答案
| 文章序号 | 题目 |
|---|---|
| 1 | Linux基础教程120道(01-15) |
| 2 | Linux基础教程120道(16-30) |
| 3 | Linux基础教程120道(31-45) |
| 4 | Linux基础教程120道(46-60) |
| 5 | Linux基础教程120道(61-75) |
| 6 | Linux基础教程120道(76-95) |
| 7 | Linux基础教程120道(96-110) |
| 8 | Linux基础教程120道(111-120) |