less命令也是对文件或其它输出进行分页显示的工具,功能极其强大。less 的用法比起 more 更加有弹性。前面more介绍中,按b可以向前翻页, 按空格向后翻页, less 可以使用 [pageup] [pagedown] 等按键的功能来往前往后翻看文件,更容易用来查看一个文件的内容!除此之外,在 less 里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜。最主要的区别:less 在查看之前不会加载整个文件。

1.命令格式

less [参数]  文件 

2.命令功能


less 与 more 类似,但使用 less 可以随意浏览文件,而且 less 在查看之前不会加载整个文件。显示方面,显示内容方式不是输出到窗口,而是类似vi打开的文件一样,退出按q。

3.命令参数


  • -b <缓冲区大小> 设置缓冲区的大小
  • -e 当文件显示结束后,自动离开
  • -f 强迫打开特殊文件,例如外围设备代号、目录和二进制文件
  • -g 只标志最后搜索的关键词
  • -i 忽略搜索时的大小写
  • -m 显示类似more命令的百分比
  • -N 显示每行的行号
  • -o <文件名> 将less 输出的内容在指定文件中保存起来
  • -Q 不使用警告音
  • -s 显示连续空行为一行
  • -S 行过长时间将超出部分舍弃
  • -x <数字> 将“tab”键显示为规定的数字空格

4.按键操作


  • /字符串:向下搜索“字符串”的功能
  • ?字符串:向上搜索“字符串”的功能
  • n:重复前一个搜索(与 / 或 ? 有关)
  • N:反向重复前一个搜索(与 / 或 ? 有关)
  • b 向后翻一页
  • d 向后翻半页
  • h 显示帮助界面
  • Q 退出less 命令
  • u 向前滚动半页
  • y 向前滚动一行
  • 空格键 滚动一行
  • 回车键 滚动一页
  • [pagedown]: 向下翻动一页
  • [pageup]: 向上翻动一页

5.示例


1、查看文件内容

命令:

less test1.txt

输出:

ubuntu@VM-4-14-ubuntu:~/less$ less test1.txt
1
2
3
4
5
6
7
8
9
10
11
1
13
14
15
16
17
18
19
20

如果显示END了 按 q退出,没有的情况下可以按page up page down 上下翻页,也可用上下键一行行上下翻动。

2、ps查看进程信息并通过less分页显示

命令:

ps -ef |less

输出:

UID          PID    PPID  C STIME TTY          TIME CMD
root           2       0  0 13:42 ?        00:00:00 [kthreadd]
root           3       2  0 13:42 ?        00:00:00 [rcu_gp]
root           4       2  0 13:42 ?        00:00:00 [rcu_par_gp]
root           5       2  0 13:42 ?        00:00:00 [kworker/0:0-events]
root           6       2  0 13:42 ?        00:00:00 [kworker/0:0H-kblockd]
root           7       2  0 13:42 ?        00:00:00 [kworker/0:1-events]
root           9       2  0 13:42 ?        00:00:00 [mm_percpu_wq]
root          10       2  0 13:42 ?        00:00:00 [ksoftirqd/0]
root          11       2  0 13:42 ?        00:00:00 [rcu_sched]
root          12       2  0 13:42 ?        00:00:00 [migration/0]
root          13       2  0 13:42 ?        00:00:00 [idle_inject/0]
root          14       2  0 13:42 ?        00:00:00 [cpuhp/0]
root          15       2  0 13:42 ?        00:00:00 [cpuhp/1]
root          16       2  0 13:42 ?        00:00:00 [idle_inject/1]
root          17       2  0 13:42 ?        00:00:00 [migration/1]
root          18       2  0 13:42 ?        00:00:00 [ksoftirqd/1]
root          20       2  0 13:42 ?        00:00:00 [kworker/1:0H-kblockd]
root          21       2  0 13:42 ?        00:00:00 [kdevtmpfs]
root          22       2  0 13:42 ?        00:00:00 [netns]
root          23       2  0 13:42 ?        00:00:00 [rcu_tasks_kthre]
root          24       2  0 13:42 ?        00:00:00 [kauditd]
root          25       2  0 13:42 ?        00:00:00 [khungtaskd]
root          26       2  0 13:42 ?        00:00:00 [oom_reaper]
root          27       2  0 13:42 ?        00:00:00 [writeback]
root          28       2  0 13:42 ?        00:00:00 [kcompactd0]
root          29       2  0 13:42 ?        00:00:00 [ksmd]
root          30       2  0 13:42 ?        00:00:00 [khugepaged]
root          76       2  0 13:42 ?        00:00:00 [kintegrityd]
root          77       2  0 13:42 ?        00:00:00 [kblockd]
root          78       2  0 13:42 ?        00:00:00 [blkcg_punt_bio]
root          80       2  0 13:42 ?        00:00:00 [tpm_dev_wq]
root          81       2  0 13:42 ?        00:00:00 [ata_sff]
root          82       2  0 13:42 ?        00:00:00 [md]
root          83       2  0 13:42 ?        00:00:00 [edac-poller]
root          84       2  0 13:42 ?        00:00:00 [devfreq_wq]
:

