TERMINAL Flashcards
TERMINAL
Вывести короткое описание программы (2).
[1] whatis имя_программы
[2] man -f имя_программы
или
man –whatis имя программы
TERMINAL
Искать строку среди manual документов, включая ВЕСЬ текст этих страниц.
man -K “текст”
man –global-apropos “текст”
(ОБРАТИТЬ ВНИМАНИЕ: При копировании больших, длинных строк могут появиться лишние пробелы между словами и/или знаки пере-носа, которые помешают поиску найти искомую строку. Требует время для поиска.)
Можно использовать вместе с опцией –regex, тогда искомая строка будет интерпретироваться как регулярное выражение.
н-п-TERMINAL
Все о регулярных выражениях.
Базовые регулярные выражения, Base regular expressions, BRE - меньше инструментов, считается устаревшим, но поддерживается ради обратной совместимости.
(Далее примеры используют следующий шаблон:
BRE –> строка_1 ; строка_2 ; строка_3 ; … т.е. строки, которые подходят под данный шаблон)
BRE:
1) Любой специальный символ может быть интерпретирован как обычный символ, если перед ним поставить обратный слэш ( \ ).
2) Точка –> один любой символ:
.est –> test ; eest ; fest ; $est …
3) Список символов внутри [] –> один любой из этих символов:
t[abce]st –> tast ; tbst ; tcst ; test
3.1) Если список начинается символом ^ –> один любой из символов, кроме тех, что перечислены:
t[^abce]st –> tыst ; tZst ; txst ; tйst ; t&st …
3.2) Если в списке только 2 символа, с символом - между ними –> один любой символ между этими символами, включительно:
t[a-z]st –> tast ; tbst ; tcst ; test …
(к примеру, [a-d] эквивалентно [aBbCcDd], но может отличаться в зависимости от настроек)
3.3) Помимо этого есть набор специальных слов, заключенных в : с двух сторон:
[:alnum:]
[:alpha:]
[:blank:]
[:cntrl:]
[:digit:]
[:graph:]
[:lower:]
[:print:]
[:punct:]
[:space:]
[:upper:]
[:xdigit:]
4) Вне [ ] символы ^ в начале строки и $ в конце строки обозначают, соответственно, начало и конец строки:
^g –> glfsf ; gggggg ; gsf ; g9999 …
F$ –> lsfslfF ; lsdfjF ; aaaaF ; F …
5) \b и \B означают границу слова и, соответственно, ее отсутствие:
\bspam\b –> ищет spam как отдельное слово, т.е. соседние с этим словом символы не должны быть символами букв, цифр или нижних подчеркиваний.
\Bing\b –> ищет слово, заканчивающееся на ing
\bhell –> ищет слово, начинающееся на hell
< и > (используемые в строках в кавычках, в утилитах типа grep, чтобы символы > и < не интерпретировались как перенаправления потоков) - это аналоги \b и \B соответственно, но они не везде работают:
GG> –> строка, которая заканчивается на GG, аналогично шаблону GG\B
<spam –> строка, которая начинается со spam, аналогично шаблону \bspam
6) \w и \W синонимы для [[:alnum:]] и [^[:alnum:]] соответственно.
6) Повторяемые символы:
? предыдущий символ либо отсутствует, либо присутствует не более 1 раза.
- предыдущий символ либо
н-п-TERMINAL
Расширенные регулярные выражения
Расширенные регулярные выражения, Extension regular expression, ERE - более современный, расширяет BRE, больше возможностей.
1) Повторения:
+ предыдущий символ повторяется 0 или более раз.
{n} предыдущий символ повторяется ровно n раз.
{n, } предыдущий символ повторяется n или более раз.
{, m} предыдущий символ повторяется не более m раз (это расширение GNU)
{n, m} предыдущий символ повторяется как минимум n, как максимум m раз.
2) Несколько выражений:
выражение_1 | выражение_2 –> будет выдан результат, соответствующий хотя бы одному из этих выражений.
(приоритет операций объединения? Объединение “или или, но не оба сразу”? и.т.д.)
TERMINAL
Узнать, где находятся файлы man для указанной команды.
man -w запрос
man –where запрос
man –path запрос
man –location запрос
(дополнительно можно использовать ключ -a, для поиска всех ресурсных файлов)
TERMINAL
Использовать man для поиска, когда в поиске регулярное выражение.
man –regex выражение
(подразумевает использование -a)