3.26 考试总结
老男孩 Linux 运维第二关考试题(2019 升级版)
1.一个目录中有很多文件(ls -l 查看时好多屏),想用一条命令最快速度查看到最近更新的文
件。如何看?
解答:
ls -lrn
2.在配置 apache 服务时 执行了./configure --prefix=/application/apache2.2.17 来编译 apche,
在 make install 完成后,希望用户访问 apache 路径更简单,需要给/application/apache2.2.17
目录做一个软链接/application/apache,使得内部开发或管理人员通过/application/apache 就可
以访问到 apache 的安装目录/application/apache2.2.17 下的内容,请你给出实现的命令。
解答:
ln -s /application/apache2.2.17 /application/apache
3.已知 Nginx 服务的访问日志按天记录在服务器本地目录/app/logs 下,由于磁盘空间紧张,
现在要求只能保留最近 7 天的访问日志!请问如何解决? 请给解决办法或配置或处理命令。
解答:
方法一:00 00 * * * /usr/bin/find /app/logs -type f -mtime +7|xargs rm -f >/dev/null 2>&1
方法二:00 00 * * * rm -f $(find /app/logs -type f -mtime +7) >/dev/null 2>&1
方法三:
4.调试系统服务时,希望能实时查看/var/log/messages 系统日志的更新,如何做?
解答:
方法一:tail -f /var/log/messagges
方法二:tail F /var/log/messages
方法三:tailf /var/log/messages
## tail -f 根据文件描述符进行追踪,当文件改名或被删除,追踪停止
tail -F 根据文件名进行追踪,并保持重试,即该文件被删除或改名后,如果再次创建相同的文件名,会继续追踪
tailf 等同于tail -f -n 10, 与tail -f不同的是,如果文件不增长,它不会去访问磁盘文件,所以tailf特别适合那些便携机上跟踪日志文件,因为它减少了磁盘访问,可以省电
5.打印轻量级 web 服务的配置文件 nginx.conf 内容的行号及内容,该如何做?
解答:
方法一:cat -n nginx.conf
方法二:grep -n '.' nginx.conf / grep -n '' nginx.conf
方法三:awk '{print NR,$0}' nginx.conf
方法四:vim :set nu
方法五:sed '=' nginx.conf
方法六:sess -N nginx.conf
6.已知如下命令及结果:
[oldboy@test ~]$ echo "I am oldboy,my qq is 31333741">>oldboy.txt
[oldboy@test ~]$ cat oldboy.txt
I am oldboy,my qq is 31333741
现在需要从文件中过滤出“oldboy”和“31333741”字符串,请给出命令。
解答:
方法一:awk -F '[ ,]+' '{print $3,$7}' oldboy.txt
方法二:grep -Eo 'oldboy|31333741' oldboy.txt
方法三:egrep -o 'oldboy|31333741' oldboy.txt
方法四:sed -r 's#^.*am (.*),.*is (.*)#\1\2#g' oldboy.txt
7.问题:请问在一个命令上加什么参数可以实现下面命令的内容在同一行输出。
echo "oldboy";echo "oldboy"
解答:
echo -n "oldboy":echo "oldboy"
echo -n:不换行输出8.如何快速查到 ifconfig 命令的全路径(假如你不知道其路径),请给出命令。
解答:
方法一:which ifconfig
which:查命令所在路径方法二:whereis ifconfig
whereis:查命令、源码、帮助等路径9.查找/oldboy/目录下所有文件,并把文件中的 www.etiantian.org 字符串替换成
www.oldboyedu.com
解答:
find /oldboy/ -type f|xargs sed -n 's#www.etiantian.org#www..oldboyedu.com#gp'
10.过滤出/etc/services 文件包含 3306 或 1521 两数据库端口的行的内容。
解答:
方法一:grep -E "3306|1521" /etc/services
方法二:egrep "3306|1621" oldboy.txt
方法三:sed -nr "/3306|1521/p" oldboy.txt
方法四:awk '3306|1521' oldboy.txt
11.请将 ifconfig eth0 和 ip add 结果中的 eth0 网卡对应 ip 地址取出(不低于 2 种方法)。
解答:
方法一:ifconfig eth0|awk -F '[ ]+' 'NR==2{print $3}'
方法二:fconfig etho|sed -nr 's#inet (.*) netmask.*$#\1#gp'
方法三:ip add|awk -F '[ /]+' 'NR==9{print $3}'
方法四:ip add|sed -n 's#^.*inet ##gp'|sed -n 's#\/24 brd.*$##gp'
12.如何赋予 oldboy.txt 文件如下权限、用户、用户组属性。
-w-rw-rwx. 1 oldboy sa 24 Mar 13 11:46 oldboy.txt
解答:
方法一:chmod 267 oldboy.txt
方法二:chmod u=w,g=rw,o=rwx oldboy.txt
13.某系统管理员需每天做一定的重复工作,请按照下列要求,编写一个解决方案,请按步
骤写清楚每一步操作:
(1)在下午 4:50 删除/abc 目录下的全部子目录和全部文件。
(2)每逢星期一下午五点将/data 目录下的所有目录和文件归档并压缩为以当天日期命名的
tar.gz 结尾打包文件。
解答:(1)50 16 * * * /bin/rm -rf /abc/* >dev/null 2>&1
脚本:vim shanchu.sh
/bin/rm -rf /abc/*
或#!/bin/sh
cd /abc&&rm -rf ./*
50 16 * * * /bin/sh shanchu.sh >/dev/null 2>&1
(2)00 17 * * 1 /bin/tar.zcvf ./$(date +%F).tar.gz ./data >/dev/null 2>&1
编写脚本:vim yasuo.sh
/bin tar zcf ./$(date +%F).tar.gz /data/*
00 17 * * 1 /bin/sh yasuo.sh >/dev/null 2>&1
14.如何取得/etc/hosts 文件的权限对应的数字内容,如-rw-r--r-- 为 644,要求使用命令取得
644 这样的数字(不低于 2 种方法)。
解答:
方法一:stad /etc/hosts -c %a
方法二:stat etc/hosts|awk -F '[0/]' 'NR==4{print $2}'
方法三:stat /etc/hosts|sed -nr 's#^.*\(0(.*)\/--.*$#\1#gp'
15.Linux 下通过 mkdir 命令创建一个新目录/oldboy/ett,它的硬链接数是多少,为什么?
如果在/oldboy/ett 下面再创建一个目录 test。再问/oldboy/ett 的硬链接数是多少?为什么。
解答:
2 目录本身就是给一个硬链接;
3 目录本身就是一个硬链接,“.”是一个,“..”也是一个
解答:
第一步:备份
第二步:
grep 'A' *
find -type f|xargs sed 's#A##g'
定位到文件内容后,将其替换掉,确认无误后再加-i参数
总结报告并找出故障原因,进行针对性防护
17.请输出当前日期和时间、3 天前的日期、未来 10 天的日期。
解答:
date
date -d '-3day' %F
date -d '+10day' +%F
18.写出 10 个以上 Linux 命令行中特殊字符及对应含义。
[笔试考试试题理论部分] (总满分 28 分,每题 4 分)
1. 请说出软链接和硬链接的区别。
(1)分类:在Linux系统中,链接分为两种:一种被称为硬链接;另一种被称之为软链接;
(2)概念:硬链接具有和源文件相同的节点号,软链接相当于Windows中的快捷方式;
(3)创建:在默认参数下,ln创建的是硬链接,ln-s创建的是软链接;
(4)特点:不能对目录创建硬链接,软连接在目录中经常用到;
软链接可以跨文件系统,硬连接不可以跨文件系统;
删除硬链接,对源文件和软链接无影响;
删除软链接,对硬链接无影响;
删除源文件的链接,对硬链接无影响,会导致软链接失效;
只有同时删除源文件的链接和硬链接,文件才会被 真正删除
(5)案例:硬链接可以对重要数据做快照,备份,防止误删;软链接在目录中经常用到。
2.描述 ls -lhi 输出中,每一列的意义。
33631870 -rw-r--r-- . 1 root root 21 Oct 6 2020 oldboy.txt
inode号 文件类型及权限 selinux标识符 用户组 用户名 最后修改时间 文件名称
3. 什么是 PATH 环境变量,它有什么作用?
PATH是字符串变量,可以在其他子shell中定义命令的目录路径。
4. 描述 Linux 下文件删除的原理?
硬链接数为 0 link 为 0
进程数为 0 icount 为 0
5. 企业故障案例 2:往磁盘中写入数据出现 no space left on device 故障,请写出可能原因。
inode 满:定时任务书写有误,导致邮件产生大量小文件,把 inode 占用完了
block 满:df –h du –sh 定位到大文件,并将其删除
6. 企业故障案例 3: Tomcat 服务器磁盘满了,临时删除对应日志文件但是发现空间未释
放,可能原因是?如何解决)。
进程占用,ps –ef|grep delete 相应的服务进程,并将其重启即可释放空间
7. 企业故障案例 4:定时任务的脚本手工可以执行,但是放到定时任务里无法执行,可能
原因是什么?
原因一:环境变量问题,没有使用绝对路径执行定时任务
原因二:定时任务写错了