Linux培训
达内IT学院

400-111-8989

2020年Linux运维工程师常见面试题之基础知识篇


今天小编要跟大家分享的文章是关于2020年Linux运维工程师常见面试题之基础知识篇。本文整理了一些比较常见的 Linux 相关的面试题目,内容主要涉及 Linux 基本原理、常用命令操作,下面来和小编一起看一看吧!

2020年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运维工程师。

来源:运维之美

【免责声明:本文图片及文字信息均由小编转载自网络,旨在分享提供阅读,版权归原作者所有,如有侵权请联系我们进行删除。】

预约申请免费试听课

填写下面表单即可预约申请免费试听! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

上一篇:2020年参加Linux运维面试要掌握的面试题汇总
下一篇:2020年Linux运维工程师常见面试题之Linux服务器篇

Linux运维工程师面试题目及答案汇总

Linux常见面试题汇总,建议收藏

Linux面试题目及答案解析汇总

给Linux运维工程师的面试建议

Copyright © 2023 Tedu.cn All Rights Reserved 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有

选择城市和中心
黑龙江省

吉林省

河北省

湖南省

贵州省

云南省

广西省

海南省