Grep все, что можно

Команды Linux, для работы с файлами

Эти команды используются для обработки файлов и каталогов.

33. ls

Очень простая, но мощная команда, используемая для отображения файлов и каталогов. По умолчанию команда ls отобразит содержимое текущего каталога.

34. pwd

Linux pwd — это команда для показывает имя текущего рабочего каталога. Когда мы теряемся в каталогах, мы всегда можем показать, где мы находимся.

Пример ример ниже:

35. mkdir

В Linux мы можем использовать команду mkdir для создания каталога.

По умолчанию, запустив mkdir без какой-либо опции, он создаст каталог в текущем каталоге.

36. cat

Мы используем команду cat в основном для просмотра содержимого, объединения и перенаправления выходных файлов. Самый простой способ использовать cat— это просто ввести » имя_файла cat’.

В следующих примерах команды cat отобразится имя дистрибутива Linux и версия, которая в настоящее время установлена на сервере.

37. rm

Когда файл больше не нужен, мы можем удалить его, чтобы сэкономить место. В системе Linux мы можем использовать для этого команду rm.

38. cp

Команда Cp используется в Linux для создания копий файлов и каталогов.

Следующая команда скопирует файл ‘myfile.txt» из текущего каталога в «/home/linkedin/office«.

39. mv

Когда вы хотите переместить файлы из одного места в другое и не хотите их дублировать, требуется использовать команду mv.

40.cd

Команда Cd используется для изменения текущего рабочего каталога пользователя в Linux и других Unix-подобных операционных системах.

41. Ln

Символическая ссылка или программная ссылка — это особый тип файла, который содержит ссылку, указывающую на другой файл или каталог. Команда ln используется для создания символических ссылок.

Команда Ln использует следующий синтаксис:

42. touch

Команда Touch используется в Linux для изменения времени доступа к файлам и их модификации. Мы можем использовать команду touch для создания пустого файла.

44. head

Команда head используется для печати первых нескольких строк текстового файла. По умолчанию команда head выводит первые 10 строк каждого файла.

45. tail

Как вы, возможно, знаете, команда cat используется для отображения всего содержимого файла с помощью стандартного ввода. Но в некоторых случаях нам приходится отображать часть файла. По умолчанию команда tail отображает последние десять строк.

46. gpg

GPG — это инструмент, используемый в Linux для безопасной связи. Он использует комбинацию двух ключей (криптография с симметричным ключом и открытым ключом) для шифрования файлов.

50. uniq

Uniq — это инструмент командной строки, используемый для создания отчетов и фильтрации повторяющихся строк из файла.

53. tee

Команда Linux tee используется для связывания и перенаправления задач, вы можете перенаправить вывод и/или ошибки в файл, и он не будет отображаться в терминале.

54. tr

Команда tr (translate) используется в Linux в основном для перевода и удаления символов. Его можно использовать для преобразования прописных букв в строчные, сжатия повторяющихся символов и удаления символов.

find — синтаксис и зачем оно нужно

find — утилита поиска файлов по имени и другим свойствам, используемая в UNIX‐подобных операционных системах. С лохматых тысячелетий есть и поддерживаться почти всеми из них.

Базовый синтаксис ключей (забран с Вики):

-name — искать по имени файла, при использовании подстановочных образцов параметр заключается в кавычки

Опция `-name’ различает прописные и строчные буквы; чтобы использовать поиск без этих различий, воспользуйтесь опцией `-iname’;

-type — тип искомого: f=файл, d=каталог, l=ссылка (link), p=канал (pipe), s=сокет;

-user — владелец: имя пользователя или UID;

-group — владелец: группа пользователя или GID;

-perm — указываются права доступа;

-size — размер: указывается в 512-байтных блоках или байтах (признак байтов — символ «c» за числом);

-atime — время последнего обращения к файлу (в днях);

-amin — время последнего обращения к файлу (в минутах);