3、查看命令历史使用记录并通过less分页显示

命令:

history | less

输出:

1
    2  ls
    3  cd ..
    4  ls
    5  cd home/
    6  ls
    7  cd lighthouse/
    8  ls
    9  cd ~
   10  cd ../b
   11  cd ../../boot/
   12  ls
   13  cd ~
   14  cd -
   15  ls
   16  1.15.78.2011.15.78.2011.15.78.2011.15.78.201/boot$ cd -
   17  cd ../../boot/
   18  file or directory
   19  ntu:/$ cd ..
   20  ubuntu@VM-4-14-ubuntu:/$ ls
   21  bin  boot  cdrom  data  dev  etc  home  lib  lib32  lib64  libx32  lost+found  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
   22  ubuntu@VM-4-14-ubuntu:/$ cd home/
   23  ubuntu@VM-4-14-ubuntu:/home$ ls
   24  lighthouse  ubuntu
   25  ubuntu@VM-4-14-ubuntu:/home$ cd lighthouse/
   26  ubuntu@VM-4-14-ubuntu:/home/lighthouse$ ls
   27  cat  linux-mv  more  mv  test  test1  touch
   28  ubuntu@VM-4-14-ubuntu:/home/lighthouse$ cd ~
   29  ubuntu@VM-4-14-ubuntu:~$ cd ../b
   30  -bash: cd: ../b: No such file or directory
   31  ubuntu@VM-4-14-ubuntu:~$ cd ../../boot/
   32  ubuntu@VM-4-14-ubuntu:/boot$ ls
   33  config-5.4.0-109-generic  grub  initrd.img  initrd.img-5.4.0-109-generic  initrd.img.old  System.map-5.4.0-109-generic  vmlinuz  vmlinuz-5.4.0-10
9-generic  vmlinuz.old
   34  ubuntu@VM-4-14-ubuntu:/boot$ cd ~
   35  ubuntu@VM-4-14-ubuntu:~$ cd -
:

5、浏览多个文件

命令:

 less test1.txt test2.txt

执行结果

1
2
3
4
5
6
7
8
9
10
11
1
13
14
15
16
17
18
19
20
test1.txt (file 1 of 2) (END) - Next: test2.txt

说明:

输入 :n 后,切换到test2.txt,之后输入 :p后,切换到test1.txt

5.附加备注

  1. 全屏导航
    • ctrl + F - 向前移动一屏
    • ctrl + B - 向后移动一屏
    • ctrl + D - 向前移动半屏
    • ctrl + U - 向后移动半屏
  2. 单行导航
    • j - 下一行
    • k - 上一行
  3. 其它导航
    • G - 移动到最后一行
    • g - 移动到第一行
    • q / ZZ - 退出 less 命令
  4. 其它有用的命令
    • v - 使用配置的编辑器编辑当前文件
    • h - 显示 less 的帮助文档
    • &pattern - 仅显示匹配模式的行,而不是整个文件
  5. 标记导航
    当使用 less 查看大文件时,可以在任何一个位置作标记,可以通过命令导航到标有特定标记的文本位置:
    ma - 使用 a 标记文本的当前位置
    'a - 导航到标记 a 处
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