Команда less в Linux с примерами

Опубликовано: 16 Февраля, 2022

Команда Less - это утилита linux, которую можно использовать для чтения содержимого текстового файла по одной странице (одному экрану) за раз. У него более быстрый доступ, потому что, если файл большой, он не обращается к полному файлу, а обращается к нему постранично.

Например, если это большой файл, и вы читаете его с помощью любого текстового редактора, то весь файл будет загружен в основную память, но команда less не загружает весь файл, а загружает его по частям, что ускоряет работу. .

синтаксис:

меньше имени файла

Примечание. В следующих примерах я использую вывод dmesg в качестве входных данных для команды less.

Например: если вы хотите прочитать содержимое команды dmesg, лучше использовать ее с командой less

dmesg | less

Выход :

[0.000000] микрокод: микрокод обновлен до версии 0x21, дата = 20.11.2017
[0.000000] random: get_random_bytes вызывается из start_kernel + 0x42 / 0x504 с crng_init = 0
[0.000000] Linux версии 4.13.0-26-generic (buildd @ lgw01-amd64-031) (версия gcc 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1 ~ 16.04.5)) # 29 ~ 16.04.
2-Ubuntu SMP Вт, 9 января, 22:00:44 UTC 2018 (Ubuntu 4.13.0-26.29 ~ 16.04.2-generic 4.13.13)
[0.000000] Командная строка: 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 поддерживает процессоры:
[0,000000] Intel GenuineIntel
[0.000000] AMD AuthenticAMD
[0.000000] Кентавр КентаврХаулс
[0.000000] x86 / fpu: поддержка функции XSAVE 0x001: 'регистры с плавающей запятой x87'
[0.000000] x86 / fpu: Поддержка функции XSAVE 0x002: «Регистры SSE»
[0.000000] x86 / fpu: поддержка функции XSAVE 0x004: 'Регистры AVX'
[0,000000] x86 / fpu: xstate_offset [2]: 576, xstate_sizes [2]: 256
[0.000000] x86 / fpu: включены функции xstate 0x7, размер контекста составляет 832 байта, с использованием «стандартного» формата.
[0.000000] e820: физическая карта RAM, предоставленная BIOS:
[0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000006efff] можно использовать
[0.000000] BIOS-e820: [mem 0x000000000006f000-0x000000000006ffff] зарезервировано
[0.000000] BIOS-e820: [mem 0x0000000000070000-0x0000000000087fff] можно использовать
[0.000000] BIOS-e820: [mem 0x0000000000088000-0x00000000000bffff] зарезервировано
[0.000000] BIOS-e820: [mem 0x0000000000100000-0x0000000094d5ffff] можно использовать
[0.000000] BIOS-e820: [mem 0x0000000094d60000-0x0000000095d5ffff] зарезервировано
[0.000000] BIOS-e820: [mem 0x0000000095d60000-0x000000009a36efff] можно использовать
[0.000000] BIOS-e820: [mem 0x000000009a36f000-0x000000009aebefff] зарезервировано
[0.000000] BIOS-e820: [mem 0x000000009aebf000-0x000000009afbefff] ACPI NVS
[0.000000] BIOS-e820: [mem 0x000000009afbf000-0x000000009affefff] данные ACPI
[0.000000] BIOS-e820: [mem 0x000000009afff000-0x000000009affffff] можно использовать
[0.000000] BIOS-e820: [mem 0x000000009b000000-0x000000009f9fffff] зарезервировано
[0.000000] BIOS-e820: [mem 0x00000000e0000000-0x00000000efffffff] зарезервировано
[0.000000] BIOS-e820: [mem 0x00000000fe101000-0x00000000fe112fff] зарезервировано
[0.000000] BIOS-e820: [mem 0x00000000feb00000-0x00000000feb0ffff] зарезервировано
[0.000000] BIOS-e820: [mem 0x00000000fec00000-0x00000000fec00fff] зарезервировано
[0.000000] BIOS-e820: [mem 0x00000000fed00000-0x00000000fee00fff] зарезервировано
[0.000000] BIOS-e820: [mem 0x00000000ffc00000-0x00000000ffffffff] зарезервировано
[0.000000] BIOS-e820: [mem 0x0000000100000000-0x000000025f5fffff] можно использовать
[0.000000] Защита NX (Execute Disable): активна
[0.000000] e820: обновить [mem 0x93c97018-0x93ca7057] usable ==> usable
[0.000000] e820: обновить [mem 0x93c97018-0x93ca7057] usable ==> usable
[0.000000] e820: обновить [mem 0x93c8a018-0x93c96057] usable ==> usable
[0.000000] e820: обновить [mem 0x93c8a018-0x93c96057] usable ==> usable
:

наиболее часто используемые Опции:

-E : causes less to automatically exit the first time it reaches end of file.
-f : forces non-regular file to open.
-F : causes less to exit if entire file can be displayed on first screen
-g : highlight the string which was found by last search command
-G : suppresses all highlighting of strings found by search commands
-i : cause searches to ignore case
-n : suppresses line numbers
-p pattern : it tells less to start at the first occurrence of pattern in the file
-s : causes consecutive blank lines to be squeezed into a single blank line

Использование команды с параметрами:

dmesg | меньше -p "сбой"

Вышеупомянутая команда сообщает less начать работу при первом появлении шаблона «сбой» в файле.

Выход :

[368.748104] wlp2s0: не удалось удалить ключ (1, ff: ff: ff: ff: ff: ff) из оборудования (-22)
[372.254014] wlp2s0: аутентифицироваться с помощью a0: 55: 4f: 27: bd: 01
[372.257112] wlp2s0: отправить аутентификацию на a0: 55: 4f: 27: bd: 01 (попробуйте 1/3)
[372.261055] wlp2s0: аутентифицирован
[372.264307] wlp2s0: связать с a0: 55: 4f: 27: bd: 01 (попробуйте 1/3)
[372.270621] wlp2s0: RX AssocResp из a0: 55: 4f: 27: bd: 01 (capab = 0x431 status = 0 help = 199)
[372.272312] wlp2s0: связанный
[372.357068] wlp2s0: Ограничение мощности передачи до 30 (30-0) дБм, как заявлено a0: 55: 4f: 27: bd: 01
[682.255302] wlp2s0: отключено от a0: 55: 4f: 27: bd: 01 (Причина: 1 = НЕ УКАЗАНО)
[682.304134] wlp2s0: не удалось удалить ключ (1, ff: ff: ff: ff: ff: ff) из оборудования (-22)
[685.809837] wlp2s0: аутентифицироваться с помощью a0: 55: 4f: 27: bd: 01
dmesg | меньше -N

Он покажет вывод вместе с номерами строк
Выход :

1 [0.000000] микрокод: микрокод обновлен раньше до версии 0x21, дата = 20.11.2017
      2 [0.000000] random: get_random_bytes вызывается из start_kernel + 0x42 / 0x504 с crng_init = 0
      3 [0.000000] Linux версии 4.13.0-26-generic (buildd @ lgw01-amd64-031) (версия gcc 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1 ~ 16.04.5)) # 2 3 9 ~ 16.04.2 -Ubuntu SMP Вт, 9 января, 22:00:44 UTC 2018 (Ubuntu 4.13.0-26.29 ~ 16.04.2-generic 4.13.13)
      4 [0.000000] Командная строка: 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 поддерживает процессоры:
      6 [0,000000] Intel GenuineIntel
      7 [0.000000] AMD AuthenticAMD
      8 [0.000000] Кентавр КентаврХаулс
      9 [0.000000] x86 / fpu: поддержка функции XSAVE 0x001: 'регистры с плавающей запятой x87'
     10 [0.000000] x86 / fpu: поддержка функции XSAVE 0x002: «регистры SSE»
     11 [0.000000] x86 / fpu: Поддержка функции XSAVE 0x004: 'Регистры AVX'
     12 [0,000000] x86 / fpu: xstate_offset [2]: 576, xstate_sizes [2]: 256
меньше -F имя файла

например. меньше -F /home/mandeep/test/first.erl

Это не даст никакого вывода, так как файл может отображаться на одном экране.

меньше /home/mandeep/test/first.erl

Это содержимое проверенного выше файла, он может отображаться на одном экране.

-модуль (первый).
-export ([fib / 1]).

fib (X), когда X 
    1;
fib (X), когда X> = 2 ->
    фиб (X - 1) + фиб (X - 2).

- Мандип Сингх

Использованная литература :
1) википедия
2) справочные страницы linux