-ctime — время последнего изменения владельца или прав доступа к файлу (в днях);

-cmin — время последнего изменения владельца или прав доступа к файлу (в минутах);

-mtime — время последнего изменения файла (в днях);

-mmin — время последнего изменения файла (в минутах);

-newer другой_файл — искать файлы созданные позже, чем другой_файл;

-delete — удалять найденные файлы;

-ls — генерирует вывод как команда ls -dgils;

-print — показывает на экране найденные файлы;

-print0 — выводит путь к текущему файлу на стандартный вывод, за которым следует символ ASCII NULL (код символа 0);

-exec command {} \; — выполняет над найденным файлом указанную команду; обратите внимание на синтаксис;

-ok — перед выполнением команды указанной в -exec, выдаёт запрос;

-depth или -d — начинать поиск с самых глубоких уровней вложенности, а не с корня каталога;

-maxdepth — максимальный уровень вложенности для поиска. «-maxdepth 0» ограничивает поиск текущим каталогом;

-prune — используется, когда вы хотите исключить из поиска определённые каталоги;

-mount или -xdev — не переходить на другие файловые системы;

-regex — искать по имени файла используя регулярные выражения;

-regextype тип — указание типа используемых регулярных выражений;

-P — не разворачивать символические ссылки (поведение по умолчанию);

-L — разворачивать символические ссылки;

-empty — только пустые каталоги.

Примерно тоже самое, только больше и в не самом удобочитаемом виде, т.к надо делать запрос по каждому ключу отдельно, можно получить по

Результатам будет нечто такое из чего можно вычленять справку по отдельному ключу или команде (кликабельно):

В качестве развлечения можно использовать:

Дабы получить мануал из самой системы по базису и ключам (тоже кликабельно);

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

A practical example of grep: Matching phone numbers

This tool can be intimidating to newbies and experienced Linux users alike. Unfortunately, even a relatively simple pattern like a phone number can result in a «scary» looking regex string.

I want to reassure you that there is no need to panic when you see expressions like this. Once you become familiar with the basics of regex, it can open up a new world of possibilities for your computing.

I’ve created a file called and written down 4 common variations of the same phone number. I am going to use grep to recognize the number pattern regardless of the format.

I’ve also added one line that will not conform to the expression to use as a control. The final line is not a standard phone number pattern, and will not be returned by the grep expression.

Contents of files are:

To «grep» the phone numbers, I am going to write my regex using meta-characters to isolate the relevant data and ignore what I don’t need.

The complete command is going to look like this:

Looks a little intense, right? Let’s break it down into chunks to get a better idea of what is happening.

Understanding regex, one segment at a time

First let’s separate the section of the RegEx that looks for the «area code» in the phone number.

A similar pattern is partially repeated to get the rest of the digits, as well. It’s important to note that the area code is sometimes encapsulated in parentheses, so you need to account for that with the expression here.

The logic of the entire area code section is encapsulated in an escaped set of round braces. You can see that my code starts with and ends with .

When you use the square brackets , you’re letting grep know that you’re looking for a number between 0 and 9. Similarly, you could use to match letters of the alphabet.

The number in the curly brackets , means that the item in the square braces is matched exactly three times.

Still confused? Don’t get stressed out. You’re going to look at this example in several ways so that you feel confident moving forward.

Let’s try looking at the logic of the area code section in pseudo-code. I’ve isolated each segment of the expression.

Pseudo-code of the Area Code RegEx

  • \(
  • (3-Digit Number)
  • |
  • 3-Digit Number
  • \)

Hopefully, seeing it like this makes the regex more straightforward. In plain language you are looking for 3-digit numbers. Each digit could be 0-9, and there may or may not be parenthesis around the area code.

Then, there’s this weird bit at the end of our first section.

\?

What does it mean? The symbol means «match zero or one of the preceding character». Here, that’s referring to what is in our square brackets .

