Less命令是一个Linux实用程序,可用于一次读取一页(一个屏幕)文本文件的内容。它的访问速度更快,因为如果文件很大,它不会访问完整的文件,而是逐页访问。
null
例如,如果它是一个大文件,并且您正在使用任何文本编辑器读取它,那么完整的文件将加载到主内存中。less命令不会加载整个文件,而是一部分一部分地加载,这会加快加载速度。
语法:
less filename
注: 我在用 启动信息 在以下示例中,输出为less命令的输入。
例如:如果你想阅读 dmesg命令 ,最好用较少的命令来使用它
dmesg | less
输出:
[ 0.000000] microcode: microcode updated early to revision 0x21, date = 2017-11-20[ 0.000000] random: get_random_bytes called from start_kernel+0x42/0x504 with crng_init=0[ 0.000000] Linux version 4.13.0-26-generic (buildd@lgw01-amd64-031) (gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.5)) #29~16.04.2-Ubuntu SMP Tue Jan 9 22:00:44 UTC 2018 (Ubuntu 4.13.0-26.29~16.04.2-generic 4.13.13)[ 0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-4.13.0-26-generic.efi.signed root=UUID=993a37f2-7ea9-43a3-b652-5b26bb879797 ro quiet splash vt.handoff=7[ 0.000000] KERNEL supported cpus:[ 0.000000] Intel GenuineIntel[ 0.000000] AMD AuthenticAMD[ 0.000000] Centaur CentaurHauls[ 0.000000] x86/fpu: Supporting XSAVE feature 0x001: 'x87 floating point registers'[ 0.000000] x86/fpu: Supporting XSAVE feature 0x002: 'SSE registers'[ 0.000000] x86/fpu: Supporting XSAVE feature 0x004: 'AVX registers'[ 0.000000] x86/fpu: xstate_offset[2]: 576, xstate_sizes[2]: 256[ 0.000000] x86/fpu: Enabled xstate features 0x7, context size is 832 bytes, using 'standard' format.[ 0.000000] e820: BIOS-provided physical RAM map:[ 0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000006efff] usable[ 0.000000] BIOS-e820: [mem 0x000000000006f000-0x000000000006ffff] reserved[ 0.000000] BIOS-e820: [mem 0x0000000000070000-0x0000000000087fff] usable[ 0.000000] BIOS-e820: [mem 0x0000000000088000-0x00000000000bffff] reserved[ 0.000000] BIOS-e820: [mem 0x0000000000100000-0x0000000094d5ffff] usable[ 0.000000] BIOS-e820: [mem 0x0000000094d60000-0x0000000095d5ffff] reserved[ 0.000000] BIOS-e820: [mem 0x0000000095d60000-0x000000009a36efff] usable[ 0.000000] BIOS-e820: [mem 0x000000009a36f000-0x000000009aebefff] reserved[ 0.000000] BIOS-e820: [mem 0x000000009aebf000-0x000000009afbefff] ACPI NVS[ 0.000000] BIOS-e820: [mem 0x000000009afbf000-0x000000009affefff] ACPI data[ 0.000000] BIOS-e820: [mem 0x000000009afff000-0x000000009affffff] usable[ 0.000000] BIOS-e820: [mem 0x000000009b000000-0x000000009f9fffff] reserved[ 0.000000] BIOS-e820: [mem 0x00000000e0000000-0x00000000efffffff] reserved[ 0.000000] BIOS-e820: [mem 0x00000000fe101000-0x00000000fe112fff] reserved[ 0.000000] BIOS-e820: [mem 0x00000000feb00000-0x00000000feb0ffff] reserved[ 0.000000] BIOS-e820: [mem 0x00000000fec00000-0x00000000fec00fff] reserved[ 0.000000] BIOS-e820: [mem 0x00000000fed00000-0x00000000fee00fff] reserved[ 0.000000] BIOS-e820: [mem 0x00000000ffc00000-0x00000000ffffffff] reserved[ 0.000000] BIOS-e820: [mem 0x0000000100000000-0x000000025f5fffff] usable[ 0.000000] NX (Execute Disable) protection: active[ 0.000000] e820: update [mem 0x93c97018-0x93ca7057] usable ==> usable[ 0.000000] e820: update [mem 0x93c97018-0x93ca7057] usable ==> usable[ 0.000000] e820: update [mem 0x93c8a018-0x93c96057] usable ==> usable[ 0.000000] e820: update [mem 0x93c8a018-0x93c96057] usable ==> usable:
最常用的选项:
-E:使less在第一次到达文件末尾时自动退出。 -f:强制打开非常规文件。 -F:如果整个文件可以在第一个屏幕上显示,则会导致较少的退出 -g:突出显示上次搜索命令找到的字符串 -G:抑制搜索命令找到的字符串的所有高亮显示 -i:导致搜索忽略案例 -n:抑制行号 -p pattern:它告诉less从文件中第一个出现的模式开始 -s:将连续的空行压缩为一个空行
命令使用和选项:
dmesg | less -p "failure"
上面的命令告诉less在文件中第一次出现模式“failure”时启动。
输出:
[ 368.748104] wlp2s0: failed to remove key (1, ff:ff:ff:ff:ff:ff) from hardware (-22)[ 372.254014] wlp2s0: authenticate with a0:55:4f:27:bd:01[ 372.257112] wlp2s0: send auth to a0:55:4f:27:bd:01 (try 1/3)[ 372.261055] wlp2s0: authenticated[ 372.264307] wlp2s0: associate with a0:55:4f:27:bd:01 (try 1/3)[ 372.270621] wlp2s0: RX AssocResp from a0:55:4f:27:bd:01 (capab=0x431 status=0 aid=199)[ 372.272312] wlp2s0: associated[ 372.357068] wlp2s0: Limiting TX power to 30 (30 - 0) dBm as advertised by a0:55:4f:27:bd:01[ 682.255302] wlp2s0: disassociated from a0:55:4f:27:bd:01 (Reason: 1=UNSPECIFIED)[ 682.304134] wlp2s0: failed to remove key (1, ff:ff:ff:ff:ff:ff) from hardware (-22)[ 685.809837] wlp2s0: authenticate with a0:55:4f:27:bd:01
dmesg | less -N
它将显示输出以及行号 输出:
1 [ 0.000000] microcode: microcode updated early to revision 0x21, date = 2017-11-20 2 [ 0.000000] random: get_random_bytes called from start_kernel+0x42/0x504 with crng_init=0 3 [ 0.000000] Linux version 4.13.0-26-generic (buildd@lgw01-amd64-031) (gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.5)) #2 3 9~16.04.2-Ubuntu SMP Tue Jan 9 22:00:44 UTC 2018 (Ubuntu 4.13.0-26.29~16.04.2-generic 4.13.13) 4 [ 0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-4.13.0-26-generic.efi.signed root=UUID=993a37f2-7ea9-43a3-b652-5b26bb879797 ro qu 4 iet splash vt.handoff=7 5 [ 0.000000] KERNEL supported cpus: 6 [ 0.000000] Intel GenuineIntel 7 [ 0.000000] AMD AuthenticAMD 8 [ 0.000000] Centaur CentaurHauls 9 [ 0.000000] x86/fpu: Supporting XSAVE feature 0x001: 'x87 floating point registers' 10 [ 0.000000] x86/fpu: Supporting XSAVE feature 0x002: 'SSE registers' 11 [ 0.000000] x86/fpu: Supporting XSAVE feature 0x004: 'AVX registers' 12 [ 0.000000] x86/fpu: xstate_offset[2]: 576, xstate_sizes[2]: 256
less -F filenameeg. less -F /home/mandeep/test/first.erl
它不会给出任何输出,因为文件可以在单个屏幕上显示。
less /home/mandeep/test/first.erl
这些是上述测试文件的内容,可以在单个屏幕上显示。
-module(first).-export([fib/1]).fib(X) when X 1;fib(X) when X >= 2 -> fib(X - 1) + fib(X - 2).
– 曼迪星
参考资料: 1) 维基百科 2) linux手册页
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END