1.一个目录中有很多文件(ls -l 查看时好多屏),想用一条命令最快速度查看到最近更新的文件。如何看?
答:ls -rtl -t:修改时间排序,最新优先 -r:反转排序(排序时倒序)
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 ln -s /application/apache2.2.17 /application/apache
3.已知 Nginx 服务的访问日志按天记录在服务器本地目录/app/logs 下,由于磁盘空间紧张,现在要求只能保留最近 7 天的访问日志!请问如何解决? 请给解决办法或配置或处理命令。
答:这道题是考验find的用法,保留7天的访问日志,其他的删除就可以,并编写定时任务 。
00 00 * * * rm -rf $(find -type f /app/logs -mtime +7) &>/dev/null
00 00 * * * /usr/bin/find -type f /app/logs -mtime+7|xargs rm -rf &>/dev/null
4.调试系统服务时,希望能实时查看/var/log/messages 系统日志的更新,如何做?
答:查看(显示)系统日志可以用tail,tail是显示文件尾部内容,tail有个参数:-f 追踪文件尾部的变化
命令:tail -f /var/log/messages
5.打印轻量级 web 服务的配置文件 nginx.conf 内容的行号及内容,该如何做?
答:这道题就是简单的打印行号,可以用grep、sed、awk、cat、vim set nu(进入编辑模式输入set nu就能显示行号)
命令:grep -n ‘.’ nginx.conf
cat -n nginx.conf
awk '{print NR,$0}' nginx.conf
sed '=' 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”字符串,请给出命令。
答:这道题是过滤字符串,可以用grep、sed、awk这几个命令
grep -Eo 'oldboy|31333741' oldboy.txt
egrep -o 'oldboy|31333741' oldboy.txt
awk -F '[ ,]+' '{print $3,$NF}' oldboy.txt
7.问题:请问在一个命令上加什么参数可以实现下面命令的内容在同一行输出。
echo "oldboy";echo "oldboy"
答:echo –n "oldboy";echo "oldboy"
8.如何快速查到 ifconfig 命令的全路径(假如你不知道其路径),请给出命令。
答:查找路径的命令:which、whereis
命令:which ifconfig、whereis ifconfig
9.查找/oldboy/目录下所有文件,并把文件中的 www.etiantian.org 字符串替换成www.oldboyedu.com。
答:先find找到文件,然后用sed的替换功能
命令:find -type f /oldboy/|xargs sed ’s#www.etiantian.org#www.oldboyedu.com#g‘
10.过滤出/etc/services 文件包含 3306 或 1521 两数据库端口的行的内容。
答:这道题可以用grep、sed和awk过滤
命令:grep -E "3306|1521" /etc/services
awk '3306|1521' /etc/services
sed -nr '3306|1521p' /etc/services
11.请将 ifconfig eth0 和 ip add 结果中的 eth0 网卡对应 ip 地址取出(不低于 2 种方法)。
[root@oldboyedu ~]# ifconfig eth0
eth0: flags=4163mtu 1500
inet 10.0.0.201 netmask 255.255.255.0 broadcast 10.0.0.255
inet6 fe80::9fdb:66ba:dc7f:3fe5 prefixlen 64 scopeid 0x20
[root@oldboyedu ~]# ip add
2: eth0: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:2a:ca:54 brd ff:ff:ff:ff:ff:ff
inet 10.0.0.201/24 brd 10.0.0.255 scope global noprefixroute eth0
答:1)ifconfig ech0|awk -F '[ :]+' 'NR==2{print $3}'
ifconfig eth0|sed -nr 's#.*t (.*) net.*#\1#gp'
2)ip add|awk -F '[ /]+' 'NR==3{print $3}'
ip add|sed -n 's#^.*net ##gp'|sed -n 's#/24.*$##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 * * * /usr/bin rm -rf /abc/* &>/dev/null
2)00 17 * * 1 /usr/bin tar zcf /data/*$(date +\%F).tar.gz &>/dev/null
14.如何取得/etc/hosts 文件的权限对应的数字内容,如-rw-r--r-- 为 644,要求使用命令取得644 这样的数字(不低于 2 种方法)。
答:stat /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 的硬链接数是多少?为什么。
答:1)2个硬链接,目录本身是一个硬链接,. 也是一个
2)3个硬链接,目录本身是一个硬链接,. 是一个 .. 也是一个
16. 企业故障案例 1:(参考问题 9)作为运维工程师,你在工作中遇到的一个实际问题,情况是:一个 lnmp 的服务器,站点目录下所有的文件均被植入了如下内容:(可用 A 代替此行内容解答)包括图片文件也被植入了,当用户网站打开时就会调用这个地址,显示一个广告,请问你如何解决。
答:第一步:先备份,
第二步:找到被修改的文件,grep - 'A' *
第三步:找到文件内容后,将其替换掉,需要确认加-i 参数, find / -type f|sed '#A##'g
第四步:写总结报告并查找故障原因,进行针对性预防
17.请输出当前日期和时间、3 天前的日期、未来 10 天的日期。
答:当前日期:date
3天前的日期:date -d "-3 day"
未来10天的日期:date -d "+10 day"
18.写出 10 个以上 Linux 命令行中特殊字符及对应含义。
答:* 匹配所有
? 匹配单个字符,有且只有一个字符
【abcd】 匹配里面任意一个字符
【!a-d】或【^1-9】 取反
''单引号 引用字符串,所见即所得
&& 并且 前面正确后面才输出
|| 或者 前面错误后面才输出
\ 转义字符,让字符还原本义
;分号 表示两条命令分割符
""双引号 引用字符串,解析变量,命令 推荐使用
# 1、管理提示符 2、注释符号
1. 请说出软链接和硬链接的区别。
答:硬链接不占用 inode 软连接占用一个 inode
硬链接不可以跨文件系统创建,软链接不影响
删除源文件对硬链接无影响,但是软链接会失效
硬链接不可以给目录创建,软连接行
2.描述 ls -lhi 输出中,每一列的意义。
33631870 -rw-r--r--. 1 root root 21 Oct 6 2020 oldboy.txt
答:inode号(索引节点)
文件的类型及权限
selinux标识符
硬链接个数
文件或目录的用户(属主)
文件或目录的用户组(属组)
文件的大小
文件最后修改的日期时间
文件名
3. 什么是 PATH 环境变量,它有什么作用?
答:PATH是命令的搜索路径
作用:PATH可以在其他的子shell中定义命令的目录路径
4. 描述 Linux 下文件删除的原理?
答:硬链接数为0,i_link为0
进程数为0,i_count为0
5.企业故障案例 2:往磁盘中写入数据出现 no space left on device 故障,请写出可能原因。
答:1)inode 满:定时任务书写有误,导致邮件产生大量小文件,把 inode 占用完
2)block 满:df –h du –sh 定位到大文件,并将其删除
6. 企业故障案例 3: Tomcat 服务器磁盘满了,临时删除对应日志文件但是发现空间未释放,可能原因是?如何解决)。
答:进程占用,ps –ef|grep delete 相应的服务进程,并将其重启即可释放空间
7.企业故障案例 4:定时任务的脚本手工可以执行,但是放到定时任务里无法执行,可能原因是什么?
答:原因一:环境变量有问题,没有使用绝对路径执行定时任务
原因二:定时任务写错了