【Linux】基本指令 (上篇)(3)

简介: 【Linux】基本指令 (上篇)(3)

more 指令

语法:more [选项] [文件]

功能:more 命令功能类似 cat,都是将文本中的内容显示到终端上,但是与 cat 不同的是,more 会以全屏幕的方式按页显示文本文件的内容,当我们按空白键(space)时就往下一页显示,按 b 键时就会往回(back)一页显示,而且 more 还有搜寻字串的功能;同时,由于 more 命令从前向后读取文件,因此在启动时就加载整个文件;

常用选项

  • +n 从笫n行开始显示;
  • -n 定义屏幕大小为n行;
  • /字符串:向下搜索“字符串”的功能;
  • -c 从顶部清屏,然后显示;
  • -p 通过清除窗口而不是滚屏来对文件进行换页,与 -c 选项相似;
  • -s 把连续的多个空行显示为一行;
  • -u 把文件内容中的下画线去掉;


拓展知识

1、在 more 中,我们可以使用 /[目标字符串] 来查找字符串;但是 more 只能查找处于文本后面的字符串,而不能查找处于文本前面的字符串;

2020062310470442.png

20200623104134875.png

2、我们可以按 q 键退出查看;

指令演示

指定页面行数显示:

2020062310470442.png

查找字符串:

20200623104134875.png

20200623104650275.png

less 指令

语法: less [参数] 文件

功能:less 与 more 类似,但使用 less 可以随意浏览文件,而more仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个文件,对于显示大型文件具有较高的效率。

常用选项

  • -i 忽略搜索时的大小写;
  • -N 显示每行的行号;
  • /字符串:向下搜索“字符串”的功能;
  • ?字符串:向上搜索“字符串”的功能;
  • n 重复前一个搜索(与 / 或 ? 有关);
  • N 反向重复前一个搜索(与 / 或 ? 有关);

拓展知识

1、less 工具也是对文件或其它输出进行分页显示的工具,应该说是 linux 正统查看文件内容的工具,功能极其强大;


2、less 的用法比起 more 更加的有弹性;在 more 的时候,我们并没有办法向前面翻, 只能往后面看,但若使用了 less 时,就可以使用 [pageup] [pagedown] 等按键的功能前后翻看文件,更容易用来查看一个文件的内容;


3、除此之外,在 less 里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜;

指令演示

向后查找:

2020062310470442.png

20200623104134875.png

向前查找:

20200623104650275.png

20200623104829521.png

head 指令

语法:head [参数] [文件]

功能:head 就像它的名字一样的浅显易懂,它是用来显示档案的开头至标准输出中,默认 head 命令打印其相应文件的开头10行;

常用选项

  • -n<行数> 指定显示的行数;

指令演示

2020062310470442.png

tail 指令

语法:tail [参数] [文件]

功能:用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理;常用查看日志文件。

常用选项

  • f 循环读取;
  • -n<行数> 指定显示行数;

拓展知识

1、tail 命令从指定点开始将文件写到标准输出;

2、使用tail命令的 -f 选项可以方便的查阅正在改变的日志文件;

3、tail - f filename 会把 filename里最尾部的内容显示在屏幕上,并且会自动刷新,使你看到最新的文件内容。

指令演示

2020062310470442.png

现在我们知道了如何显示文件头部和文件尾部的数据,那么**如何显示文件中间位置的数据呢?**方法有以下两种:

1、重定位

我们可以先使用重定位符 > 将由head指令得到的数据保存到一个临时文件中,然后再使用tail指令取出临时文件中尾部的数据,这些数据就是test.txt中部位置的数据。

2020062310470442.png

但是我们发现这种方式要进行数据拷贝以及产生临时文件,在时间和空间上都会有消耗,所以我们一般用第二种方式。(注:对于重定向命名来说,如果存在目标临时文件,就将数据放入该临时文件中,如果没有则会自动创建一个临时文件)

2、管道

在我们日常生活中存在许多管道,比如天然气管道、煤气管道、石油管道,它们都有一个共同的作用 – 运输资源;而对于计算机来说,数据就是资源,所以Linux中的管道就是用于传输数据的一种手段,它分为入口和出口。

我们知道,head 和 tail 都是从文件中读取数据,然后输出到终端;在下面的程序中,head 和 tail 被管道连接,所以 head 从文件中读取的数据会直接流入管道中,然后 tail 从管道中读取数据,然后输出到终端上。

2020062310470442.png

管道之间可以配合使用,就像工厂中的流水线一样,一个产品可以经过不同的管道加工,然后被输出出来;比如我们可以多使用几个管道来达到逆序输出test.txt中中间部分的三行数据的效果。

20200623104134875.png

上述命令的分解效果如下:

2020062310470442.png



相关文章
|
1月前
|
存储 Linux
Linux专栏08:Linux基本指令之压缩解压缩指令
Linux专栏08:Linux基本指令之压缩解压缩指令
37 4
|
1月前
|
Linux
Linux专栏09:Linux基本指令之时间日期指令及关机重启指令
Linux专栏09:Linux基本指令之时间日期指令及关机重启指令
54 2
|
1月前
|
Linux
Linux专栏07:Linux基本指令之文件搜索指令
Linux专栏07:Linux基本指令之文件搜索指令
54 2
|
1月前
|
Unix Linux
Linux专栏06:Linux基本指令之文件处理指令
Linux专栏06:Linux基本指令之文件处理指令
48 2
|
1月前
|
人工智能 Linux 索引
Linux专栏05:Linux基本指令之目录处理指令
Linux专栏05:Linux基本指令之目录处理指令
30 2
|
24天前
|
存储 人工智能 Ubuntu
Linux指令学习(一)
Linux指令学习(一)
54 0
|
1月前
|
安全 Unix Linux
【Linux】基本指令
【Linux】基本指令
|
1月前
|
存储 Linux 开发工具
【Linux】常见指令(下)
【Linux】常见指令(下)
|
1月前
|
存储 Linux 网络安全
【Linux】常见指令(上)
【Linux】常见指令(上)
|
1月前
|
Linux 数据安全/隐私保护
Linux专栏04:Linux基本指令之用户管理指令
Linux专栏04:Linux基本指令之用户管理指令
36 0