以下是一些常见的Linux面试题:
基础操作类
-
如何远程连接Linux服务器:常用的工具如Xshell、CRT、FinalShell等,通过SSH协议连接,默认端口是22。
-
如何查看当前目录下的所有文件(包括隐藏文件):使用 ls -a 命令。
-
如何在Linux中创建一个新文件:可以使用 touch 命令,如 touch file.txt 创建一个名为file.txt的空文件。
进程与资源管理类
-
top和ps命令的区别: ps 看到的是命令执行瞬间的进程信息,而 top 可以持续监视系统性能,如平均负载、CPU和内存消耗等。
-
如何查看系统内存使用情况:使用 free -m 命令,以MB为单位显示内存使用信息。
-
如何查看磁盘使用情况:使用 df -h 命令,以人类可读的格式显示磁盘空间使用情况。
网络相关类
-
如何查看网络连接状态:使用 netstat -tuln 或 ss -tuln 命令。
-
如何查看3306端口号是否被占用:可以使用 netstat -anpl | grep 3306 或者 lsof -i:3306 。
-
如何配置静态IP地址:在CentOS系统中,可编辑 /etc/sysconfig/network-scripts/ifcfg-eth0 文件,修改或添加 IPADDR 、 NETMASK 、 GATEWAY 等参数来配置静态IP。
日志处理类
-
Linux中的日志存储在哪里:Linux系统默认配置下,日志文件通常保存在 /var/log 目录下。
-
如何查看a.log中包含特定字符串的日志:使用 grep “特定字符串” a.log 命令。例如,要查看a.log中包含"error"的日志,可执行 grep “error” a.log 。
-
如何统计日志文件中某个关键词出现的次数:使用 grep -o “关键词” 日志文件 | wc -l 命令。如 grep -o “exception” a.log | wc -l 可统计a.log中"exception"出现的次数。
常见Linux面试题2:
基础概念类
-
Linux系统与Windows系统的主要区别:Linux是开源、多用户多任务系统,高度可定制,稳定性高,命令行功能强大,常用于服务器、科研等领域,对硬件资源需求相对灵活;Windows是闭源系统,以图形界面为主,易用性好,主要面向个人用户和商业办公,对硬件配置要求相对较高。
-
Linux有哪些常见的文件系统类型:常见的有ext4、XFS、Btrfs等。ext4是ext系列文件系统的第四版,广泛应用于Linux系统,支持大文件和大容量存储;XFS是高性能的日志文件系统,常用于大型服务器和高性能计算环境;Btrfs具有强大的管理功能,支持快照、数据冗余等特性。
命令操作类
-
如何查找文件内容中包含特定字符串的所有文件:可以使用 grep -r “特定字符串” 目录 命令,在指定目录及其子目录下查找包含特定字符串的文件。例如 grep -r “error” /var/log 可在 /var/log 目录及其子目录的文件中查找包含"error"的文件。
-
如何统计某个目录下文件的数量:使用 ls -l | grep “^-” | wc -l 命令统计普通文件数量,使用 ls -l | grep “^d” | wc -l 命令统计目录数量。
系统管理类
-
如何查看系统的平均负载:使用 uptime 命令可以查看系统的平均负载,显示系统运行时间、当前登录用户数以及过去1分钟、5分钟、15分钟的平均负载。也可以使用 top 命令,在输出信息中查看平均负载数据。
-
如何设置定时任务:使用 crontab 命令,编辑定时任务配置文件。例如 crontab -e 进入编辑界面,格式为 * * * * * command ,分别代表分钟、小时、日期、月份、星期和要执行的命令。如 0 0 * * * /usr/bin/backup.sh 表示每天零点执行 backup.sh 脚本。
网络配置类
-
如何设置DNS服务器:在Linux系统中,可通过编辑 /etc/resolv.conf 文件来设置DNS服务器。添加或修改 nameserver 字段,如 nameserver 8.8.8.8 ,指定谷歌的公共DNS服务器。
-
如何查看网络接口的MAC地址:使用 ifconfig 命令可以查看网络接口的详细信息,包括MAC地址。也可以使用 ip addr show 命令,在输出中找到对应网络接口的MAC地址信息。
以下是一些常见Linux命令的详细介绍:
文件与目录操作命令
-
ls:用于列出当前目录下的文件和目录信息。 ls -l 以长格式展示详细信息,包括文件权限、所有者、大小、修改时间等; ls -a 显示所有文件,包含隐藏文件; ls -al 则兼具两者功能,全面展示目录细节。
-
cd:用于改变当前工作目录。如 cd /home/user 可进入指定的“/home/user”目录, cd… 可返回上一级目录。
-
mkdir:用于创建新目录。 mkdir new_folder 可在当前位置创建名为“new_folder”的新目录, mkdir -p parent/child 可创建嵌套目录,即便“parent”目录不存在也会自动创建。
-
rmdir:用于删除空目录。 rmdir empty_folder 可删除名为“empty_folder”的空目录,若目录非空则需先清理其中的文件和子目录。
-
rm:用于删除文件或目录。 rm file.txt 可删除指定文件, rm -r dir 可递归删除非空目录及其内部所有文件和子目录,使用时需谨慎。
文件查看与编辑命令
-
cat:常用来查看文件内容,将文件内容输出到终端。 cat file.txt 可快速展示文本文件内容,也可与重定向等操作配合,如 cat file1.txt file2.txt > combined.txt 可将多个文件内容合并到新文件。
-
less:按页查看文件,适合浏览大文件。打开文件后,可通过上下箭头、Page Up/Down翻页,输入“/关键词”可搜索,按“q”可退出。
-
vi/vim:经典文本编辑器。 vi file.txt 或 vim file.txt 可进入编辑器,按“i”进入插入模式进行编辑,编辑完按“Esc”退回命令模式,输入“:wq”保存退出,“:q!”强制不保存退出。
系统信息查看命令
-
uname:用于获取系统基本信息。 uname -a 可输出内核名称、主机名、内核版本等,有助于了解系统核心特性,排查软件兼容性、系统升级问题。
-
top:动态实时查看系统资源占用情况,类似Windows任务管理器。运行 top 后,进程按CPU、内存使用率排序,可随时监控系统负载,找出占用资源较多的进程。
-
df:用于查看磁盘空间使用情况。 df -h 以人性化可读格式展示各分区磁盘用量,可帮助判断是否需要清理磁盘或扩容。
-
free:用于查看内存使用情况。 free -m 以兆字节为单位显示内存总量、已用、空闲等情况,可据此判断系统是否需要优化内存。
网络操作命令
-
ping:用于测试网络连通性,向目标主机发送ICMP数据包并等待回应。 ping www.baidu.com 可根据返回结果判断能否连通外网,常用于排查网络故障。
-
ifconfig:用于查看、配置网络接口信息,可列出网卡IP、MAC地址等。新系统常用 ip addr 替代。
-
netstat:用于查看网络连接状态、路由表等信息。如 netstat -tuln 可查看当前的网络连接情况。
用户与权限管理命令
-
useradd:用于创建新用户。 useradd new_user 可创建名为“new_user”的新用户,新用户默认无密码,需后续用 passwd 命令设置。
-
passwd:用于为用户设置或修改密码。普通用户只能修改自己的密码,超级用户可帮其他用户修改密码。
-
chmod:用于修改文件或目录权限。如 chmod 755 file.txt ,数字“7”代表所有者有读、写、执行权,“5”赋予群组和其他用户读、执行权。
-
chown:用于更改文件所有者。 chown newuser:newgroup file.txt 可将文件所有权转给指定用户与组。