In other words, there may or may not be a hyphen that follows the digits.

Area Code

Now, let’s re-build the same block with the actual code. Then, I’ll add the other parts of the expression.

  • \(
  • (\{3\})
  • |
  • \{3\}
  • \)
  • \?

Prefix

To complete the phone number pattern, you can just re-purpose some of your existing code.

You don’t have to be concerned about the parenthesis surrounding the prefix, but you still may or may not have a between the prefix and the line digits of the phone number.

Line Numbers

The last section of the phone number does not require us to look for any other characters, but you need to update the expression to reflect the extra digit.

That’s it. Now let’s make sure that the expression is contained in quotes to minimize unexpected behaviors.

Here’s the complete expression again

You can see that the results are highlighted in color. This may not be the default behavior on your Linux distribution.

10 Practical Grep Command Examples for Developers
The grep command is used to find patterns in files. This tutorial shows some of the most common grep command examples that would be specifically beneficial for software developers.

Linux HandbookSylvain Leroux

Bonus Tip

If you’d like your results to be highlighted, you could add to your command. You could also add this to your shell profile as an alias so that every time you type it runs as a .

I hope you have a better understand of the grep command now. I showed just one example to explain the things. If interested, you may check out this article for more practical examples of the grep command.

1. Что такое команда GREP

Что такое команда Grep

Grep — это команда, разработанная для выполнения задач текстового поиска, Grep отвечает за поиск в файле, в котором мы указываем строки, в которых обнаруживается совпадение, либо со словами, либо со строкой, которую мы назначаем во время выполнения этого. Его название происходит от редактора UNIX g / re / p. Во время выполнения Grep будет возможно указать имя файла или можно оставить стандартный ввод, таким образом, Grep отвечает за генерацию совпадающих строк.

Grep переменные

В процессе Grep управляются три (3) переменные:

-G, —basic-regexp: отвечает за интерпретацию шаблона как основного регулярного выражения, это значение по умолчанию.

-E, —extended-regexp: эта опция проверяет шаблон как расширенное регулярное выражение.

-F, —fixed-strings: с этой опцией шаблон интерпретируется как список строк фиксированных символов, разделенных переносами строк, где в любом из них будет выполняться поиск соответствия.

Команда Grep (Global Regular Expression Print) — это команда, которая позволит нам анализировать в системе, чтобы найти совпадения, и после обнаружения приступить к печати результатов, чтобы можно было централизованно управлять этими результатами.

Grep синтаксис

Синтаксис использования команды Grep следующий:

 grep (Опция) Шаблон (файл) 

Параметры команды Grep

Есть ряд параметров, которые мы можем использовать с командой grep для получения наилучших результатов, это:

-E, —extended-regexp: шаблоны понимаются как регулярные выражения

-F, —fixed-strings: шаблоны являются строками

-G, —basic-regexp: шаблоны являются основными регулярными выражениями

-P, —perl-regexep: шаблоны являются выражениями Perl

-e, regexp = PATTERNS: поиск шаблонов совпадений

-f. –File (File): использует шаблоны в виде файла.

-i, —ignore-case: игнорировать прописные буквы

-w, —word-regexp: сопоставить все одинаковые слова

-x, —line-regexp: сопоставить все строки

-s, —no-messages: устранить сообщения об ошибках

-v, —invert-match: выбрать строки, которые не соответствуют критериям поиска

-V, —version: отображает версию используемого grep

-m, —max-count = NUM: останавливает поиск после определенного количества строк

-b, —byte-offset = Отображает смещение байта рядом с выходными строками

-n, —line-number: вывести количество строк

-H, —with-filename: отображать имя файла в выходных строках

-q, —quiet: Подавить все результаты

-d, —directories = Action: Указывает, как обрабатываются каталоги

-l, —files-without-match = выводить только имена файлов без учета строк

-c, —count: печать выбранных строк в файле

