- Less команда в Linux
- Less Command in Linux
- При запуске less не читает весь файл, что приводит к гораздо более быстрому времени загрузки по сравнению с текстовыми редакторами, такими как vim или nano.
- Как использовать меньше
- Навигация по содержимому файла
- Меньше опций
- Меньше Команд
- Вывод
- Про Debian
- Как закрыть less linux
- Примеры использования
- Отображение содержимого текстового файла
- Поиск в текстовом файле
- Чтение программного кода
- Кунг-фу стиля Linux: наблюдение за файлами
- Команда tail
- Меньше — значит больше: полезные возможности команды less
- Наблюдение за файлами с помощью команды watch
- Использование текстового редактора для наблюдения за файлами
- Итоги
Less команда в Linux
Less Command in Linux
При запуске less не читает весь файл, что приводит к гораздо более быстрому времени загрузки по сравнению с текстовыми редакторами, такими как vim или nano.
Less — утилита командной строки, которая отображает содержимое файла или вывод команды, по одной странице за раз. Это похоже на more , но имеет более продвинутые функции и позволяет вам перемещаться вперед и назад по файлу.
Команда less в основном используется для открытия больших файлов .
Как использовать меньше
Общий синтаксис less программы следующий:
Например, чтобы просмотреть содержимое /usr/share/common-licenses/GPL-3 файла, введите:
Вы также можете перенаправить вывод команды на less использование канала. Например, чтобы просмотреть вывод ps команды страница за страницей, вы должны набрать:
Навигация по содержимому файла
При открытии файла, содержимое которого слишком велико, чтобы поместиться на одной странице, вы увидите одну двоеточие ( : ).
Для перехода на следующую страницу нажмите либо f клавишу, либо Space bar . Если вы хотите перейти на определенное количество строк, введите число, а затем пробел или f клавишу.
Вы можете нажать Down arrow или, Enter чтобы прокрутить вперед на одну строку и Up arrow прокрутить назад на одну строку.
Чтобы вернуться на предыдущую страницу, нажмите b клавишу. Переместитесь вверх на определенное количество строк, набрав номер, а затем b клавишу.
Если вы хотите найти шаблон, введите прямую косую черту ( / ), а затем шаблон, который вы хотите найти. После того, как вы нажмете Enter меньше, начнется поиск совпадений. Для поиска в обратном направлении используйте ( ? ), а затем шаблон поиска.
Когда достигнут конец файла, строка (END) показывается внизу экрана.
Чтобы выйти less и вернуться в командную строку, нажмите q
Меньше опций
Если вы хотите less показать номера строк, запустите программу с -N опцией:
По умолчанию при less выходе содержимое файла будет удалено с экрана. Чтобы оставить содержимое файла на экране, используйте -X параметр:
+F Опция указывает , less чтобы посмотреть содержимое файла изменений. Это полезно при открытии файлов журнала.
При запуске с +F , less будет вести себя в значительной степени так же , как tail -f
Меньше Команд
less Программа включает в себя ряд команд , который позволяет перемещаться по содержимому файла и поиск строк. Для просмотра полного списка всех команд введите h .
Большинство команд, которые вы можете вводить с клавиатуры, основаны на тех, которые используются обеими more и vi . Одно и то же действие можно выполнить с помощью разных клавиш.
Ниже приведены некоторые из наиболее часто используемых команд для навигации по содержимому файла при просмотре less:
команда | действие |
---|---|
Down arrow , Enter , e , Или j | Продвинуться на одну строку. |
Up arrow , y или k | Переместиться назад на одну строку. |
Space bar или f | Переместить вперед на одну страницу. |
b | Переместиться назад на одну страницу. |
/pattern | Поиск вперед для соответствия шаблонам. |
?pattern | Поиск назад для соответствия шаблонам. |
n | Повторите предыдущий поиск. |
N | Повторите предыдущий поиск в обратном направлении. |
g | Перейти к первой строке в файле. |
Ng | Перейти к N-й строке в файле. |
G | Перейти к последней строке в файле. |
p | Перейти к началу файла. |
Np | Перейти к N процентов в файл. |
h | Показать справку. |
q | Выход less . |
Вывод
К настоящему времени вы должны хорошо понимать, как использовать less команду. Для получения полного списка всех опций и команд введите man less в своем терминале.
Источник
Про Debian
Дисклеймер: я настоятельно рекомендую прочитать всё же man less. Но подобные рецепты — хорошая штука для новичков. Поэтому пусть будет.
В своё время в никсах существовала утилита под названием more. Она ничерта не умела, кроме как показывать файл. В насмешку над ней появилась утилита less. Которую используют для того же самого, хотя она и умеет намного больше. Наиболее полезные «больше» я вам и расскажу.
Типичное использование less:
less file
После этого откроется файл. Мы можем перемещаться по файлу при помощи стрелочек, pg up, pg down, пробела (на экран) и энтера. Привычное j/k тоже работают.
По открытому файлу можно искать:
/something
?something
(Жмете /, печатаете something)
Поиск можно повторить, пойдя к следующему совпадению, клавишей n, или повторить поиск в обратном направлении (найти предыдущее совпадение) через shift-n.
Можно открыть сразу несколько файлов:
less /dir/file1 file2incurrentdir /dir3/file3
и переключаться между ними при помощи:
:n (cледующий файл)
:p (предыдущий файл)
:d — закроет только текущий файл, оставив остальные в открытом фрейме.
Можно включить режим, аналогичный tail -f. То есть less будет показывать нам новые строки в файле в реальном времени.
Включается сочетанием клавиш shift+f. Отключается — ctrl+c .
Из less можно открыть редактор напрямую. Делается это клавишей v. Откроется либо редактор из переменной editor (или visual), либо vi, если редактор не задан.
Можно запустить tail с параметром -N, тогда он будет показывать номера строк.
Можно перемещаться к началу и концу файла клавишами g и shift+g, соответственно.
Источник
Как закрыть less linux
Команда less позволяет задействовать одноименную утилиту, предназначенную для постраничного вывода содержимого текстовых файлов значительного объема. Она похожа на команду more, но имеет больше функций, которые, тем не менее, могут потребоваться далеко не всем пользователям. Утилита особенно удобна для быстрого открытия текстовых файлов, так как не загружает их содержимое полностью.
Базовый синтаксис команды выглядит следующим образом:
$ less [параметры] имя-текстового-файла
Утилита поддерживает большое количество параметров, причем практически все из этих параметров являются узкоспециализированным и едва ли пригодятся большинству пользователей, а самыми востребованными из них являются параметр -N, позволяющий выводить номера строк, что очень удобно при чтении программного кода, параметр -X, позволяющий не очищать содержимое терминала после завершения работы утилиты, а также параметр -I, позволяющий осуществлять поиск в тексте без учета регистра символов. Утилита работает в интерактивном режиме и позволяет использовать команды для навигации по содержимому файла, поиска строк и управления работой утилиты:
Команда | Назначение |
Клавиша со стрелкой вниз, Enter, e, j | Перемещение на одну строку к концу файла |
Клавиша со стрелкой вверх, y, k | Перемещение на одну строку к началу файла |
Пробел, f | Перемещение на одну страницу к концу файла |
b | Перемещение на одну страницу к началу файла |
/текст | Поиск текста по направлению к концу файла |
?текст | Поиск текста по направлению к началу файла |
n | Повторение предыдущего поиска |
N | Повторение предыдущего поиска в обратном направлении |
Home, g | Переход к первой строке файла |
Ng | Переход к строке файла номер N |
End, G | Переход к последней строке файла |
Home, p | Переход к началу файла |
Np | Переход к позиции файла в N процентов |
q | Завершение работы утилиты |
h | Вывод информации о доступных командах |
Команды, не представленные одной клавишей, вводятся после имени файла или двоеточия в последней строке в нижней части экрана.
Примеры использования
Отображение содержимого текстового файла
Для отображения содержимого тестового файла достаточно передать утилите имя этого файла без каких-либо параметров:
$ less oui.txt
OUI/MA-L Organization
company_id Organization
Address
00-22-72 (hex) American Micro-Fuel Device Corp.
002272 (base 16) American Micro-Fuel Device Corp.
2181 Buchanan Loop
Ferndale WA 98248
US
00-D0-EF (hex) IGT
00D0EF (base 16) IGT
9295 PROTOTYPE DRIVE
RENO NV 89511
US
08-61-95 (hex) Rockwell Automation
086195 (base 16) Rockwell Automation
1 Allen-Bradley Dr.
Mayfield Heights OH 44124-6118
oui.txt
Для прокрутки содержимого удобнее всего пользоваться клавишами со стрелками, пробелом, а также клавишами Home и End. Для закрытия файла может использоваться клавиша q.
Поиск в текстовом файле
Для поиска в текстовом файле нужно открыть этот файл и воспользоваться командами /текст или ?текст. Например:
San Francisco CA 94107
US
50-EC-50 (hex) Beijing Xiaomi Mobile Software Co., Ltd
50EC50 (base 16) Beijing Xiaomi Mobile Software Co., Ltd
The Rainbow City Office Building, 68 Qinghe Middle Street Haidian District
Beijing Beijing 100085
CN
60-61-DF (hex) Z-meta Research LLC
6061DF (base 16) Z-meta Research LLC
8365 Quay Drive
Arvada CO 80003
US
70-57-BF (hex) New H3C Technologies Co., Ltd
7057BF (base 16) New H3C Technologies Co., Ltd
466 Changhe Road, Binjiang District
Hangzhou Zhejiang 310052
CN
8C-E7-48 (hex) Private
/cisco
Если вы хотите осуществлять поиск без учета регистра, следует открыть файл с использованием параметра -I:
$ less -I oui.txt
F4-BD-9E (hex) Cisco Systems, Inc
F4BD9E (base 16) Cisco Systems, Inc
80 West Tasman Drive
San Jose CA 94568
US
58-85-E9 (hex) Realme Chongqing MobileTelecommunications Corp Ltd
5885E9 (base 16) Realme Chongqing MobileTelecommunications Corp Ltd
No.24 Nichang Boulevard, Huixing Block, Yubei District, Chongqing.
Chongqing China 401120
CN
BC-23-92 (hex) BYD Precision Manufacture Company Ltd.
BC2392 (base 16) BYD Precision Manufacture Company Ltd.
No.3001, Bao He Road, Baolong Industrial, Longgang Street,Longgang Zone, Shenzhen
shenzhen 518116
CN
94-E6-F7 (hex) Intel Corporate
/cisco
Как видите, результаты поиска отличаются.
Чтение программного кода
Для чтения программного кода удобнее использовать режим вывода номеров строк. Для этого следует использовать параметр -N.
$ less -N usals.c
1 #include
2 #include
3
4 float deg_to_rad(float degrees)
5 <
6 return degrees * M_PI / 180.0;
7 >
8
9 float rad_to_deg(float radians)
10 <
11 return radians * 180.0 / M_PI;
12 >
13
14 /*float usals(float sitelong, float sitelat, float satlong)
15 <
16 float cangle, elevation, intangle, satazimuth, satelevation, azimuth;
17
18 sitelong = deg_to_rad(sitelong);
19 sitelat = deg_to_rad(sitelat);
20 satlong = deg_to_rad(sitelong);
21
22 cangle = cos(sitelong)*cos(satlong-sitelong);
usals.c
Навигация по файлу будет осуществляться аналогичным образом. Для перехода к строке с заданными номером следует использовать команду Ng, то есть, к примеру, для перехода к десятой строке следует использовать команду 10g.
Источник
Кунг-фу стиля Linux: наблюдение за файлами
Linux или Unix приятно отличаются от многих других операционных систем тем, что Linux-программы часто выдают сообщения, которые записываются в какой-нибудь журнал. А многие команды даже можно настроить так, чтобы они генерировали бы больше сообщений, чем обычно. Я знаю о том, что в Windows есть средство для просмотра событий, но множество программ не особенно охотно делятся сведениями о своей работе. Это усложняет поиск источников проблем в тех случаях, когда что-то идёт не так, как ожидалось.
В случае с Linux проблема заключается в том, что иногда программы сообщают нам слишком много сведений о своей работе. Как найти в этом море информации именно то, что нужно? Когда киношный хакер сидит перед терминалом и смотрит на текст, прокручивающийся со скоростью 500 строк в секунду, выглядит это впечатляюще. Но в реальной жизни почти бесполезно изучать логи, выводимые на экран с такой скоростью. Хотя, если попрактиковаться, из этого потока информации можно иногда, рискуя ошибиться, выхватить какое-нибудь ключевое слово. Но задачу анализа логов в реальном времени это не решает.
Как и во многих других случаях, в Unix-подобных системах есть инструменты для решения вышеописанной задачи. И, что неудивительно, таких инструментов существует довольно много. Если вы, например, пользовались командой tail , то вы уже видели один из таких инструментов. Но tail — это лишь вершина айсберга.
Давайте рассмотрим пример анализа файла, который можно назвать «матерью всех логов». Это — /var/log/syslog . Попробуйте вывести его на экран с помощью команды cat или less (я, в своих системах, всегда создаю псевдоним more для команды less , поэтому если я вдруг упомяну команду more — знайте, что я имею в виду less ). Этот файл, вероятнее всего, будет очень большим, его размеры будут постоянно расти. В обычной настольной системе он ведёт себя довольно спокойно, но в некоторых старых системах и на серверах в нём можно увидеть последствия бурной деятельности разных программ. В любом случае, за исключением тех ситуаций, когда система только что загружена, в нём будут многие страницы данных.
Хакерский подход к анализу логов
Поиск информации, которая уже присутствует в этом файле, особых сложностей не вызывает. Тут можно воспользоваться grep , или можно загрузить копию файла в текстовый редактор. Проблема заключается в анализе свежей информации. Попробуйте подключить USB-устройство к системе (или отключите его от неё). Вы увидите, как в syslog появились новые записи. А что если в него постоянно добавляются десятки сообщений? Как за ними уследить?
И эта проблема характерна далеко не только для файла syslog . Например, интересно может быть наблюдать за файлом листинга в ходе выполнения долгой компиляции кода. То же относится и к наблюдению за перестроением RAID-массива. В общем-то, в Linux всегда можно найти некий большой файл, постоянно пополняемый свежими сведениями, за которым нужно понаблюдать.
Команда tail
Традиционный подход к наблюдению за файлами, постоянно пополняемыми информацией, заключается в использовании команды tail . Она берёт большой файл и возвращает лишь некоторое количество его последних строк. Эту команду можно вызвать с опцией -f . Тогда она будет ждать появления в файле новых данных и выводить их. Эта опция весьма полезна для наблюдения за файлами, в которые постоянно добавляется что-то новое. Опция -F приводит к практически такому же эффекту, но благодаря ей tail , если не может сразу открыть файл, будет продолжать пытаться открыть его. С помощью опции -m можно задавать количество выводимых последних строк файла, а с помощью опции -c — количество байтов. Опция -s позволяет задавать частоту проверки изменений файла.
Как по мне, так всё это выглядит очень даже хорошо. Попробуйте такую команду:
Вы увидите несколько строк из конца файла системного журнала. А если подключить к компьютеру USB-устройство или отключить такое устройство от компьютера, можно увидеть, как сведения, попавшие в журнал, практически мгновенно выводятся на экране. Повторно запускать tail при этом не нужно.
Возможно, вы уже пользовались этим приёмом. Вышеописанная конструкция хорошо справляется со своей задачей, она известна и применяется довольно часто. Но есть и другие способы наблюдения за файлами, которыми вы, возможно, ещё не пользовались.
Меньше — значит больше: полезные возможности команды less
У команды less есть опция +F , которая превращает эту команду в хорошую замену команды tail . На самом деле, если вы испытаете команду, приведённую ниже, вас может посетить мысль о том, что результаты её работы не очень-то и отличаются от результатов работы tail . Вот эта команда:
Вот как вывод этой команды выглядит на моём компьютере.
Результаты работы команды less
Обратите внимание на то, что в нижней части экрана имеется надпись Waiting for data… . В данный момент утилита less работает практически так же, как и tail . Но если нажать CTRL+C — произойдёт кое-что интересное. Ну — что-то, возможно, и произойдёт. Попробуйте. Если less переходит в командный режим — значит всё в порядке. Теперь можно заниматься всем тем, чем обычно занимаются, просматривая файлы с помощью less . Если же по нажатию CTRL+C работа less прекратится, это будет означать, что ваш Linux-дистрибутив «помог» вам, установив некоторые стандартные опции less с использованием переменной окружения LESS . Попробуйте такую команду:
Если вы увидите, что в списке опций имеется —quit-on-intr , это будет значить, что проблема заключается именно в данной строке. Её надо убрать. После этого переключиться в командный режим можно с использованием CTRL+C . Это, кроме того, означает, что вам нужно запомнить, что для выхода из less используется команда q . Если вы вышли из режима наблюдения за файлом и хотите снова в него вернуться — просто нажмите F .
Если вы пользуетесь less в обычном режиме (то есть — не использовали при запуске утилиты опцию +F ), вы можете нажать клавишу F на клавиатуре для перехода в «tail-режим». А ещё интереснее то, что, нажав ESC-F можно в этом режиме что-то искать, при этом, если в поступающих данных найдётся совпадение с тем, что вас интересует, система вам об этом сообщит.
Команду less можно ещё использовать с ключом —follow-name . Это позволит добиться того же эффекта, что и использование опции -F команды tail .
Наблюдение за файлами с помощью команды watch
Иногда файл, за которым нужно наблюдать, не пополняется новыми данными, добавляемыми в его конец, а просто иногда меняется. Например, это файл /proc/loadavg или многие другие файлы из директории /proc . Использование команд tail или less не особенно хорошо подходит для наблюдения за такими файлами. Тут нам на помощь придёт команда watch :
Результат выполнения команды watch
Эта команда вызывает cat каждые 5 секунд и аккуратно выводит результат. Команда watch поддерживает множество полезных опций. Например, опция -d позволяет выделять отличия, а -p позволяет задействовать высокоточный таймер. Опция -c включает поддержку цвета.
Использование текстового редактора для наблюдения за файлами
Возможно, используемый вами текстовой редактор поддерживает tail-режим. При работе с emacs , например, есть несколько способов это организовать. Не буду рассказывать о том, как это сделать. Просто порекомендую вам эту отличную статью. Я не отношу себя к экспертам в области vim , но полагаю, что если вы пользуетесь этим редактором и хотите наблюдать за файлами, вам понадобится специальный плагин.
Если вы не ищете лёгких путей, то вам, возможно, подойдёт инструмент наподобие lnav, который сделан специально для просмотра логов. Просмотрщики журналов имеются, кроме того, в KDE и Gnome.
Итоги
Как это обычно бывает в Linux и Unix, у задачи организации наблюдения за файлами есть множество решений. Какое из этих решений «лучше» других? У каждого будет собственный ответ на этот вопрос. Именно это и делает Linux системой, привлекательной для продвинутых пользователей. Каждый из них может выбрать именно то, что подходит ему лучше всего.
Те команды, о которых мы говорили, могут пригодиться и тем, кто пользуется настольным дистрибутивом Linux, и тем, кто работает с серверами или с Raspberry Pi.
Как вы наблюдаете за постоянно изменяющимися файлами в Linux?
Источник