Linux less、more命令详解

一、less命令介绍

  less命令用于显示文件或命令输出的内容,它一次只显示一个页面(分页显示工具)。它类似于more命令,但less具有更高级的功能,它允许您在文件中向前和向后导航。less命令主要用于打开大文件,less不会读取整个文件,相比于 vim 或 nano 等文本编辑器,加载时间会更快。less命令的语法格式如下:

less [OPTIONS] filename

  当用less命令查看一个大文件时,通常1页显示不完,此时你会在命令窗口底部看到一个冒号(:),此时可以按上键下键来显示上一行下一行,也可以按b键空格键来显示上一页下一页。如果要向上或向下显示指定行,可以键入数字,然后跟b键或空格键。

  回到第一行,可以键入g

  定位到文件的第N行,可以键入Ng

  定位到文件最后一行,可以键入G

  此时如果要搜索某个字符串,可以键入/,然后键入要搜索的模式(正则表达式),按下回车,即可高亮显示搜索内容(按n或N键来显示下一个/上一个搜索到的内容)

  到达文件末尾时,字符串(END)显示在屏幕底部。要退出 less 并返回命令行,请按 q 。

less命令的常用选项如下:

选项 功能
-N less命令显示行号
-X 默认情况下,less退出时,将从屏幕中清除文件内容,如果要在屏幕上保留文件内容,可以使用-X选项
+F +F选项告诉 less 您查看的文件内容可能会更改,这在打开日志文件时很有用(与tail -f几乎相同)

 

二、less使用实例

【例1】使用管道符将ps命令的输出重定向到less命令:

➜  test ps -aux|less
USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root           1  0.0  0.0 204676  7012 ?        Ss   Jul07   6:07 /sbin/init nokaslr
root           2  0.0  0.0      0     0 ?        S    Jul07   0:06 [kthreadd]
root           4  0.0  0.0      0     0 ?        I<   Jul07   0:00 [kworker/0:0H]
root           6  0.0  0.0      0     0 ?        I<   Jul07   0:00 [mm_percpu_wq]
root           7  0.0  0.0      0     0 ?        S    Jul07   6:29 [ksoftirqd/0]
root           8  0.0  0.0      0     0 ?        I    Jul07  50:39 [rcu_sched]
root           9  0.0  0.0      0     0 ?        I    Jul07   0:00 [rcu_bh]
root          10  0.0  0.0      0     0 ?        S    Jul07   0:16 [migration/0]
root          11  0.0  0.0      0     0 ?        S    Jul07   0:15 [watchdog/0]
root          12  0.0  0.0      0     0 ?        S    Jul07   0:00 [cpuhp/0]
root          13  0.0  0.0      0     0 ?        S    Jul07   0:00 [cpuhp/1]
root          14  0.0  0.0      0     0 ?        S    Jul07   0:14 [watchdog/1]
root          15  0.0  0.0      0     0 ?        S    Jul07   0:19 [migration/1]
root          16  0.0  0.0      0     0 ?        S    Jul07   2:06 [ksoftirqd/1]
root          18  0.0  0.0      0     0 ?        I<   Jul07   0:00 [kworker/1:0H]
root          19  0.0  0.0      0     0 ?        S    Jul07   0:00 [cpuhp/2]
root          20  0.0  0.0      0     0 ?        S    Jul07   0:16 [watchdog/2]
root          21  0.0  0.0      0     0 ?        S    Jul07   0:18 [migration/2]
root          22  0.0  0.0      0     0 ?        S    Jul07   0:38 [ksoftirqd/2]
root          24  0.0  0.0      0     0 ?        I<   Jul07   0:00 [kworker/2:0H]
root          25  0.0  0.0      0     0 ?        S    Jul07   0:00 [cpuhp/3]
root          26  0.0  0.0      0     0 ?        S    Jul07   0:15 [watchdog/3]
root          27  0.0  0.0      0     0 ?        S    Jul07   0:19 [migration/3]
root          28  0.0  0.0      0     0 ?        S    Jul07   0:36 [ksoftirqd/3]
:       # 此时只显示了1页,并没有显示完

 【例2】使用less命令查看/etc/passwd内容,并显示行号

➜  test less -N /etc/passwd
      1 root:x:0:0:root:/root:/bin/bash
      2 daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
      3 bin:x:2:2:bin:/bin:/usr/sbin/nologin
      4 sys:x:3:3:sys:/dev:/usr/sbin/nologin
      5 sync:x:4:65534:sync:/bin:/bin/sync
      6 games:x:5:60:games:/usr/games:/usr/sbin/nologin
      7 man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
      8 lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
      9 mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
     10 news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
     11 uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
:

三、more命令介绍

  我们在打开某些文本文件的时候,这些文件,可能会非常长,无法在一屏的空间内显示完全。所以,在查看这种文件时,我们需要分页显示。这时,我们就可以使用 more 命令。more命令的基本格式为:

more [OPTIONS] filename

more的常用选项如下表所示:

选项 功能
+N 从指定行开始显示,例如从第100行开始显示:more +100 /etc/passwd
-N 限制每页显示的行数,例如我们一次只想查看10行:more -10 /etc/passwd
-d 在终端底部显示提示信息
-c

禁止滚动,例如只想用10行来显示信息:more -10 -c /etc/passwd

从顶部清屏开始显示:more -c /etc/passwd

 例如,我们用more来查看/etc/passwd的内容,只需输入more /etc/passwd,执行结果如下图所示:

 在终端的左下角,会显示已显示的文本内容在全文的占比情况。如果我们想要查看下一屏的内容,只需按空格键即可。翻页之后,我们也会看到左下角百分比相应增长。

more命令常用按键:

  空格键:显示下一页

  b:显示上一页

  回车:显示下一行

  q:退出

  =:输出当前行的行号 

四、more命令使用实例

【例1】从第50行开始显示文本内容:

➜  method more +50 data.txt
......
...... if h.Req.ResourceType <= room_common.ResourceType_Unknown { return util.NewBizErr(errno.BadRequest, "resource_type --More--(35%)

 

posted @ 2021-09-22 10:38  白春雨  阅读(3817)  评论(0编辑  收藏  举报