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

Posted Sinsen柳

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NO17 第二关考试: 返回上次目录和ls -lrt倒序看文件--删除7天前的日志--查看日志更新--记录行号相关的知识,希望对你有一定的参考价值。

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

假如当前目录是:

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

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

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

 

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

 


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

解答:
[[email protected] ~]# ls -lrt /etc


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

 


第四题:暂不讲

 

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

解答:
[[email protected] logs]# find /app/logs/ -type f -mtime +7 (先查看文件)
方法一:
[[email protected] logs]# find /app/logs/ -type f -mtime +7|xargs rm -f
方法二:
[[email protected] logs]# find /app/logs/ -type f -mtime +7 -exec rm -f {} \;
方法三:
[[email protected] 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的更新,如何做?

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

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

 


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

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

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

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


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

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


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

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


方法六:记住
[[email protected] /]# sed = nginx.conf| sed ‘N;s/\n/ /‘


方法七:
[[email protected] /]# less -N nginx.conf

 

以上是关于NO17 第二关考试: 返回上次目录和ls -lrt倒序看文件--删除7天前的日志--查看日志更新--记录行号的主要内容,如果未能解决你的问题,请参考以下文章

运维初学者怎样学习?

Linux入门第二关考试题

浅谈如何学习linux

Linux课程有啥内容?

新手入门Linux的步骤

想学Linux 应该怎么入手