У меня нет команды Grep

Команда grep по умолчанию используется в худших дистрибутивах Linux, если по какой-то причине у вас ее нет, вы можете установить ее с помощью следующих команд:

 sudo apt-get установить grep (Debian и Ubuntu) sudo yum установить grep (Redhat, CentOS и Fedora) 

Шаг 1 Общий синтаксис, который может содержать несколько параметров, выглядит следующим образом:

 grep  num]   pattern | -f файл]                            файлов ... 

Шаг 2 Мы увидим несколько примеров использования Grep, прежде чем узнаем его параметры. Если мы хотим посмотреть в каталоге / etc / passwd все, что касается специального пользователя, мы можем выполнить следующее:

 grep "пользователь" / etc / passwd 

Шаг 3 Результат будет следующим:

Шаг 4 Также будет возможно заставить команду Grep игнорировать прописные и строчные буквы, то есть разрешить сопоставление Solventic, Solvetic или SOLVETIC вместе со всеми комбинациями, используя параметр -i:

 grep -i "resoltic" / etc / passwd 

Шаг 5 Эта опция также может быть выполнена с помощью команды cat следующим образом:

 кошка / etc / passwd | grep -i "решитель" 

Синтаксис

Рассмотрим синтаксис.

grep шаблон

Или так:

Команда | grep шаблон

Здесь под параметрами понимаются аргументы,  с помощью которых настраивается поиск и вывод на экран. Например нужно найти слово «линукс», и не учитывать регистр при поиске. Тогда нужно использовать опцию «-i».

Шаблон — это выражение или строка.

Имя файла — где искать.

Основные параметры:

—help. Вывести справочную информацию.

-i. Не учитывать регистр при поиске.

-V. Узнать текущую версию.

-v. Инвертированный поиск.

-s. Не выводить на экран сообщения об ошибкам. Например сообщение о несуществующих файлах.

-r. Поиск в каталогах, подкаталогах или рекурсивный grep.

-w. Искать как слово с пробелами.

-с. Опция считает количество вхождений (счетчик).

-e. Регулярные выражения.

Примеры

Найдем все файлы в текущей директории где встречается слово «linux».

