【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天前
|
算法 Unix Linux
【linux】详解linux基本指令
【linux】详解linux基本指令
|
1天前
|
Unix Linux 索引
【linux】详解linux基本指令
【linux】详解linux基本指令
|
1天前
|
监控 Java Linux
Linux下JVM相关指令详解及案例介绍
Linux下JVM相关指令详解及案例介绍
9 1
|
6天前
|
Linux
linux指令按端口查找和杀死进程
linux指令按端口查找和杀死进程
11 0
|
6天前
|
Linux PHP 开发工具
linux一些常用指令分享
linux一些常用指令分享
8 0
|
7天前
|
Linux Windows
【Linux】Linux的基本指令_3
【Linux】Linux的基本指令_3
5 0
|
7天前
|
Linux C语言 Windows
【Linux】Linux的基本指令_2
【Linux】Linux的基本指令_2
6 0
|
7天前
|
存储 人工智能 Ubuntu
【Linux】Linux的基本指令_1
【Linux】Linux的基本指令_1
9 0
|
7天前
|
Ubuntu Unix Linux
【在Linux世界中追寻伟大的One Piece】Linux是从哪里来的?又是怎么发展的?基本指令你知道哪些?
【在Linux世界中追寻伟大的One Piece】Linux是从哪里来的?又是怎么发展的?基本指令你知道哪些?
7 0
|
7天前
|
Unix Linux C语言
【Linux】---Linux下基本指令(2)
【Linux】---Linux下基本指令(2)
9 0