3Linux操作命令more,less,head,tail

  • more 命令
  • less 命令
  • head 命令
  • tail 命令

more 命令

more 命令,功能类似 cat ,cat 命令是将整个文件的内容从上到下显示在屏幕上。 more 命令会一页一页的显示,方便使用者逐页阅读,而最基本的指令就是按空白键(space)往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能 。more 命令从前向后读取文件,因此在启动时就加载整个文件。

(1)命令格式

1
more [选项] 文件

(2)常用参数

参数 描述
+n 从笫 n 行开始显示
-n 定义屏幕大小为 n 行
+/pattern 在每个档案显示前搜寻该字串(pattern),然后从该字串前两行之后开始显示
-c 从顶部清屏,然后显示
-d 提示“Press space to continue,’q’ to quiet”,禁用响铃功能
-p 通过清除窗口而不是滚屏来对文件进行换页,与-c 选项相似
-s 把连续的多个空行显示为一行
-u 把文件内容中的下画线去掉

(3)常用操作

符号 描述
= 输出当前行的行号
q 退出 more
空格键 向下滚动一屏
b 返回上一屏

(4)常用范例

  • 请创建文件 test.log ,文件内容如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2014-11-5 a
2014-11-5 b
2014-11-5 c
2014-11-5 d
2014-11-5 e
2014-11-5 f
2014-11-5 g
2014-11-5 h
2014-11-5 e
2014-11-5 a
2014-11-5 b
2014-11-5 c
2014-11-5 d
2014-11-5 e
2014-11-5 f
2014-11-5 g
2014-11-5 h
2014-11-5 a
2014-11-5 b
2014-11-5 c
2014-11-5 d
2014-11-5 e
  • 例一:从第五行开始显示 test.log 文件中的内容,可以使用如下命令:
1
more +5 test.log
  • 例二:从 test.log 文件中查找第一个出现”g”字符串的行,并从该处前两行开始显示输出,可以使用如下命令:
1
more +/g test.log
  • 例三:设定每屏行数为 5,可以使用如下命令:
1
more -5 test.log
  • 例四:使用 ll 和 more 命令显示/etc 目录信息,可以使用如下命令:
1
ll /etc | more -10

每页显示 10 个文件信息,按 Ctrl+F 或者 空格键 将会显示下 10 条文件信息。

less 命令

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

(1)命令格式

1
less [选项] 文件

(2)常用参数

参数 描述
-e 当文件显示结束后,自动离开
-f 强迫打开特殊文件,例如外围设备代号、目录和二进制文件
-i 忽略搜索时的大小写
-m 显示类似 more 命令的百分比
-N 显示每行的行号
-s 显示连续空行为一行

(3)常用操作

符号 描述
/字符串 向下搜索“字符串”的功能
?字符串 向上搜索“字符串”的功能
n 重复前一个搜索(与 / 或 ? 有关)
N 反向重复前一个搜索(与 / 或 ? 有关)
b 向前翻一页
d 向后翻半页
q 退出 less 命令
空格键 向后翻一页
向上键 向上翻动一行
向下键 向下翻动一行

(4)常用范例

  • 例一:显示 test.log 文件中的内容,并显示行号,可以使用如下命令:
1
less -N test.log
  • 例二:显示 test.log 文件中的内容,搜索字符串”test”,可以使用如下命令:
1
2
less  test.log
/test
  • 例三:ps 查看进程信息并通过 less 分页显示 ,可以使用如下命令:
1
ps -f | less

less 与 cat 和 more 的区别:

cat 命令功能:用于显示整个文件的内容,单独使用没有翻页功能。因此经常和 more 命令搭配使用,cat 命令还有就是可以将数个文件合并成一个文件的功能。

more 命令功能:让画面在显示满一页时暂停,此时可按空格健继续显示下一个画面,或按 q 键停止显示。

less 命令功能:less 命令的用法与 more 命令类似,也可以用来浏览超过一页的文件。所不同的是 less 命令除了可以按空格键向下显示文件外,还可以利用上下键来卷动文件。当要结束浏览时,只要在 less 命令的提示符“:”下按 q 键即可。

其实这三个命令除了 cat 命令有合并文件的功能,其余功能上相近,只是从浏览习惯和显示方式上有所不同。

head 命令

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

(1)命令格式

1
head [选项] [文件]

(2)常用参数

参数 描述
-q 隐藏文件名
-v 显示文件名
-c<字节> 显示字节数
-n<行数> 显示的行数

(3)常用范例

  • 例一:显示 test.log 文件中的前 5 行内容,可以使用如下命令:
1
head -n 5 test.log
  • 例二:显示 test.log 和 qin.log 文件中的前 5 行内容,可以使用如下命令:
1
head -n 5 test.log  qin.log
  • 例三:显示 test.log 文件中除了最后 5 行的内容,可以使用如下命令:
1
head -n -5 test.log

tail 命令

tail 命令主要用于显示指定文件末尾内容。常用查看日志文件。

(1)命令格式

1
tail [选项] [文件]

(2)常用参数

参数 描述
-f 循环读取
-q 不显示处理信息
-v 显示详细的处理信息
-c<字节> 显示的字节数
-n<行数> 显示行数

(3)常用范例

  • 例一:显示 test.log 文件中的最后 5 行内容,可以使用如下命令:
1
tail -n 5 test.log
  • 例二:显示 test.log 文件中的最后 5 行内容,当 test.log 文件有新内容增加,自动更新显示。可以使用如下命令:
1
tail -n 5 -f test.log

ping www.test.com >> test.log这条命令作用是,ping 远程主机,并将信息追加到 test.log 文件中。& 的作用是将这条命令放在后台执行,这样 test.log 文件就会一直有内容增加。说明一下,linux 下执行 ping 命令会一直执行,必须手动停止才行。而 windows 下执行 ping 命令时,发送一定请求后会自动停止。

使用 tail 命令的-f 选项可以即时输出文件变化后追加的内容,tail -f filename会把 filename 里最尾部的内容显示在屏幕上,并且不但刷新,使你看到最新的文件内容。 另外顺便说一下怎么查看后台正在运行的任务及怎么停止任务。 jobs 命令可以查看正在后台运行的任务。kill 命令可以杀死一个任务,但要使用任务的 id。任务的 id 可以通过 ps 命令查看获得。