Искать полные слова
При поиске строки отобразит все строки, в которых строка встроена в строки большего размера.
Например, если вы ищете «gnu», все строки, в которых «gnu» встроено в слова большего размера, такие как «cygnus» или «magnum», будут найдены:
Чтобы вернуть только те строки, в которых указанная строка представляет собой целое слово (заключенное в символы, отличные от слов), используйте параметр (или ).
Символы слова включают буквенно-цифровые символы ( , и ) и символы подчеркивания ( ). Все остальные символы считаются несловесными символами.
Если вы запустите ту же команду, что и выше, включая параметр , команда вернет только те строки, где включен как отдельное слово.
Grep IP-адреса
Greping для IP-адресов может быть немного сложным, потому что мы не можем просто сказать, что grep ищет 4 числа, разделенных точками — ну, мы могли бы, но эта команда также может вернуть недопустимые IP-адреса.
Следующая команда найдет и изолирует только действительные адреса IPv4 :
$ grep -E -o "(25|2|??)\.(25|2|??)\.(25|2|??)\.(25|2|??)" /var/log/auth.log
Мы использовали это на нашем сервере Ubuntu только для того, чтобы увидеть, откуда были сделаны последние попытки SSH.
Чтобы избежать повторной информации и захламления вашего экрана, вы можете направить ваши команды grep в «uniq» и «more», как мы делали на скриншоте выше.
1.3, найди и xargs
При использовании параметра -exec команды find для обработки сопоставленных файлов команда find передает все сопоставленные файлы в exec для выполнения. Однако некоторые системы имеют ограничения по длине команд, которые могут быть переданы в exec, так что ошибка переполнения произойдет после того, как команда find выполняется в течение нескольких минут. Обычно это сообщение об ошибке «слишком длинный столбец параметров» или «переполнение столбцов параметров». Здесь полезна команда xargs, особенно когда она используется с командой find.
Команда find передает сопоставленные файлы команде xargs, а команда xargs одновременно получает только часть файлов, а не все, в отличие от параметра -exec. Таким образом, он может обработать первую часть файла, затем следующий пакет и т. Д.
В некоторых системах использование параметра -exec инициирует соответствующий процесс для обработки каждого сопоставленного файла вместо одновременного выполнения всех сопоставленных файлов в качестве параметров, поэтому в некоторых случаях будет слишком много процессов. Проблема снижения производительности, поэтому эффективность не высокая;
С помощью команды xargs существует только один процесс. Кроме того, при использовании команды xargs, получать ли все параметры сразу или в пакетном режиме, и количество параметров, полученных каждый раз, будет определяться в соответствии с параметрами команды и соответствующими настраиваемыми параметрами в ядре системы.
Давайте посмотрим, как команда xargs используется с командой find, и приведем несколько примеров.
Команда find используется в сочетании с exec и xargs, чтобы позволить пользователям выполнять почти все команды для соответствующих файлов.
2. Команда grep
grep (глобальный поиск по регулярному выражению (RE) и распечатка строки) — это мощный инструмент для поиска текста, который может искать текст с помощью регулярных выражений и распечатывать соответствующие строки ,
Поиск файлов через терминал. Команда locate
Команда locate считается устаревшей, т.к. она выполняет поиск не в реальном времени, подобно команде , а только по ранее созданной базе файлов. Вы вводите слово, которое вас интересует, и команда выдает все известные ей файлы, имя которых содержит заданное слово. Команда поддерживает работу с регулярными выражениями. Например, чтобы найти все файлы, в имени которых содержится слово users, необходимо выполнить:
Стоит заметить, что если файл появился в системе уже после создания базы, то он не будет найден.
Иногда вам может потребоваться обновить базу данных, к которой обращается . Для этого необходимо ввести команду (её запуск производится от имени суперпользователя):
Что такое командная строка Linux?
Терминал Linux предоставляет вам интерфейс, в котором вы можете вводить команды и видеть результат, напечатанный в виде текста. Вы можете использовать терминал для выполнения таких задач, как перемещение файлов или навигация по каталогу, без использования графического интерфейса. Терминалы просто передают информацию. Чтобы операционная система понимала эту информацию, вам потребуется оболочка.
В командной строке Linux вы можете выполнять команды вручную, набирая их на терминале. Вы также можете автоматизировать команды с помощью сценариев оболочки.
Краткая история командной строки Linux
Кратко пройдемся по истории командной строки Linux. На заре компьютерных технологий существовала операционная система Unix, предназначенная для работы на мэйнфреймах в качестве многопользовательской системы. Пользователи подключались к нему удаленно через терминалы.
Эти терминалы были очень простыми, поскольку они могли только отправлять нажатия клавиш и отображать данные на экране.
Поскольку текст требует мало ресурсов, пользователи могут взаимодействовать быстро и эффективно. Все задачи, которые выполняли пользователи, выполнялись через этот текстовый интерфейс. Чтобы координировать выполнение различных программ, пользователи могут подключаться к одной мастер-программе.
Пользовательские команды были заключены в программы «оболочки». Чтобы упростить сложные задачи, пользователи могли писать сценарии оболочки, автоматизирующие длинную серию команд оболочки.
Linux является потомком Unix. Его основная часть спроектирована так, чтобы вести себя аналогично системе Unix. Bourne Again Shell (BASH) был разработан Стивеном Борном и выпущен в 1979 году в версии 7 Unix выпуска. Со временем он стал оболочкой по умолчанию для систем Linux.
Метод 1: мероприятия
1. Щелкните Действия в верхнем левом углу экрана.
2. Найдите терминал, оболочку, команду или приглашение.
3. Выберите значок терминала, чтобы запустить его. Вот и ваш терминал. Пока это просто тусклый экран.
Если вы используете другие версии Linux, терминал обычно находится в том же месте, что и другие программы запуска приложений. Если вы не можете его найти, воспользуйтесь следующим способом.
Метод 2: сочетание клавиш
Это самый простой способ получить доступ к вашему терминалу Linux. Нажмите, CTRL+ALT+Tчтобы мгновенно открыть терминал.
Хотя это ярлык по умолчанию, у вас есть возможность изменить его. Перейдите в «Настройки»> «Сочетания клавиш».
Здесь вы можете просмотреть все сочетания клавиш, как показано ниже.
Щелкните ярлык рядом с «Запустить терминал», введите новый ярлык в окне «Установить ярлык», нажмите «Установить», и все готово.
Например, я изменил ярлык на CTRL+T, как вы можете видеть ниже.
Разница между grep, egrep, fgrep, pgrep, zgrep
Различные переключатели grep исторически были включены в различные двоичные файлы. В современных системах Linux вы найдете эти переключатели доступными в команде base grep, но часто дистрибутивы поддерживают и другие команды.
Со страницы руководства для grep:
egrep является эквивалентом grep -E
Этот переключатель будет интерпретировать шаблон как расширенное регулярное выражение . Есть множество разных вещей, которые вы можете сделать с этим, но вот пример того, как выглядит использование регулярного выражения с grep.
Давайте найдем в текстовом документе строки, которые содержат две последовательные буквы «р»:
$ egrep p\{2} fruits.txt
или
$ grep -E p\{2} fruits.txt
fgrep является эквивалентом grep -F
Этот переключатель будет интерпретировать шаблон как список фиксированных строк и попытаться сопоставить любую из них. Это полезно, когда вам нужно искать символы регулярного выражения. Это означает, что вам не нужно экранировать специальные символы, как если бы вы использовали обычный grep.
$ fgrep $ License.txt There is a $100 free for commercial use.
pgrep — это команда для поиска имени запущенного процесса в вашей системе и возврата соответствующих идентификаторов процесса. Например, вы можете использовать его, чтобы найти идентификатор процесса демона SSH:
$ pgrep sshd
По функциям это похоже на простую передачу вывода команды ‘ps’ в grep.
Вы можете использовать эту информацию, чтобы убить работающий процесс или устранить проблемы со службами, работающими в вашей системе.
zgrep используется для поиска сжатых файлов по шаблону. Это позволяет вам искать файлы внутри сжатого архива без необходимости сначала распаковывать этот архив, в основном экономя вам дополнительный шаг или два.
$ zgrep apple fruits.txt.gz
zgrep также работает с tar-файлами, но кажется, что он говорит только о том, удалось ли найти совпадение.
$ zgrep apple fruits.tar.gz
Мы упоминаем об этом, потому что файлы, сжатые с помощью gzip, обычно являются архивами tar.
Оператор перенаправления
Оператор перенаправления >позволяет перезаписывать существующий файл, а >>оператор позволяет добавлять вывод в файл. Создавая файл с использованием >, убедитесь, что не перезаписали важный существующий файл.
Для создания файла используйте:
Давайте посмотрим, как вы можете >перенаправить вывод в новый файл. Мы перечислим все файлы и каталоги в Donuts, и результат будет перенаправлен в output.txt.
Чтобы просмотреть output.txt, мы можем распечатать его содержимое в терминале, используя:
Cat command
Мы рассмотрели, как можно использовать команду cat для чтения файлов. Теперь давайте посмотрим, как мы можем использовать его для его создания. Выполните команду:
Нажмите Enter, затем введите текст, который вы хотите добавить в файл, а затем нажмите CTRL+D.
Теперь давайте используем cat для добавления к файлам. В приведенном ниже примере мы добавляем содержимое из Boston_kreme_pie.txtи glazed_donut.txtв jelly_donut.txt. Затем мы используем cat для просмотра содержимого jelly_donut.txt.
Информация о сети
Рассмотрим 3 типа IP-адресов, с которыми приходится сталкиваться чаще всего:
- Внешний IP-адрес — адрес нашего устройства в глобальной сети.
- Локальной IP-адрес — адрес в локальной сети устройств.
- Внутренний IP-адрес — используется в основном утилитами для взаимодействия между собой. Всегда 127.0.0.1 или localhost
Разберем способы узнать внешний и локальный IP-адрес.
Как узнать внешний IP-адрес
В большинстве случаев, чтобы узнать свой внешний IP-адрес требуется сторонний сервис, который скажет с какого IP вы отправили ему запрос.
Как правило, эти сервисы представляют из себя обычные веб-страницы, вот их список:
- icanhazip.com
- ipecho.net/plain
- smart-ip.net/myip
- ident.me
- ipinfo.io/ip
- eth0.me
Разницы в этих сайтах особо нет, выберите тот, который именно вам отвечает быстрее всего.
Их можно открывать через браузер, но это не всегда удобно, поэтому в примерах мы будем рассматривать как обращаться к ним прямо из терминала.
Способ 1: wget
Утилита wget позволяет нам скачивать файлы и получать информацию с веб-страниц. Для начала проверим, установлена ли она, введите в терминал и если получите в ответ , значит самое время ее установить
Или вместо apt использовать yum, что зависит от вашего дистрибутива:
Итак, утилита wget установлена, теперь попробуем узнать свой внешний IP-адрес. Для этого введем в терминал команду с опциями , далее минус , а затем уже один из сайтов, список которых . В целом шаблон команды такой:
Например внешний IP-адрес можно узнать вот так:
Или вот так:
И так с любым сайтом из . Вот так это выглядит в терминале:
$ wget -qO - icanhazip.com 176.216.236.211 $ wget -qO - ipecho.net/plain 176.216.236.211
Способ 2: curl (проще)
Второй способ — использовать curl. Сама по себе утилита более универсальна, чем wget и заслуживает не одну отдельную статью, но в данном примере мы разберем как с ее помощью узнать свой внешний IP-адрес.
Для начала также проверим, установлена ли она, введите в терминал и если получите в ответ , значит самое время ее установить
Или вместо apt использовать yum, что зависит от вашего дистрибутива:
Итак, утилита curl установлена, теперь попробуем узнать свой внешний IP-адрес. C «курлом» это намного проще, нужно лишь ввести curl и один из сайтов, список которых . В целом шаблон команды такой:
Пробуем:
И с другим сайтом:
Вид из терминала:
$ curl smart-ip.net/myip 176.216.236.211 $ curl ident.me 176.216.236.211
Как узнать локальный IP-адрес
Локальный IP-адрес узнается при помощи разных утилит, мы рассмотрим наиболее популярный и актуальный инструмент для этих задач на сегодня — инструмент . Чтобы увидеть все сетевые интерфейсы, достаточно ввести:
В примере используется Debian 9 и вывод там такой:
$ ip addr show 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000 link/ether 00:16:3e:3d:a0:09 brd ff:ff:ff:ff:ff:ff link-netnsid 0 inet 192.168.122.253/24 brd 192.168.122.255 scope global eth0 valid_lft forever preferred_lft forever inet6 fe80::216:3eff:fe3d:a009/64 scope link valid_lft forever preferred_lft forever
В выводе отображается очень много информации, в которой легко запутаться. Мы видим 2 интерфейса, один lo (внутренний ) и проводной eth0, с локальным IP-адресом . Как вы уже возможно поняли, сам IP-адрес отображается после .
Стоит перечислить самые распространенные интерфейсы, чтобы можно было легко ориентироваться, какой адрес кому пренадлежит.
- — внутренний интерфейс, всегда 127.0.0.1 или localhost
- — проводной интерфейс
- — Wi-Fi-интерфейс
- — Point-to-Point Protocol, часто используется для VPN
Системные команды Linux
Эти команды используются для просмотра информации и управления, связанной с системой Linux.
1. uname
Команда Uname используется в Linux для поиска информации об операционных системах. В Uname существует много опций, которые могут указывать имя ядра, версию ядра, тип процессора и имя хоста.
Следующая команда uname с опцией отображает всю информацию об операционной системе.
2. uptime
Информация о том, как долго работает система Linux, отображается с помощью команды uptime. Информация о времени безотказной работы системы собирается из файла ‘/proc/uptime‘. Эта команда также отобразит среднюю нагрузку на систему.
Из следующей команды мы можем понять, что система работает в течение последних 36 минут.
Полное руководство команды Uptime
3. hostname
Вы можете отобразить имя хоста вашей машины, введя в своем терминале. С помощью опции вы можете просмотреть ip-адрес компьютера. А с помощью параметра вы можете просмотреть доменное имя.
4. last
Команда last в Linux используется для определения того, кто последним вошел в систему на вашем сервере. Эта команда отображает список всех пользователей, вошедших (и вышедших) из «/var/log/wtmp » с момента создания файла.
Вам просто нужно ввести «last» в своем терминале.
5. date
В Linux команда date используется для проверки текущей даты и времени системы. Эта команда позволяет задать пользовательские форматы для дат.
Рекомендуем статью Команда Date (Дата) в Linux с примерами использования
Например, используя «date +%D«, вы можете просмотреть дату в формате «ММ/ДД/ГГ«.
6. cal
По умолчанию команда cal отображает календарь текущего месяца. С помощью опции вы можете просмотреть календарь на весь год.
9. reboot
Команда reboot используется для перезагрузки системы Linux. Вы должны запустить эту команду из терминала с правами суперпользователя sudo.
10. shutdown
Команда shutdown используется для выключения или перезагрузки системы Linux. Эта команда позволяет планировать завершение работы и уведомлять пользователей сообщениями о выключении и перезагрузке.
По умолчанию компьютер (сервер) выключится через 1 минуту. Вы можете отменить расписание, выполнив команду:
Немедленное отключение тоже возможно, для этого используется опция «now»
2.2, набор метасимволов регулярных выражений grep (базовый набор)
Режим | Описание | пример |
---|---|---|
Начало якорной линии | Такие как:Сопоставить всеНачало строки. | |
Конец якорной линии | Такие как:Сопоставить всеКонечная строка. | |
Соответствует не-символу новой строки | Такие как:соответствиеЗатем следует произвольный символ, а затем。 | |
Совпадение нуля или более предыдущих символов | Такие как:Сопоставляет все строки с одним или несколькими пробелами, за которыми следует grep.Используется вместе для обозначения любого персонажа. | |
Совпадение символа в указанном диапазоне | Такие как:соответствиес участием。 | |
Совпадение с символом не в указанном диапазоне | Такие как:Совпадение не содержитс участиемНачиная с буквыЛиния. | |
Пометить совпадающие символы | Такие как:,Быть отмеченным как。 | |
Прикрепить начало слова | Такие как:Матч содержитСтрока начального слова. | |
Закрепить конец слова | Такие как:Матч содержитСтрока конечного слова. | |
Повторяйте символы последовательно,раз | Такие как:Матчи включают 5 подрядЛиния. | |
Повторяйте символы последовательно,по крайней мерераз | Такие как:Не менее 5 матчей подрядЛиния. | |
Повторяйте символы последовательно,по крайней мереРаз, не болеераз | Такие как:Матч 5-10 подрядЛиния. | |
Соответствует буквенному и числовому символу, то есть | Такие как:Совпадать сЗатем следует ноль или более текстовых или числовых символов, затем。 | |
Перевернутая форма соответствует несловесному символу | Таких как: период, период и т. Д.Вы можете сопоставить несколько. | |
Блокировка слова | Такие как: Только матчКоторый может быть толькоЭто слово имеет пробелы с обеих сторон. |
Опции — расширения GNU
Опции -A —after-context=ЧИСЛО_СТРОК -B —before-context=ЧИСЛО_СТРОК -C —context=ЧИСЛО_СТРОК
Опция —colour
Выделяет найденные строки цветом. Значения КОГДА могут быть: never (никогда), always (всегда), или auto. Пример:
$ grep -o 'английскими' --color grep-ru.txtанглийскими
Опция -D ДЕЙСТВИЕ
—devices=ДЕЙСТВИЕ
Если исследуемый файл является файлом устройства, FIFO (именованным каналом) или сокетом, то следует применять эту опцию. ДЕЙСТВИЙ всего два: read (прочесть), и skip (пропустить). Если вы указываете ДЕЙСТВИЕ read (используется по умолчанию), то программа попытается прочесть специальный файл, как если бы он был обычным файлом; если указываете ДЕЙСТВИЕ skip, то файлы устройств, FIFO и сокеты будут молча проигнорированы.
Опция -d ДЕЙСТВИЕ
—directories=ДЕЙСТВИЕ
Если входной файл является директорией, то используйте эту опцию. ДЕЙСТВИЕ read (прочесть) попытается прочесть директорию как обычный файл (некоторые ОС и файловые системы запрещают это; тогда появятся соответствующие сообщения, либо директории молча пропустят). Если ДЕЙСТВИЕ skip (пропустить), то директории будут молча проигнорированы. Если ДЕЙСТВИЕ recurse (рекурсивно), то grep будет просматривать все файлы и субдиректории внутри заданного каталога рекурсивно. Это эквивалент опции -r, с которой мы уже познакомились.
—with-filename
Выдает имя файла для каждого совпадения с ОБРАЗЦОМ. Мы успешно делали это без всяких опций в Хитрости второй.
—no-filename
Подавляет вывод имен файлов, когда задано несколько файлов для исследования.
Опция -I
Обрабатывает бинарные файлы как не содержащие совпадений с ОБРАЗЦОМ; эквивалент опции —binary-files=without-match.
Опция —include=ОБРАЗЕЦ_имени_файла
При рекурсивном исследовании директорий обследовать только файлы, содержащие в своем имени ОБРАЗЕЦ_имени_файла.
Опция -m ЧИСЛО_СТРОК
—max-count=ЧИСЛО_СТРОК
Прекратить обработку файла после того, как количество совпадений с ОБРАЗЦОМ достигнет ЧИСЛА_СТРОК:
$ grep -m 2 'kot' kot.txtkotkotoroe
Опция -y
Синоним опции -i (не различать верхний и нижний регистр символов).
Опции -U и -u применяются только под MS-DOS и MS-Windows, тут нечего о них говорить.
Опция —mmap
Использует системный вызов mmap вместо системного вызова read. Может дать лучшую производительность, а может привести к ошибкам. Это для продвинутых пользователей.
Опция -Z
—null
Если в выводе программы имена файлов (например при опции -l), то опция -Z после каждого имени файла выводит нулевой байт вместо символа новой строки (как обычно происходит). Это делает вывод однозначным, даже если имена файлов содержат символы новой строки. Эта опция может быть использована совместно с такими командами как: find -print0, perl -0, sort -z, xargs -0 для обработки файловых имен, составленных необычно, даже содержащих символы новой строки. (Хотел бы я знать, как можно включить символ новой строки в имя файла. Если кто знает, не поленитесь — сообщите мне.)
Опция -z
—null-data
Рассматривает ввод как набор строк, каждая из которых заканчивается не символом новой строки, а нулевым байтом. Как и предыдущая опция, используется совместно с вышеперечисленными командами для обработки экзотических имен файлов.
найти дом/пользователя -имя файла-образца* -не -имя *.html
Linux FIND без ошибок
Обратите внимание, что в примере с поиском без рекурсии перечислены все каталоги, в которых поиск невозможен, и правильный результат. Это раздражает
Давайте не будем показывать все эти каталоги с отказом в доступе. Объедините его с другой командой терминала Linux, grep. Вы также можете использовать Find с grep для поиска файлов с определенными словами в них.
find -maxdepth 5 -name file-sample.rtf 2>&1 | grep -v «Отказано в доступе»
Разберем 2>&1. 2 – представляет стдерр
что является сокращением от стандартного вывода ошибок. 1 – представляет стандартный вывод
что является сокращением от стандартного вывода
> — означает перенаправить любой вывод слева от него на то, что справа от него.
& – означает собрать.
Итак, 2>&1 означает взять стандартные ошибки и перенаправить их, а затем объединить их со стандартным выводом в один вывод.
Теперь давайте посмотрим на | grep -v «Отказано в доступе».
| (называемый каналом) — указывает Linux передавать результаты того, что находится слева от него, тому, что находится справа от него. Он передается команде grep.
grep — утилита для текстового поиска.
Output line prefix control
-b, —byte-offset | Print the 0-based byte offset in the input file before each line of output. If -o (—only-matching) is specified, print the offset of the matching part itself. |
-H, —with-filename | Print the file name for each match. This is the default when there is more than one file to search. |
-h, —no-filename | Suppress the prefixing of file names on output. This is the default when there is only one file (or only standard input) to search. |
—label=LABEL | Display input actually coming from standard input as input coming from file LABEL. This is especially useful when implementing tools like zgrep, e.g., gzip -cd foo.gz | grep —label=foo -H something. See also the -H option. |
-n, —line-number | Prefix each line of output with the 1-based line number within its input file. |
-T, —initial-tab | Make sure that the first character of actual line content lies on a tab stop, so that the alignment of tabs looks normal. This is useful with options that prefix their output to the actual content: -H, -n, and -b. To improve the probability that lines from a single file will all start at the same column, this also causes the line number and byte offset (if present) to be printed in a minimum size field width. |
-u,—unix-byte-offsets | Report Unix-style byte offsets. This switch causes grep to report byte offsets as if the file were a Unix-style text file, i.e., with CR characters stripped off. This produces results identical to running grep on a Unix machine. This option has no effect unless -b option is also used; it has no effect on platforms other than MS-DOS and MS-Windows. |
-Z, —null | Output a zero byte (the ASCII NUL character) instead of the character that normally follows a file name. For example, grep -lZ outputs a zero byte after each file name instead of the usual newline. This option makes the output unambiguous, even in the presence of file names containing unusual characters like newlines. This option can be used with commands like find -print0, perl -0, sort -z, and xargs -0 to process arbitrary file names, even those that contain newline characters. |
Как мне использовать grep для поиска файла в Linux?
Найдите /etc/passwd для пользователя boo, введите:
Примеры выходных данных::
foo:x:1000:1000:boo,,,:/home/boo:/bin/ksh
Мы можем использовать fgrep/grep тобы найти все строки файла, содержащие определенное слово. Например, чтобы перечислить все строки файла с именем address.txt в текущем каталоге, которые содержат слово “California” выполните:
Обратите внимание, что приведенная выше команда также возвращает строки, в которых “California” является частью других слов, например “Californication” или “Californian”. Следовательно, передайте -w параметр с помощью команды grep/fgrep чтобы получить только строки, в которых “California” включено как целое слово:
Вы можете заставить grep игнорировать регистр слов, то есть сопоставить boo, Boo, BOO и все другие комбинации с -i параметром. Например, введите следующую команду:. Последнийgrep -i «boo» /etc/passwd
Последнийgrep -i "boo" /etc/passwd
Invert match using grep -v
You had different options to show the lines matched, to show the lines before match, and to show the lines after match, and to highlight match. So definitely You’d also want the option -v to do invert match.
When you want to display the lines which does not matches the given string/pattern, use the option -v as shown below. This example will display all the lines that did not match the word «go».
$ grep -v "go" demo_text 4. Vim Word Navigation You may want to do several navigation in relation to the words, such as: WORD - WORD consists of a sequence of non-blank characters, separated with white space. word - word consists of a sequence of letters, digits and underscores. Example to show the difference between WORD and word * 192.168.1.1 - single WORD * 192.168.1.1 - seven words.
Context line control
-A NUM,—after-context=NUM | Print NUM lines of trailing context after matching lines. Places a line containing a group separator (—) between contiguous groups of matches. With the -o or —only-matching option, this has no effect and a warning is given. |
-B NUM,—before-context=NUM | Print NUM lines of leading context before matching lines. Places a line containing a group separator (—) between contiguous groups of matches. With the -o or —only-matching option, this has no effect and a warning is given. |
-C NUM, —NUM,—context=NUM | Print NUM lines of output context. Places a line containing a group separator (—) between contiguous groups of matches. With the -o or —only-matching option, this has no effect and a warning is given. |
Команды Linux для управления пакетным менеджером
Установку и удаление приложений в Linux выполняют пакетные менеджеры. В Ubuntu и Debian пакетный менеджер называется apt, в Fedora — dnf, в Arch и Manjaro — pacman. Они загружают приложения из сетевых репозитариев, источников пакетов. Давать им команды следует с правами суперпользователя.
apt (Debian/Ubuntu/Mint)
- . Установить нужный пакет.
- . Добавить сторонний репозитарий.
- . Обновить сведения о пакетах.
- . Обновить все пакеты до самых свежих (выполнять после ).
- . Удалить ненужный пакет.
- . Удалить ненужный пакет со всеми зависимостями, если хотите освободить больше места.
- . Удалить все ненужные зависимости, бесхозные пакеты и прочий мусор.
dnf (Red Hat/Fedora/CentOS)
- . Установить нужный пакет.
- . Добавить сторонний репозитарий.
- . Обновить все пакеты до самых свежих.
- . Удалить ненужный пакет.
- . Удалить все ненужные зависимости.
pacman (Arch/Manjaro)
- . Установить нужный пакет.
- . Установить пакет из AUR, если его нет в основном репозитарии.
- . Обновить сведения о пакетах.
- . Обновить все пакеты до самых свежих.
- . Удалить ненужный пакет.
- . Удалить ненужный пакет со всеми зависимостями.
Вы можете устанавливать и удалять сразу несколько пакетов, просто перечисляя их через пробел.
2.1, общие параметры и примеры команды grep
Команда grep используется для поиска шаблона, указанного параметром Pattern, и записи каждой соответствующей строки в стандартный вывод. Эти шаблоны являются ограниченными регулярными выражениями, они используют стиль команд ed или egrep. Если в параметре File указано несколько имен, команда grep отобразит имя файла, содержащего совпадающую строку.
Персонажи с особым значением для раковины Он должен быть заключен в двойные кавычки, когда он появляется в параметре Pattern. Если параметр Pattern не является простой строкой, обычно весь шаблон должен быть заключен в одинарные кавычки. В таких какВ таких выражениях, как,(Знак минус) Вы можете указать диапазон в соответствии с последовательностью, которая сортируется в данный момент. Последовательность упорядочения может определять эквивалентные классы для использования в диапазонах символов. Если файл не указан, grep примет стандартный ввод.
Синтаксис grep
Синтаксис команды выглядит следующим образом:
$ grep шаблон
Или:
$ команда | grep шаблон
- Опции — это дополнительные параметры, с помощью которых указываются различные настройки поиска и вывода, например количество строк или режим инверсии.
- Шаблон — это любая строка или регулярное выражение, по которому будет вестись поиск
- Файл и команда — это то место, где будет вестись поиск. Как вы увидите дальше, grep позволяет искать в нескольких файлах и даже в каталоге, используя рекурсивный режим.
Возможность фильтровать стандартный вывод пригодится,например, когда нужно выбрать только ошибки из логов или найти PID процесса в многочисленном отчёте утилиты ps.
Управление процессами в Linux.
ps
ps —help Список всех процессов, запущенных в системе:ps -e — выдаст список процессов с идентификаторами
( PID ) и их именами
или:ps -eF — выдаст тот же список процессов, но с полной строкой запуска
список задач, порожденных пользователем user:ps -U user
список задач, связанных с текущим терминалом:ps -T
список задач, связанных с терминалом N:ps t ttyN
Если список задач большой, а нас интересует состояние одной или нескольких
задач, можно воспользоваться grep:ps -U root | grep ppp — выдать список задач, содержащих «ppp» в имени
Для получения сведений об использовании ресурсов компьютера можно
воспользоваться командой top
В верхней части окна выводятся суммарные данные о состоянии системы —
текущее время,
время с момента загрузки системы, число пользователей в системе,
число процессов в разных состояниях,
данные об использовании процессора и памяти.
Ниже выводится таблица, характеризующая отдельные процессы.
Число строк, отображаемых в этой таблице, определяется размером окна.
Содержимое окна обновляется каждые 3 секунды. Нажатие клавиши h
выводит справку по командам, которые позволяют изменить формат отображаемых данных
и управлять некоторыми параметрами процессов в системе:
s или d — изменить
интервал обновления окна.
z — цветное/черно-белое отображение
n или # — количество отображаемых
процессов
Можно отсортировать список процессов по использованию ресурсов процессора
(P), памяти (M),
времени выполнения (T) и т.п.
В среде утилиты top также существуют подкоманды, которые позволяют управлять процессами в интерактивном режиме:
k — снять ( kill ) задачу. По этой команде будет
запрошен идентификатор процесса ( PID ), после ввода которого, процесс будет
завершен.
r — изменить текущий приоритет задачи (renice).
Как и при выполнении предыдущей команды, будет запрошен PID, и затем, новое значение
приоритета (отображается в колонке NI). Диапазон значений приоритетов — от минус 20
(наивысший) до плюс 19. Отрицательные значения и 0 может устанавливать только
пользователь root.
Для выхода из top нажмите q
Эти же действия (принудительное завершение процесса и изменение его приоритета)
можно выполнить и без команды top.
Процессы в Linux имеют возможность обмениваться
так называемыми «сигналами» с ядром и другими процессами. При получении сигнала
процессом, управление передается подпрограмме его обработки или ядру, если такой подпрограммы не существует. В Linux имеется команда kill, которая позволяет послать заданному процессу любой сигнал. Список сигналов можно получить по команде:kill -l
В результате выполнения этой команды вы увидите список номеров и названий сигналов.
Для того, чтобы послать определенный сигнал выбранному процессу, нужно ввести:kill номер PID выбранного процесса
Например, нам нужно завершить работу приложения Midnight Commander (mc).
Определим идентификатор процесса mc:ps -e | grep mc
Пусть PID= 11597.
Вывод
Команда grep очень универсальна, и многие новые пользователи Linux или Unix считают ее сложной. Поэтому я предлагаю вам также прочитать справочную страницу grep . Подведем итог большинству вариантов импорта:
Параметры команды grep в Linux | Описание |
---|---|
-i | Игнорировать различия в регистрах в Linux и Unix |
-w | Заставить ШАБЛОН соответствовать только целым словам |
-v | Выбрать несовпадающие строки |
-n | Вывести номер строки с выводами |
-h | Отключить префикс имени файла Unix на выходе |
-r | Рекурсивный поиск каталогов в Linux |
-R | Как и -r, но следуйте всем символическим ссылкам |
-l | Печатать только имена ФАЙЛОВ с выделенными строками |
-c | Печатать только количество выбранных строк на ФАЙЛ |
--color | Отображение согласованного рисунка в цветах |