grep linux ./*

Здесь:

  • linux — слово которое нужно искать;
  • точка — текущая директория;
  • звездочка — искать во всех файлах.

Чтобы начать поиск без учета регистра необходимо добавить аргумент «-i». В нашем примере получится так:

grep -i linux ./*


Поиск в конкретном документе.  Для примера найдем в документе «test» слово «хороший». Для этого с помощью утилиты «cd» зайдем в текущую директорию, где лежит файл «test». В моем случаи он находится в домашнем каталоге,  я ввожу просто «cd».

grep хороший test


Здесь:

  • хороший — слово которое нужно найти;
  • test — файл, где искать.

Рекурсивный поиск. Чтобы найти определенный текст в определенной директории, используют рекурсивный поиск. Для этого необходимо использовать параметр «-r». Найдем слово «vseprolinux» в домашнем каталоге root и его подкаталогах.

grep -r vseprolinux /etc/root

Найдем три слова сразу в одной строке «все про Линукс». Для этого будем использовать вертикальную черту и введет «grep» три раза.

grep «все» test | grep «про» | grep «Линукс»

Команда grep может сообщить сколько раз встречается слово. Нам поможет опция -с. Посчитаем сколько раз встречается слово «site» в документе «file».

grep -c site file


Как видно на скриншоте выше, в файле «file» три раза встречается слово «site». Однако команда также считает выражение «mysite» за «site». Как сделать чтобы mysite не попал под счетчик?  Добавим опцию «-w.»

grep -cw site file

Регулярные выражения.

Регулярные выражение в утилите «grep» — это мощная функция, которая расширяет возможности поиска. Чтобы активировать эту функцию или режим, используется аргумент «-e».

Символы в выражениях:

  • $ — конец строки;
  • ^ — начало строки;
  • [] — указывается диапазон значений или конкретные через запятую.

Найдем цифры 1-5 в документе «file».

grep file

В скобках написано диапазон значений от одного до пяти, также можно написать конкретные значения через запятую, так:

Команды Linux, связанные с процессом

Эти команды используются для обработки процессов Linux

55. ps

Команда Linux ps — это встроенный инструмент для отслеживания текущих процессов в системе. Он будет фиксировать состояние системы за один раз.

56. pmap

Команда pmap отображает карту использования памяти процесса или нескольких процессов. Pmap сообщает информацию об адресном пространстве или карте использования памяти процесса.

57. top

Команда top в Linux отображает запущенные процессы в системе. Эта команда широко используется для мониторинга нагрузки на сервер.

58. kill

Команда kill используется в Linux и других Unix-подобных операционных системах для завершения процессов без необходимости выхода из системы или перезагрузки компьютера.

59. killall

Команда killall может использоваться для отправки сигнала определенному процессу, используя его имя. Это означает, что если у вас запущено пять версий одной и той же программы, команда killall уничтожит все пять.

60. pkill

Аналогично команде killall, pkill посылает сигнал для завершения процесса с его именем. Начиная с Centos 7 рекомендуется использовать pkill.

61. fg и bg

Мы можем запускать задания в фоновом режиме без какого-либо вмешательства пользователя. Процессы, которые были остановлены каким-либо сигналом прерывания, могут быть продолжены в фоновом режиме с помощью команды bg. Команда fg похожа на команду bg, за исключением того, что вместо отправки команды в фоновом режиме она запускает их на переднем плане, занимает текущий терминал и ожидает завершения процесса.

2. Примеры использования команды Grep

Теперь мы увидим, как использовать команду Grep в Linux.

Как использовать Grep в общем

Чтобы понять, как работает Grep, мы посмотрим в каталоге / etc / passwd все результаты, связанные с нашим пользователем:

 grep solvetic / etc / passwd 

В качестве дополнительного момента помните, что можно сказать, что grep игнорирует прописные и строчные буквы в результатах, для этого мы выполним следующее:

 grep -i "resoltic" / etc / passwd 

Grep идеально подходит для поиска определенных терминов в известных файлах, например, мы выполним следующий поиск:

 grep Solvetic Solvetic.txt 

Этот же термин можно искать в разных файлах одновременно, для этого мы будем использовать следующую строку:

 grep Solvetic Solvetic.txt Solvetic1.txt 

Более сокращенный способ сделать это — выполнить следующее:

 grep solvetic *. * 

Как использовать grep для перенаправления результатов в файл в Linux

Это полезно в тех случаях, когда мы должны выполнить административные задачи над файлами позже, поэтому можно перенаправить вывод команды grep в определенный файл, например, мы сделаем следующее:

 grep Solvetic Solvetic.txt> Solvetic2.txt 

Как использовать grep для поиска в каталогах

Благодаря параметру -r мы сможем найти значение в доступных подкаталогах, выполним следующее:

 grep -r Solvetic / домашний / решающий 

Как использовать grep для отображения номера строки

Для задач аудита или расширенной поддержки идеально отображать номер строки, в которой находится указанный шаблон поиска, для этого мы можем использовать параметр -n следующим образом. Там мы находим номер строки, где находится каждое значение.

 grep -n Solvetic Solvetic.txt 

Как использовать grep для выделения результатов

Поскольку мы знаем, что текст во многих случаях может сбить с толку, по этой причине решение состоит в том, чтобы выделить критерии поиска, которые фокусируют наше представление непосредственно на этой строке, для этого мы будем использовать параметр цвета, например:

 grep -color Solvetic Solvetic.txt 

Как использовать grep для отображения строк, начинающихся или заканчивающихся указанным шаблоном

Мы можем захотеть визуализировать только результаты строк, которые начинаются или заканчиваются критериями поиска, для этого, если мы хотим найти строки, которые начинаются, мы будем использовать следующую строку:

 grep ^ Solvetic Solvetic.txt 

Теперь, чтобы отобразить строки, которые заканчиваются, мы будем использовать следующее:

 grep Solvetic $ Solvetic.txt 

Как использовать grep для печати всех строк, не видя совпадающих

Если мы хотим увидеть все строки, кроме тех, где задано желаемое значение, мы должны использовать параметр -v следующим образом:

 grep -v Solvetic Solvetic.txt 

Как использовать grep с другими командами

Grep, как и многие команды Linux, можно использовать одновременно с другими командами для получения более четких результатов, например, если мы хотим развернуть процессы HTTP, мы будем использовать grep рядом с ps следующим образом:

 ps -ef | grep http 

Как использовать grep, чтобы посчитать, сколько слов повторяется в файле

Если мы хотим узнать, сколько раз шаблон повторяется в данном файле, мы будем использовать параметр -c:

 grep -c Solvetic Solvetic.txt 

Как использовать grep для обратного поиска

Хотя это звучит странно, это не что иное, как отображение в результате слов, которые мы не указываем, это достигается с помощью параметра -v:

 grep -v Solvetic Solvetic2.txt 

Как использовать grep для просмотра сведений об оборудовании

Ранее мы видели, что мы можем комбинировать grep с другими командами для отображения результата, ну, если мы хотим получить конкретные сведения об оборудовании, мы можем использовать cat с grep следующим образом:

 cat / proc / cpuinfo | grep -i 'Модель' 

Во всем мире мы узнали, как использовать команду grep для доступа к гораздо более конкретным результатам поиска в Linux.

Character classes and bracket expressions

A bracket expression is a list of characters enclosed by and . It matches any single character in that list; if the first character of the list is the caret ^ then it matches any character not in the list. For example, the regular expression matches any single digit.

Within a bracket expression, a range expression consists of two characters separated by a hyphen. It matches any single character that sorts between the two characters, inclusive, using the locale’s collating sequence and character set. For example, in the default C locale, is equivalent to . Many locales sort characters in dictionary order, and in these locales is often not equivalent to ; it might be equivalent to , for example. To obtain the traditional interpretation of bracket expressions, you can use the C locale by setting the LC_ALL environment variable to the value C.

Finally, certain named classes of characters are predefined within bracket expressions, as follows. Their names are self explanatory, and they are , , , , , , , , , , and . For example, ] means the character class of numbers and letters in the current locale. In the C locale and ASCII character set encoding, this is the same as . (Note that the brackets in these class names are part of the symbolic names, and must be included in addition to the brackets delimiting the bracket expression.) Most metacharacters lose their special meaning inside bracket expressions. To include a literal place it first in the list. Similarly, to include a literal ^ place it anywhere but first. Finally, to include a literal , place it last.

1.1, общая форма команды find

Общая форма команды find, приведенная в документе man:

на самом делеЭти параметры обычно не используются (по крайней мере, в моей повседневной работе, я не использовал их), общая форма приведенной выше команды поиска может быть упрощена до:

команда Описание
path Путь к каталогу, который ищется командой find. Например, используйте. Для представления текущего каталога и / для представления корневого каталога системы.
expression Выражение можно разделить на
-options Укажите общие параметры команды find, подробно описанные в следующем разделе.
-print Команда find выводит сопоставленные файлы на стандартный вывод
-exec Команда find выполняет команду оболочки, заданную этим параметром для соответствующего файла. Соответствующая команда имеет вид,нотас участиемПространство между
-ok Он имеет тот же эффект, что и -exec, за исключением того, что команда оболочки, заданная этим параметром, выполняется в более безопасном режиме.Перед выполнением каждой команды будет выдано приглашение, позволяющее пользователю определить, выполнять ли ее.

пример 1:Удалить файлы с нулевым размером файла

(Вы также можете сделать это: rm -i Или найдите ./ -size 0 | xargs rm -f &)

Пример 2:Чтобы вывести список соответствующих файлов с помощью команды ls -l, вы можете поместить команду ls -l в опцию -exec команды find:

Пример 3:В каталоге / logs найдите файлы, время изменения которых составляет до 5 дней, и удалите их:

Пример 4:Найдите в текущем каталоге все файлы, имена которых заканчиваются на .conf и время изменения которых превышает 5 дней, и удалите их, но перед удалением выведите подсказку.

Некоторые люди также описывают структуру команды find следующим образом:

Using regular expressions

Grep’s functionality is further extended by using regular expressions, allowing you more flexibility in your searches. Several exist, and we will go over some of the most commons ones in the examples below:

brackets are used to match any of a set of characters.

$ grep "Class " Students.txt

This command will return any lines that say ‘Class 1’, ‘Class2’, or ‘Class 3’.

brackets with a hyphen can be used to specify a range of characters, either numerical or alphabetical.

$ grep "Class " Students.txt

We get the same output as before, but the command is much easier to type, especially if we had a bigger range of numbers or letters.

^caret is used to search for a pattern that only occurs at the beginning of a line.

$ grep "^Class" Students.txt

brackets with caret are used to exclude characters from a search pattern.

$ grep "Class " Students.txt

$ dollar sign is used to search for a pattern that only occurs at the end of a line.

$ grep "1$" Students.txt

. dot is used to match any one character, so it’s a wildcard but only for a single character.

$ grep "A….a" Students.txt

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», как мы делали на скриншоте выше.

Системные команды Linux

Эти команды используются для просмотра информации и управления, связанной с системой Linux.

1. uname

Команда Uname используется в Linux для поиска информации об операционных системах. В Uname существует много опций, которые могут указывать имя ядра, версию ядра, тип процессора и имя хоста.

Следующая команда uname с опцией  отображает всю информацию об операционной системе.

2. uptime

Информация о том, как долго работает система Linux, отображается с помощью команды uptime. Информация о времени безотказной работы системы собирается из файла ‘/proc/uptime‘. Эта команда также отобразит среднюю нагрузку на систему.

Из следующей команды мы можем понять, что система работает в течение последних 36 минут.

3. hostname

Вы можете отобразить имя хоста вашей машины, введя  в своем терминале. С помощью опции  вы можете просмотреть ip-адрес компьютера. А с помощью параметра  вы можете просмотреть доменное имя.

4. last

Команда last в Linux используется для определения того, кто последним вошел в систему на вашем сервере. Эта команда отображает список всех пользователей, вошедших (и вышедших) из «/var/log/wtmp » с момента создания файла.

Вам просто нужно ввести «last» в своем терминале.

5. date

В Linux команда date используется для проверки текущей даты и времени системы. Эта команда позволяет задать пользовательские форматы для дат.

Например, используя «date +%D«, вы можете просмотреть дату в формате «ММ/ДД/ГГ«.

6. cal

По умолчанию команда cal отображает календарь текущего месяца. С помощью опции  вы можете просмотреть календарь на весь год.

9. reboot

Команда reboot используется для перезагрузки системы Linux. Вы должны запустить эту команду из терминала с правами суперпользователя sudo.

10. shutdown

Команда shutdown используется для выключения или перезагрузки системы Linux. Эта команда позволяет планировать завершение работы и уведомлять пользователей сообщениями о выключении и перезагрузке.

По умолчанию компьютер (сервер) выключится через 1 минуту. Вы можете отменить расписание, выполнив команду:

Немедленное отключение тоже возможно, для этого используется опция «now»

ПРИМЕРЫ ИСПОЛЬЗОВАНИЯ

С теорией покончено, теперь перейдем к практике. Рассмотрим несколько основных примеров поиска внутри файлов Linux с помощью grep, которые могут вам понадобиться в повседневной жизни.

ПОИСК ТЕКСТА В ФАЙЛАХ

В первом примере мы будем искать пользователя User в файле паролей Linux. Чтобы выполнить поиск текста grep в файле /etc/passwd введите следующую команду:

В результате вы получите что-то вроде этого, если, конечно, существует такой пользователь:

А теперь не будем учитывать регистр во время поиска. Тогда комбинации ABC, abc и Abc с точки зрения программы будут одинаковы:

ВЫВЕСТИ НЕСКОЛЬКО СТРОК

Например, мы хотим выбрать все ошибки из лог файла, но знаем что в следующей сточке после ошибки может содержаться полезная информация, тогда с помощью grep отобразим несколько строк, ошибки будем искать в Xorg.log по шаблону «EE»:

Выведет строку с вхождением и 4 строчки после нее.

Выведет целевую строку и 4 строчки до нее

Выведет по две строки с верху и снизу от вхождения.

РЕГУЛЯРНЫЕ ВЫРАЖЕНИЯ В GREP

Регулярные выражения grep — очень мощный инструмент в разы расширяющий возможности поиска текста в файлах grep. Для активации этого режима используйте опцию -e. Рассмотрим несколько примеров:

Поиск вхождения в начале строки с помощью спецсимвола «^», например, выведем все сообщения за ноябрь:

Поиск в конце строки, спецсимвол «$»:

Найдем все строки которые содержат цифры:

Вообще, регулярные выражения grep это очень обширная тема, в этой статье я лишь показал несколько примеров, чтобы дать вам понять что это. Как вы увидели, таким образом, поиск текста в файлах grep становиться еще гибче. Но на полное объяснение этой темы нужна целая статья, поэтому пока пропустим их и пойдем дальше.

РЕКУРСИВНОЕ ИСПОЛЬЗОВАНИЕ GREP

Если вам нужно провести поиск текста grep в нескольких файлах, размещенных в одном каталоге или подкаталогах, например, в файлах конфигурации Apache — /etc/apache2/ — используйте рекурсивный поиск. Для включения рекурсивного поиска в grep есть опция -r. Следующая команда займется поиском текста в файлах Linux во всех подкаталогах /etc/apache2 на предмет вхождения строки mydomain.com:

В выводе вы получите:

Здесь перед найденной строкой указано имя файла в котором она была найдена. Вывод имени файла легко отключить с помощью опции -h:

ПОИСК СЛОВ В GREP

Когда вы ищете строку abc, grep будет выводить также kbabc, abc123, aafrabc32 и тому подобные комбинации. Вы можете заставить grep искать по содержимому файлов в linux только те строки, которые выключают искомые слова с помощью опции -w:

ПОИСК ДВУХ СЛОВ

Можно искать по содержимому файла не одно слово, а целых несколько. Чтобы искать два разных слова используйте команду egrep:

КОЛИЧЕСТВО ВХОЖДЕНИЙ СТРОКИ

Утилита Grep может сообщить сколько раз определенная строка была найдена в каждом файле. Для этого используется опция -c (счетчик):

C помощью опции -n можно выводить номер строки в которой найдено вхождение, например:

Получим:

ИНВЕРТИРОВАННЫЙ ПОИСК В GREP

Команда grep linux может быть использована для поиска строк в файле Linux которые не содержат указанное слово. Например, вывести только те строки, которые не содержат слово пар:

ВЫВОД ИМЕНИ ФАЙЛА

Вы можете указать grep выводить только имя файла в котом было найдено заданное слово с помощью опции -l. Например, следующая команда выведет все имена файлов, при поиске по содержимому которых было обнаружено вхождение primary:

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) и распечатка строки) — это мощный инструмент для поиска текста, который может искать текст с помощью регулярных выражений и распечатывать соответствующие строки ,

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector