Linux命令进阶篇之二

本实验主要介绍常用的几种命令,这些命令通常会结合在一起用,这就需要用到管道命令符了。通过本实验的学习了解使用管道命令选取查看文档内容,学习查阅文档。

 

一、实验目的

1)如何查阅一个文档

2)了解使用管道命令选取查看文档内容

3)以二进制方式查阅文档内容

 

二、实验步骤

1)文件查看命令之 cat 与 tac 命令

    文件查看命令之一:cat

  语法:cat [-n] 文件

       解释:-n:显示行号    

       直接跟文件,可以查看文件

       更多用法请使用man page查看。

  先cp一份文件来操作:

   Linux命令进阶篇之二

   然后进行 cat:

   Linux命令进阶篇之二

   加入 -n 参数,会将行号显示出来:

     Linux命令进阶篇之二

   cat 是从头到尾显示,那 tac 就是从尾到头显示:

     Linux命令进阶篇之二

 

2)查阅命令之二:more &&less 命令

  语法:more [文件名]

       more 可以实现一页一页翻动

   Linux命令进阶篇之二

   Linux命令进阶篇之二

   按空格键或者回车键盘 就能往下翻页了。按 q 键就可以离开,输入 “/keyword” 可以对关键词就行搜索,按 n 可以向下搜索 。

   less 命令与 more 相比,更加灵活:

  Linux命令进阶篇之二

    n 就是向下搜索,N 就是向上搜索

  Linux命令进阶篇之二

 

3)查看部分文档内容之 head 与 tail 命令

   ①选取头部文档内容之命令:head

      语法:head [-n number] 文档

      解释:-n 后面接数字,代表显示几行的意思

      head命令的作用是选取头几行,默认不加参数,是显示头十行的内容。

  Linux命令进阶篇之二

   加上 -n 参数,显示后面所接数字的行数:

  Linux命令进阶篇之二

 

 ②选取尾部文档内容之命令:tail

       语法:tail [-n number] 文档;tail [-f] 文档

       解释:-f 检测文档,直到按下 Ctrl+C 才会退出,可以用来监测日志的写入。

       默认情况下 ,显示尾部十行信息

  Linux命令进阶篇之二

   加上 -n 参数,显示后面所接数字的行数:

  Linux命令进阶篇之二

   一个很有意思的参数:-f :可以做日志监测哦~,当有日志文件写入,就会实时显示了,按下 Ctrl +c 就会退出。

  Linux命令进阶篇之二

  如果我要选取/tmp/passwd 文件的第10到20行的内容该怎么办呢?我们可以这样做,先选取头20行,然后再取后11行不就行了。那怎么做呢。这里我们就要用到管道命令了。先用 head 选取前20行,然后把输出结果交给tail命令选取后11行内容就行了。

  Linux命令进阶篇之二

 

4)查看二进制文件的内容之 od 内容

    命令:od

      语法:od [-t TYPE] 档案

      解释:-t 后面接输出的类型

  有哪些类型:

  Linux命令进阶篇之二

   举例:查找head 命令这个二进制文件有什么内容,这里仅显示前五行内容

  Linux命令进阶篇之二

 

三、心得体会

  本次实验是教我们如何学会查阅文档。通过more,less,head,tail 等命令的帮助,我们可以更加便捷的查阅文档,再也不用盯着满屏幕的英文单词无从下手了。

 

四、分析与思考

1)请说明more和less有何区别?它们各自的优缺点是什么?

答:① less可以按键盘上下方向键显示上下内容,more不能通过上下方向键控制显示,但是可以通过ctrl+B返回上一页。
  ②  less不必读整个文件,加载速度会比more更快。
  ③  less退出后shell不会留下刚显示的内容,而more退出后会在shell上留下刚显示的内容。

 

2)/var/log/httplog是一个日志文件,如何监控它的数据写入?

答:tail  -f  /var/log/httplog

 

3)选取/etc/passwd 第5行到15行的数据,并显示出行号?

答:head  -n 15 ./passwd | tail -n 11 |  cat  -n 

 

五、答题

Linux命令进阶篇之二

 

 

 

 

上一篇:算法入门 - 链表的实现及应用(Java版本)


下一篇:2021-09-12 leetcode 数据结构 队列 622.设计循环队列 c++