NO17 第二关考试: 返回上次目录和ls -lrt倒序看文件--删除7天前的日志--查看日志更新--记录行号

时间:2022-11-05 14:54:06

第二题:不用cd /ildboy命令如何回到上一次的目录:

假如当前目录是:

[root@localhost oldboy]# pwd
/oldboy
现在因为需要进入到了/tmp目录下进行操作,执行的命令如下:
[root@localhost oldboy]# cd /tmp
[root@localhost tmp]# pwd
/tmp
操作完毕后希望快速返回上一次进入的目录,即/oldboy目录,该如何作呢?不能用cd /oldboy命令。

解答:
[root@localhost tmp]# cd -  (回到上一次的目录)
/oldboy

此题原理:
[root@localhost oldboy]# env|grep -i oldpwd  (系统有个变量自动跟随记录)
OLDPWD=/tmp 
[root@localhost oldboy]# cd - 
/tmp
[root@localhost tmp]# env|grep -i oldpwd
OLDPWD=/oldboy

关于cd命令:
[root@localhost tmp]# cd .     #当前目录
[root@localhost tmp]# cd ..    #上级目录
[root@localhost /]# cd ~       #家目录
[root@localhost ~]# cd -       #上一次的目录
/

第三题:一个目录中有很多文件(ls查看时好多屏),想最快速度查看到最近更新的文件,如何看?

解答:
[root@localhost ~]# ls -lrt /etc

ls命令:
-r  倒序,反转排序
-t  按修改时间排序

第四题:

NO17 第二关考试: 返回上次目录和ls -lrt倒序看文件--删除7天前的日志--查看日志更新--记录行号

NO17 第二关考试: 返回上次目录和ls -lrt倒序看文件--删除7天前的日志--查看日志更新--记录行号

第五题:已知apache服务的访问日志按天记录在服务器本地目录/app/logs下,由于磁盘空间紧张,现在要求只能保留7天访问日志, 请问如何解决?
请给出解决办法或配置或处理命令。
(提示:可以从apache服务配置上着手,也可以从生成出来的日志上着手)

解答:
[root@localhost logs]# find /app/logs/ -type f -mtime +7 (先查看文件)
方法一:
[root@localhost logs]# find /app/logs/ -type f -mtime +7|xargs rm -f
方法二:
[root@localhost logs]# find /app/logs/ -type f -mtime +7 -exec rm -f {} \;
方法三:
[root@localhost logs]# rm -f 'find /app/logs/ -type f -mtime +7'

·find查找与时间有关的参数:
-atime n    #n 为数字,意义为在n天之前的【一天之内】被access过的档案。
-ctime n    #n 为数字,意义为在n天之前的【一天之内】被change过状态的档案。
-mtime n    #n 为数字,意义为在n天之前的【一天之内】被modification过的档案。
-newer file  #file 为一个存在的档案,意思是说,只要档案比file还要新,就会被列出来

第六题:调试系统服务时,希望能实时查看系统日志/var/log/messages的更新,如何做?

解答:
方法一:
[root@localhost logs]# tail -f /var/log/messages
[root@localhost logs]# tailf /var/log/messages    (tailf和tail -f效果一样)

[root@localhost logs]# tail -F /var/log/messages (-F和-f比多个重试的功能,就是文件不存在了,会不断尝试

第七题:打印配置文件nginx.conf内容的行号及内容,该如何做?

解答:nginx和apache是不同的网页服务软件,是同类,就像男人和女人都是人类一样。

创建环境:
[root@localhost /]# echo stu{01..20} |xargs -n 1 >nginx.conf
[root@localhost /]# cat nginx.conf
stu01
stu02
stu03
stu04
stu05
stu06
stu07
stu08
stu09
stu10
stu11
stu12
stu13
stu14
stu15
stu16
stu17
stu18
stu19
stu20

方法一:记住
[root@localhost /]# cat -n nginx.conf   (最常用,记住!)

方法二:
[root@localhost /]# nl nginx.conf(number lines,专业显示行号不太常用)空行不记录行号。

方法三:
[root@localhost /]# grep -n . nginx.conf   (对过滤内容显示行号,想对所有文件显示行号,就得过滤所有内容。“.”表示任意单个字符。这个不会对空行记录行号
[root@localhost /]# grep -n ".*" nginx.conf  (加*会对空行记录行号)

方法四:记住
[root@localhost /]# vim nginx.conf   (记住!)
然后输入set nu  不要行号就是set nonu

方法五: 记住
[root@localhost /]# awk '{print NR,$0}' nginx.conf  (NR表示行号,$0表示整行内容)

方法六:记住
[root@localhost /]# sed = nginx.conf| sed 'N;s/\n/ /'

方法七:
[root@localhost /]# less -N nginx.conf