命令部分:
1.一个目录中有很多文件(ls -l 查看时好多屏),想用一条命令最快速度查看到最近更新的文件。如何看?
ls -rtl
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 或 >/dev/null 2>&1
00 00 * * * /usr/bin/find /app/logs -type f -mtime +7 –exec rm –f {} ; &> /dev/null 或 >/dev/null 2>&1
00 00 * * * rm -f $(find /app/logs -type f -mtime +7) &> /dev/null 或 >/dev/null 2>&1
4.调试系统服务时,希望能实时查看/var/log/messages 系统日志的更新,如何做?
tail –f /var/log/messages
tail –F
tailf /var/log/messages
5.打印轻量级 web 服务的配置文件 nginx.conf 内容的行号及内容,该如何做?
cat –n nignx.conf
grep –n ‘.’ nginx.conf
awk ‘{print NR,$0}’ nginx.conf
vim :set nu
sed ‘=’ nginx.conf
less –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”字符串,请给出命令。
grep –Eo ‘oldboy|31333741’ oldboy.txt
egrep –o ‘oldboy|31333741’ oldboy.txt
sed –r ‘s#am (.),.is (.*)#\1\2#g’ oldboy.txt
awk –F ‘[ ,]’ ‘{print $3,$NF}’ oldboy.txt
7.请问在一个命令上加什么参数可以实现下面命令的内容在同一行输出。
echo "oldboy";echo "oldboy"
echo –n “oldboy”;echo “oldboy”
8.如何快速查到 ifconfig 命令的全路径(假如你不知道其路径),请给出命令。
which ifconfig
whereis ifconfig
9.查找/oldboy/目录下所有文件,并把文件中的 www.etiantian.org 字符串替换成
www.oldboyedu.com
find /oldboy/ -type f |xargs sed ‘s#www.etiantian.org#www.oldboyedu.com#g’
10.过滤出/etc/services 文件包含 3306 或 1521 两数据库端口的行的内容。
grep -E ‘3306|1521’ /etc/services
egrep ‘3306|1521’ oldboy.txt
sed –nr ‘/3306|1521/p’ oldboy.txt
awk ‘/3306|1521/’ oldboy.txt
11.请将 ifconfig eth0 和 ip add 结果中的 eth0 网卡对应 ip 地址取出(不低于 2 种方法)。
[root@oldboyedu ~]# ifconfig eth0
eth0: flags=4163
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:
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
ifconfig eth0|sed -rn 's#.t (.) net.*#\1#gp'
ifconfig eth0|awk -F'[ :]+' 'NR==2{print 3}'
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
chown oldboy.sa oldboy.txt
chown oldboy:sa oldboy.txt
chage sa 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 zcf ./$(date +%F).tar.gz >/dev/null 2>&1
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 的硬链接数是多少?为什么。
2 目录本身是一个硬链接,.
3 目录本身是一个硬链接,.也是一个,..也是一个
16. 企业故障案例 1:(参考问题 9)
作为运维工程师,你在工作中遇到的一个实际问题,情况是:一个 lnmp 的服务器,站点目录下所有的文件均被植入了如下内容:
第一步:
备份
第二步:
grep ‘A’ *
find / -type f |xargs sed ‘s#A##g’
定位到文件内容后,将其替换掉,确认无误再加-i 参数
总结报告并查找故障原因,进行针对性防护
17.请输出当前日期和时间、3 天前的日期、未来 10 天的日期。
date
date –d “-3 day” +%F
date –d “+10 day”
18.写出 10 个以上 Linux 命令行中特殊字符及对应含义。
* 表示所有
?比配单个字符
. 当前目录
.. 上一级目录
~ 家目录
- 上一次所在目录
‘’引用字符 所见即所得
“” 引用字符串 ,解析变量,命令
;表示命令分隔符
·· 引用命令,解析命令 相当于$()
| 管道,将前面的数据流交给后面处理
理论部分:
1、请说出软链接和硬链接的区别。
(1)分类:在Linux系统中,链接分两种:一种被称为硬链接,另一种被称为符号链接或软链接。
(2)概念:硬链接文件与源文件的Inode节点号相同,而软链接文件相当于Windows下面的快捷方式(Inode节点号与源文件不同)
(3)创建:默认不带参数的情况下,ln命令创建的是硬链接,带-s参数的ln命令创建的是软链接。
(4)特点:
a.不能对目录创建硬链接,但可以创建软链接,对目录的软链接会经常被用到。
b.软链接可以跨文件系统,硬链接不可以跨文件系统。
c.删除软链接文件,对源文件及硬链接文件无任何影响。
d.删除文件的硬链接,对源文件及软链接文件无任何影响。
e.删除链接文件的源文件,对硬链接文件无影响,会导致软链接失效。
f.同时删除源文件及其硬链接文件,整个文件才会被真正地删除。
2、请描述ls -lhi输出中,每一列的意义
[root@yuzhiwei/home/yzw]# ls -lhi
total 4.0K
27280 - rw-r--r-- 1 1003 incahome 5 Mar 26 13:28 a.txt
索引节点 文件类型 权限 硬链接数 用户 用户组 文件大小 文件修改时间 文件名
3、什么是PATH环境变量,他有什么作用?
path环境变量一般是指在操作系统中用来指定操作系统运行环境的一些参数,如:临时文件夹位置和系统文件夹位置等。
作用:指定命令搜索路径。
4、Linux下文件删除的原理:
1、静态文件:没有进程或程序正在访问的文件。
所有的硬链接数为0(i_link),即所有硬链接都被删掉,包括自身。
2、动态文件:有程序或进程访问的文件
删除:a、i_link为0. 所有硬链接删除。
b、i_count为0. i_count是进程调用文件的数量(引用计数),所有进程调用都要停止取消。
5、企业故障案例 2:往磁盘中写入数据出现 no space left on device 故障,请写出可能原因。
inode 满:定时任务书写有误,导致邮件产生大量小文件,把 inode 占用完了
block 满:df –h du –sh 定位到大文件,并将其删除
6、企业故障案例 3: Tomcat 服务器磁盘满了,临时删除对应日志文件但是发现空间未释放,可能原因是?如何解决)。
进程占用,ps –ef|grep delete 相应的服务进程,并将其重启即可释放空间
7、企业故障案例 4:定时任务的脚本手工可以执行,但是放到定时任务里无法执行,可能原因是什么?
原因一:环境变量问题,没有使用绝对路径执行定时任务
原因二:定时任务写错了