![](/zhuzhan/img/btn-course.png)
![](/zhuzhan/img/btn-center.png)
![](/zhuzhan/img/logo.png)
Linux培训
达内IT学院
400-111-8989
今天小编要跟大家分享的文章是关于2020年Linux运维工程师常见面试题之基础知识篇。本文整理了一些比较常见的 Linux 相关的面试题目,内容主要涉及 Linux 基本原理、常用命令操作,下面来和小编一起看一看吧!
Linux 基础知识篇
1. 说说 Linux 启动大致过程?
加载 BIOS–>读取 MBR–>Boot Loader–>加载内核–>用户层 Init 依据 Inittab 文件来设定系统运行的等级(一般 3 或者 5,3 是多用户命令行,5 是图形界面)–>Init 进程执行 rc.syninit–>启动内核模块–>执行不同级别运行的脚本程序–>执行 /etc/rc.d/rc.local (本地运行服务)–>执行 /bin/login,就可以登录了。
这道题可以扩展一下:Init 系统运行等级一共有几种,每一种都是什么?
0:关机,只要是0就不能开机
1:单用户模式,不能被远程登陆
2:多用户不能上网模式
3:多用户可以上网模式
4:未使用
5:有图形的 Linux
6:重启,只要是 6 就会不断的重启,子子孙孙无穷匮焉的重启
2. Linux 系统是由那些部分组成?
Linux 由系统内核,Shell,文件系统和应用程序四部分组成。
3. 文件系统 ext2、ext3、ext4 的区别是啥?
ext3 和 ext2 的主要区别在于 ext3 引入Journal。
ext2 和 ext3 的格式完全相同,只是在 ext 3 硬盘最后面有一部分空间用来存放 Journal(日志)的记录;
在 ext2 中,写资料到硬盘中时,先将资料写入缓存中,当缓存写满时才会写入硬盘中;
在 ext3 中,写资料到硬盘中时,先将资料写入缓存中,待缓存写满时系统先通知 Journal,再将资料写入硬盘,完成后再通知 Journal,资料已完成写入工作;
在 ext3 中,也就是有 Journal 机制里,系统开机时检查 Journal 的资料,来查看是否有错误产生,这样就快了很多;
ext4 和 ext3 的主要区别在于:首先 ext4 与 ext3 兼容,ext3 只支持 32000 个子目录,而 ext4 支持无限数量的子目录;ext3 所支持的 16TB 文件系统和最大的 2TB 的文件,而 ext4 分别支持 1EB(1,048,576TB,1EB=1024PB,1PB=1024TB)的文件系统,以及 16TB 的文件;ext3 的数据块分配策略是尽快分配,而ext4 是尽可能地延迟分配,直到文件在 Cache 中写完才开始分配数据块并写入磁盘;ext4 允许关闭日志,以便某些有特殊需求的用户可以借此进一步提升性能等等等等。
4. 如何杀死指定的进程?
·
$ ps -ef |grep 进程名 |grep -v grep|awk '{print $2}' |xargs kill -9
注意:这里 awk 后面是单引号不是双引号。
5. 列出 Linux 常见打包工具并写相应解压缩参数(至少三种)?
Tar 命令就是打包工具,对应的解压缩参数 tar -cvf、 tar -zcvf、 tar -jcvf 是对应拆包解压什么文件的要对应记住,不要记混。
6. 一个 EXT3 的文件分区,当用 touch 新建文件时报错,错误信息是磁盘已满,但是使用 df -H 查看分区信息时只使用了 50%,请分析具体原因?
两种情况:一种是磁盘配额问题,另外一种就是 EXT3 文件系统的设计不适合很多小文件跟大文件的一种文件格式,出现很多小文件时,容易导致 Inode 耗尽了。
7. 请使用 Linux 系统命令统计出 establish 状态的连接数有多少?
·
$ netstat -an |grep ESTABLISHED |wc -l
netstat命令 -a 参数是显示所有链接,-n 是不要域名解析,即都是以数字 IP 的显示。
现实生产系统的时候,如果服务器维持的链接是成千上万的话,少用 netstat,多用 ss。
8. 如何统计出一台 Web Server 上的各个状态(ESTABLISHED / SYN_SENT / SYN_RECV 等)的个数?
$ netstat -antl|grep ESTABLISTHED|wc -l
$ netstat -antl|grep SYN_SENT|wc -l
$ netstat -antl|grep SYN_RECV|wc -l
netstat 命令的 -t 参数是查询 TCP 协议的链接,-l 参数是查询 Listen 状态下的链接。
netstat -an 的话会出现大概三个部分的内容,一部分是 TCP 协议内容,一部分是 UDP 协议的内容,还有一部分是 Unix Socket 方面的链接,Active UNIX domain sockets (servers and established)。
9. 查找 /usr/local/apache/logs 目录最后修改时间大于 30 天的文件并删除
find 命令以及相关搭配命令是笔试中的重点,因为在现实中运用的情况最多,所以必考必考必考!!!
$ find /usr/local/apache/logs -type f -mtime +30 -ok rm {} \;
使用 mtime +30 来描述修改时间大于 30 天,使用 -type -f 来描述文件,然后使用 -ok 命令将所有满足的文件都执行下一步操作。
这里是删除文件,所以比较人性化的用 ok,删之前询问一下,如果简单暴力就可以直接 -exec,直接枪毙掉。用了 -exec 的话是不用 -f 的,多此一举。
10. 编写个 Shell 脚本将 /usr/local/test 目录下大于 100K 的文件转移到 /tmp 目录
touch AAA.sh
#!/bin/bash
find /usr/local/test/ -size +100K -exec mv {} /tmp \;
注:-exec and -ok 后面的花括号里面的内容就是使用 find 命令查找出来的文件名。
11. 添加一条到 192.168.3.0/24 的路由,网关为 192.168.1.254?
$ route add -net 192.168.3.0 netmask 255.255.255.0 gw 192.168.1.254 或者 route add -net 192.168.3.0/24 gw 192.168.1.254
注:route 命令是临时性的增加路由,如果需要永久性的添加路由方法如下:
方法一
$ vim etc/rc.local
route add -net 192.168.3.0/24 gw 192.168.1.254。
方法二
$ vim etc/sysconfig/network
GATEWAY=192.168.1.254
12. 在每周 6 的凌晨 3:15 执行 /home/shell/collect.pl,并将标准输出和标准错误输出到 /dev/null 设备,请写出 crontab 中的语句?
15 3 * * 6 sh /home/shell/collect.pl > /dev/null 2>&1
注:每一个命令的执行肯定都会有成功或者失败,系统默认 1 是 stdout 标准输出,2 是 stderr 标准错误,& 的含义是等同。2>&1 的意思就是将错误的信息重定向输出的地方跟 1 一样,都是去空设备文件。
13. 在 11 月份内,每天的早上 6 点到 12 点中,每隔 2 小时执行一次 /usr/bin/# 怎么实现 ?
$ crontab -e1 6-12/2 * 11 * bash /usr/bin/#
crontab、at 这种计划任务命令也是面试高频题目,crontab 一共有 5个 *,分别表示 “分钟”、“小时”,“日期”、“月份”、“星期几”。
基本的结构要明白,而且 “当大数有条件,小数任意” 的情况下,小数不要用 *,用 0 or 1。
如果这道题写成 * 6-12/2 * 11 * bash /usr/bin/#,你的 Apache会很爽,它会在满足条件的情况下每一分钟都启动一下。
14. 匹配 AAA 文本中的 key 并打印出该行及下面的 5 行?
$ grep -A 5 key AAA
注:-A 是查找关键词下面的行,-B 是查找关键词上面的行,-C 是上下的行,注意这里是 grep,而不是find。
15. 查询 AAA 文件里以 abc 结尾的行?
$ grep "abc$" AAA
注:这里不是 grep "abc$" | AAA,这里没有 “|” 的,要注意。
16. 打印出 AAA 文件第 1 到第 3 行?
$ head -3 AAA
也可以用 sed 命令来实现
$ sed -n '1,3p' AAA
17. 查询 AAA 里面空行的所在行号?
$ grep -n "^$" AAA
注意: grep -n 和 cat -n 这两个输出结果的区别。
18. 利用 sed 命令将 test.txt 中所有的回车替换成空格?
$ sed -e "s/\n/ /g" test.txt
注:sed的 -e 参数是指多重编辑,也就是说可以 sed -e ... -e .... -e.... 一次性完成三个动作。
19. 使用 ab 命令进行 100000 次请求,同时每秒 40 次并发的频率访问 #/AAA.txt
$ ab -n 100000 -c 40 #/AAA.txt
注: ab 命令是 Apache 自带的,同一个 IP 地址并发的访问网站的同一个内容其实是一个隐患。但是现在用路由器上网的情况满地走,所以优化网页的内容是码农的责任,但是适当的缩小准许并发范围是运维人员应该掌握的。
20. 按照以下要求配置一个防火墙规则
a. 对所有地址开放本服务器的80端口、22端口、10~21端口。
b. 其他机器可以用ping命令来探测本服务器的链接情况
c. 其他没有被准许的端口将禁止访问
$ iptables -I INPUT -p tcp -dport 80 -j ACCEPT
$ iptables -I INPUT -p tcp -dport 22 -j ACCEPT
$ iptables -I INPUT -P tcp -dport 10:21 -i ACCEPT
$ iptables -I INPUT -p icmp -j ACCEPT
$ iptables -I INPUT -j REJECT
iptables 也是面试考察的一个重点内容。
iptables 的内容主要包括 “四表+五链”,不过具体问道哪四表哪五链的可能性很小,倒是这种结合实际情况直接让写一连串的规则考题蛮常见的。这道题很基础,写 iptables 有点在 CCNP 里写 ACL 控制访问列表的意思。
21. top 和 ps 命令在进程占有资源率的统计方式有什么不同?
ps 命令是显示在执行 ps 这个命令时刻所有进程的情况,而 top 是动态的监控进程的情况。
top 命令显示系统总的统计信息,比如时间、CPU 情况、 内存状态和分区信息等等。
ps -ef 这个是一个比较常见的搭配方式,-e 是所有进程,-f 是文件之间的关系。
ps -aux 也是很常用的,意思是显示包含其他使用者的进程。ps 命令也可以搭配 -more 和管道符使用,也可以搭配输出重定向。
top -n 2 指的是更新两次之后就停;top -d 3 指的是更新周期是三秒;top -p 574 指的是显示 pid 为 574 的进程。top 状态下按 b 是显示高亮。
22. inode 存储了哪些东西?目录名,文件名存在哪里?
inode 存储了文件大小、user id、group id、文件的读写执行权限、软连接硬链接被引用的次数、时间戳、block 的位置。唯独没有文件名!!!
目录名、文件名存在目录项里。
ls -i 这个是显示 inode 号码的查询方法。
stat 命令这个可以查询 inode 信息,使用方法为 stat AAA 即可。
23. 如何查看 HTTP 的并发请求数与其 TCP 连接状态
$ netstat -n | awk '/^tcp/ {++b[$NF]} END {for(a in b) print a, b[a]}'
24. 如何用嗅探 80 端口的访问最多的 IP
$ tcpdump -i eth0 -tnn dst port 80 -c 1000 | awk -F"." '{print $1"."$2"."$3"."$4}' | sort | uniq -c | sort -nr |head -10
25. 如何查看当前系统每个 IP 的连接数
$ netstat -n | awk '/^tcp/ {print $5}'| awk -F: '{print $1}' | sort | uniq -c | sort -rn
26. ps aux 命令中的 VSZ 代表什么意思? RSS 代表什么意思?
VSZ:虚拟内存集,进程所占用的虚拟内存的大小
RSS:实际内存集,进程所占用的实际内存的大小
27. 说说符号链接与硬链接的区别?
硬链接是复制,享用同一个 inode,不能跨分区,不能连目录,a 变 b 也变,但是 a 删 b 不删。
符号链接就是 -s,不享用同一个 inode,可以跨分区可以连目录,等于快捷方式。
28. 如何检测并修复 /dev/hda5?
$ e2fsck -p /dev/hda5
如果要求是检查 /dev/hda5 是否正常,如果有异常便自动修复,并且设定若有问答均回答[是],那么语句就是 e2fsck -a -y /dev/hda5
29. 显示 /etc/inittab 中以 # 开头,且后面跟了一个或者多个空白字符,而后又跟了任意非空白字符的行。
$ grep '^# \{1,\}[^ ]' /etc/inittab
30. 显示 /etc/inittab 中包含了 : 一个数字 :(即两个冒号中间一个数字)的行。
$ grep '\:[1-9]\{1\}\:' /etc/inittab
31. 统计 /data/mysql 目录里的普通文件个数。
$ find /data/mysql/ -type f|wc -l
32. 写一个脚本,实现批量添加 20 个用户,用户名为 user1-20,密码为 user 后面跟 5 个随机字符。
#!/bin/bash
#description: useradd
for i in `seq -f"%02g" 1 20`;do
useradd user$i echo "user$i-`
echo $RANDOM|md5sum|cut -c 1-5`"|passwd –stdinuser$i >/dev/null 2>&1
done
33. 写一个脚本,实现判断 192.168.1.0/24 网络里,当前在线的 IP 有哪些?
#!/bin/bash
for ip in `seq 1 255`
do
{
ping -c 1 192.168.1.$ip > /dev/null 2>&1
if [ $? -eq 0 ]; then
echo 192.168.1.$ip UP
else
echo 192.168.1.$ip DOWN
fi }&
#多进程启动done
34. 写一个脚本,判断一个指定的脚本是否是语法错误;如果有错误,则提醒用户键入 Q 或者 q 无视错误并退出其它任何键可以通过 vim 打开这个指定的脚本。
#!/bin/bash
read -p "please input check script->" file
if [ -f $file ]; then
sh -n $file > /dev/null 2>&1
if [ $? -ne 0 ]; then
read -p “You input $file syntax error,[Type q to exit or Type vim toedit]” answer
case $answer in
q | Q)
exit 0;;
*)
vim $file;;
esac
35. 如何执行历史记录里的第 505 条命令。
2020年Linux运维工程师常见面试题之基础知识篇
今天小编要跟大家分享的文章是关于2020年Linux运维工程师常见面试题之基础知识篇。本文整理了一些比较常见的 Linux 相关的面试题目,内容主要涉及 Linux 基本原理、常用命令操作,下面来和小编一起看一看吧!
Linux 基础知识篇
1. 说说 Linux 启动大致过程?
加载 BIOS–>读取 MBR–>Boot Loader–>加载内核–>用户层 Init 依据 Inittab 文件来设定系统运行的等级(一般 3 或者 5,3 是多用户命令行,5 是图形界面)–>Init 进程执行 rc.syninit–>启动内核模块–>执行不同级别运行的脚本程序–>执行 /etc/rc.d/rc.local (本地运行服务)–>执行 /bin/login,就可以登录了。
这道题可以扩展一下:Init 系统运行等级一共有几种,每一种都是什么?
0:关机,只要是0就不能开机
1:单用户模式,不能被远程登陆
2:多用户不能上网模式
3:多用户可以上网模式
4:未使用
5:有图形的 Linux
6:重启,只要是 6 就会不断的重启,子子孙孙无穷匮焉的重启
2. Linux 系统是由那些部分组成?
Linux 由系统内核,Shell,文件系统和应用程序四部分组成。
3. 文件系统 ext2、ext3、ext4 的区别是啥?
ext3 和 ext2 的主要区别在于 ext3 引入Journal。
ext2 和 ext3 的格式完全相同,只是在 ext 3 硬盘最后面有一部分空间用来存放 Journal(日志)的记录;
在 ext2 中,写资料到硬盘中时,先将资料写入缓存中,当缓存写满时才会写入硬盘中;
在 ext3 中,写资料到硬盘中时,先将资料写入缓存中,待缓存写满时系统先通知 Journal,再将资料写入硬盘,完成后再通知 Journal,资料已完成写入工作;
在 ext3 中,也就是有 Journal 机制里,系统开机时检查 Journal 的资料,来查看是否有错误产生,这样就快了很多;
ext4 和 ext3 的主要区别在于:首先 ext4 与 ext3 兼容,ext3 只支持 32000 个子目录,而 ext4 支持无限数量的子目录;ext3 所支持的 16TB 文件系统和最大的 2TB 的文件,而 ext4 分别支持 1EB(1,048,576TB,1EB=1024PB,1PB=1024TB)的文件系统,以及 16TB 的文件;ext3 的数据块分配策略是尽快分配,而ext4 是尽可能地延迟分配,直到文件在 Cache 中写完才开始分配数据块并写入磁盘;ext4 允许关闭日志,以便某些有特殊需求的用户可以借此进一步提升性能等等等等。
4. 如何杀死指定的进程?
·
$ ps -ef |grep 进程名 |grep -v grep|awk '{print $2}' |xargs kill -9
注意:这里 awk 后面是单引号不是双引号。
5. 列出 Linux 常见打包工具并写相应解压缩参数(至少三种)?
Tar 命令就是打包工具,对应的解压缩参数 tar -cvf、 tar -zcvf、 tar -jcvf 是对应拆包解压什么文件的要对应记住,不要记混。
6. 一个 EXT3 的文件分区,当用 touch 新建文件时报错,错误信息是磁盘已满,但是使用 df -H 查看分区信息时只使用了 50%,请分析具体原因?
两种情况:一种是磁盘配额问题,另外一种就是 EXT3 文件系统的设计不适合很多小文件跟大文件的一种文件格式,出现很多小文件时,容易导致 Inode 耗尽了。
7. 请使用 Linux 系统命令统计出 establish 状态的连接数有多少?
·
$ netstat -an |grep ESTABLISHED |wc -l
netstat命令 -a 参数是显示所有链接,-n 是不要域名解析,即都是以数字 IP 的显示。
现实生产系统的时候,如果服务器维持的链接是成千上万的话,少用 netstat,多用 ss。
8. 如何统计出一台 Web Server 上的各个状态(ESTABLISHED / SYN_SENT / SYN_RECV 等)的个数?
$ netstat -antl|grep ESTABLISTHED|wc -l
$ netstat -antl|grep SYN_SENT|wc -l
$ netstat -antl|grep SYN_RECV|wc -l
netstat 命令的 -t 参数是查询 TCP 协议的链接,-l 参数是查询 Listen 状态下的链接。
netstat -an 的话会出现大概三个部分的内容,一部分是 TCP 协议内容,一部分是 UDP 协议的内容,还有一部分是 Unix Socket 方面的链接,Active UNIX domain sockets (servers and established)。
9. 查找 /usr/local/apache/logs 目录最后修改时间大于 30 天的文件并删除
find 命令以及相关搭配命令是笔试中的重点,因为在现实中运用的情况最多,所以必考必考必考!!!
$ find /usr/local/apache/logs -type f -mtime +30 -ok rm {} \;
使用 mtime +30 来描述修改时间大于 30 天,使用 -type -f 来描述文件,然后使用 -ok 命令将所有满足的文件都执行下一步操作。
这里是删除文件,所以比较人性化的用 ok,删之前询问一下,如果简单暴力就可以直接 -exec,直接枪毙掉。用了 -exec 的话是不用 -f 的,多此一举。
10. 编写个 Shell 脚本将 /usr/local/test 目录下大于 100K 的文件转移到 /tmp 目录
touch AAA.sh
#!/bin/bash
find /usr/local/test/ -size +100K -exec mv {} /tmp \;
注:-exec and -ok 后面的花括号里面的内容就是使用 find 命令查找出来的文件名。
11. 添加一条到 192.168.3.0/24 的路由,网关为 192.168.1.254?
$ route add -net 192.168.3.0 netmask 255.255.255.0 gw 192.168.1.254 或者 route add -net 192.168.3.0/24 gw 192.168.1.254
注:route 命令是临时性的增加路由,如果需要永久性的添加路由方法如下:
方法一
$ vim etc/rc.local
route add -net 192.168.3.0/24 gw 192.168.1.254。
方法二
$ vim etc/sysconfig/network
GATEWAY=192.168.1.254
12. 在每周 6 的凌晨 3:15 执行 /home/shell/collect.pl,并将标准输出和标准错误输出到 /dev/null 设备,请写出 crontab 中的语句?
15 3 * * 6 sh /home/shell/collect.pl > /dev/null 2>&1
注:每一个命令的执行肯定都会有成功或者失败,系统默认 1 是 stdout 标准输出,2 是 stderr 标准错误,& 的含义是等同。2>&1 的意思就是将错误的信息重定向输出的地方跟 1 一样,都是去空设备文件。
13. 在 11 月份内,每天的早上 6 点到 12 点中,每隔 2 小时执行一次 /usr/bin/# 怎么实现 ?
$ crontab -e1 6-12/2 * 11 * bash /usr/bin/#
crontab、at 这种计划任务命令也是面试高频题目,crontab 一共有 5个 *,分别表示 “分钟”、“小时”,“日期”、“月份”、“星期几”。
基本的结构要明白,而且 “当大数有条件,小数任意” 的情况下,小数不要用 *,用 0 or 1。
如果这道题写成 * 6-12/2 * 11 * bash /usr/bin/#,你的 Apache会很爽,它会在满足条件的情况下每一分钟都启动一下。
14. 匹配 AAA 文本中的 key 并打印出该行及下面的 5 行?
$ grep -A 5 key AAA
注:-A 是查找关键词下面的行,-B 是查找关键词上面的行,-C 是上下的行,注意这里是 grep,而不是find。
15. 查询 AAA 文件里以 abc 结尾的行?
$ grep "abc$" AAA
注:这里不是 grep "abc$" | AAA,这里没有 “|” 的,要注意。
16. 打印出 AAA 文件第 1 到第 3 行?
$ head -3 AAA
也可以用 sed 命令来实现
$ sed -n '1,3p' AAA
17. 查询 AAA 里面空行的所在行号?
$ grep -n "^$" AAA
注意: grep -n 和 cat -n 这两个输出结果的区别。
18. 利用 sed 命令将 test.txt 中所有的回车替换成空格?
$ sed -e "s/\n/ /g" test.txt
注:sed的 -e 参数是指多重编辑,也就是说可以 sed -e ... -e .... -e.... 一次性完成三个动作。
19. 使用 ab 命令进行 100000 次请求,同时每秒 40 次并发的频率访问 #/AAA.txt
$ ab -n 100000 -c 40 #/AAA.txt
注: ab 命令是 Apache 自带的,同一个 IP 地址并发的访问网站的同一个内容其实是一个隐患。但是现在用路由器上网的情况满地走,所以优化网页的内容是码农的责任,但是适当的缩小准许并发范围是运维人员应该掌握的。
20. 按照以下要求配置一个防火墙规则
a. 对所有地址开放本服务器的80端口、22端口、10~21端口。
b. 其他机器可以用ping命令来探测本服务器的链接情况
c. 其他没有被准许的端口将禁止访问
$ iptables -I INPUT -p tcp -dport 80 -j ACCEPT
$ iptables -I INPUT -p tcp -dport 22 -j ACCEPT
$ iptables -I INPUT -P tcp -dport 10:21 -i ACCEPT
$ iptables -I INPUT -p icmp -j ACCEPT
$ iptables -I INPUT -j REJECT
iptables 也是面试考察的一个重点内容。
iptables 的内容主要包括 “四表+五链”,不过具体问道哪四表哪五链的可能性很小,倒是这种结合实际情况直接让写一连串的规则考题蛮常见的。这道题很基础,写 iptables 有点在 CCNP 里写 ACL 控制访问列表的意思。
21. top 和 ps 命令在进程占有资源率的统计方式有什么不同?
ps 命令是显示在执行 ps 这个命令时刻所有进程的情况,而 top 是动态的监控进程的情况。
top 命令显示系统总的统计信息,比如时间、CPU 情况、 内存状态和分区信息等等。
ps -ef 这个是一个比较常见的搭配方式,-e 是所有进程,-f 是文件之间的关系。
ps -aux 也是很常用的,意思是显示包含其他使用者的进程。ps 命令也可以搭配 -more 和管道符使用,也可以搭配输出重定向。
top -n 2 指的是更新两次之后就停;top -d 3 指的是更新周期是三秒;top -p 574 指的是显示 pid 为 574 的进程。top 状态下按 b 是显示高亮。
22. inode 存储了哪些东西?目录名,文件名存在哪里?
inode 存储了文件大小、user id、group id、文件的读写执行权限、软连接硬链接被引用的次数、时间戳、block 的位置。唯独没有文件名!!!
目录名、文件名存在目录项里。
ls -i 这个是显示 inode 号码的查询方法。
stat 命令这个可以查询 inode 信息,使用方法为 stat AAA 即可。
23. 如何查看 HTTP 的并发请求数与其 TCP 连接状态
$ netstat -n | awk '/^tcp/ {++b[$NF]} END {for(a in b) print a, b[a]}'
24. 如何用嗅探 80 端口的访问最多的 IP
$ tcpdump -i eth0 -tnn dst port 80 -c 1000 | awk -F"." '{print $1"."$2"."$3"."$4}' | sort | uniq -c | sort -nr |head -10
25. 如何查看当前系统每个 IP 的连接数
$ netstat -n | awk '/^tcp/ {print $5}'| awk -F: '{print $1}' | sort | uniq -c | sort -rn
26. ps aux 命令中的 VSZ 代表什么意思? RSS 代表什么意思?
VSZ:虚拟内存集,进程所占用的虚拟内存的大小
RSS:实际内存集,进程所占用的实际内存的大小
27. 说说符号链接与硬链接的区别?
硬链接是复制,享用同一个 inode,不能跨分区,不能连目录,a 变 b 也变,但是 a 删 b 不删。
符号链接就是 -s,不享用同一个 inode,可以跨分区可以连目录,等于快捷方式。
28. 如何检测并修复 /dev/hda5?
$ e2fsck -p /dev/hda5
如果要求是检查 /dev/hda5 是否正常,如果有异常便自动修复,并且设定若有问答均回答[是],那么语句就是 e2fsck -a -y /dev/hda5
29. 显示 /etc/inittab 中以 # 开头,且后面跟了一个或者多个空白字符,而后又跟了任意非空白字符的行。
$ grep '^# \{1,\}[^ ]' /etc/inittab
30. 显示 /etc/inittab 中包含了 : 一个数字 :(即两个冒号中间一个数字)的行。
$ grep '\:[1-9]\{1\}\:' /etc/inittab
31. 统计 /data/mysql 目录里的普通文件个数。
$ find /data/mysql/ -type f|wc -l
32. 写一个脚本,实现批量添加 20 个用户,用户名为 user1-20,密码为 user 后面跟 5 个随机字符。
#!/bin/bash
#description: useradd
for i in `seq -f"%02g" 1 20`;do
useradd user$i echo "user$i-`
echo $RANDOM|md5sum|cut -c 1-5`"|passwd –stdinuser$i >/dev/null 2>&1
done
33. 写一个脚本,实现判断 192.168.1.0/24 网络里,当前在线的 IP 有哪些?
#!/bin/bash
for ip in `seq 1 255`
do
{
ping -c 1 192.168.1.$ip > /dev/null 2>&1
if [ $? -eq 0 ]; then
echo 192.168.1.$ip UP
else
echo 192.168.1.$ip DOWN
fi }&
#多进程启动done
34. 写一个脚本,判断一个指定的脚本是否是语法错误;如果有错误,则提醒用户键入 Q 或者 q 无视错误并退出其它任何键可以通过 vim 打开这个指定的脚本。
#!/bin/bash
read -p "please input check script->" file
if [ -f $file ]; then
sh -n $file > /dev/null 2>&1
if [ $? -ne 0 ]; then
read -p “You input $file syntax error,[Type q to exit or Type vim toedit]” answer
case $answer in
q | Q)
exit 0;;
*)
vim $file;;
esac
35. 如何执行历史记录里的第 505 条命令。
$ !505
以上就是小编今天为大家分享的关于2020年Linux运维工程师常见面试题之基础知识篇的文章,希望本篇文章能够对准备参加Linux运维面试的小伙伴们有所帮助,想要了解更多Linux相关知识记得关注达内Linux培训官网,最后祝愿小伙伴们面试成功成为一名优秀的Linux运维工程师。
来源:运维之美
【免责声明:本文图片及文字信息均由小编转载自网络,旨在分享提供阅读,版权归原作者所有,如有侵权请联系我们进行删除。】
填写下面表单即可预约申请免费试听! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!
Copyright © 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有