Categories: Хакинг

Основы Linux.Часть 10 ( Манипуляции с текстом)

Содержание:

С возвращением, мои начинающие хакеры!

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

С таким количеством текстовых файлов умение работать с текстом становится решающим для управления как самой Linux так и приложениями. В этом уроке мы рассмотрим несколько команд и способов обращения с текстом в Linux

. Для демонстрационных целей мы будем использовать файлы из лучших в мире пакетов NID и Snort.

Шаг 1. Команда cat

Как показано в одной из предыдущих статей, команда cat является самой основной командой для отображения текста. Давайте используем ее для демонстрации содержимого файла конфигурации Snort

, который находится в /etc/snort
cat /etc/snort/snort.conf

Как видите, содержимое snort.conf прокручивается на мониторе до тех пор, пока не дойдет до конца файла. И это конечно не очень удобный способ работы с таким длинным файлом.

Шаг 2. Использование команды head

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

head /etc/snort/snort.conf

Если мы хотим увидеть больше или меньше чем 10 строк по умолчанию, то мы можем явно указать, сколько строк нам нужно. Делается это через использование дефиса между названием команды и именем файла.

head -30 /etc/snort/snort.conf

Теперь мы видим первые 30 строк файла snort.conf

Шаг 3. Команда tail

Команда tail работает аналогично команде head, только показывает она последние строки файла. Давайте испробуем ее на snort.conf

tail /etc/snort/snort.conf

Обратите внимание, что отображаются некоторые из последних строк «include» rule-файлов, но далеко не все. Давайте теперь посмотрим, можем ли мы отобразить все правила «include», захватив последние 40 строк файла snort.conf

tail -40 /etc/snort/snort.conf

Вот теперь видно практически все включения rule-файлов.

Шаг 4. Отображение номеров строк

Иногда, особенно когда работаем с очень длинными файлами, мы можем отобразить файл с номерами строк. И это как раз случай snort.conf, так как у него 838 строк. Номера строк упрощают обращение к изменениям и дают возможность быстро вернуться в одно и то же место в файле. Чтобы отобразить файл с номером строк, просто введите:

nl snort.conf

Обратите внимание, что теперь все строки файла пронумерованы. Это упрощает поиск конкретных строк.

Шаг 5. Команда grep

После cat команда grep, вероятно, является самой широко используемой командой обработки текста. Это команда фильтрации. Она позволяет фильтровать содержимое файла и потом отображает результат. Если, например, мы хотим увидеть все вхождения слова «database» в нашем файле snort.conf, то мы используем команду cat, чтобы отобразить только те строки, где оно встречается. Наберите:

cat /etc/snort/ snort.conf | grep database

Эта команда сначала возьмет содержимое файла snort.conf, а затем пропустит его (благодаря символу «|») через команду grep, которая, в свою очередь, примет содержимое файла как входные данные, найдет все вхождения слова «database» и покажет только эти строки. Grep — мощная и важная команда для работы в Linux, так как она может сэкономить нам уйму времени, которое мы могли бы потратить на поиски нужных слов или команд.

Шаг 6. Команда sed

Команда sed позволяет искать вхождения слов или текстовых шаблонов, а затем выполнять некоторую работу над ними. Название происходит из концепции потокового редактора (stream editor) и является сокращением этих двух слов — sed. В своей самой базовой форме sed работает как функция поиска и замены в Windows. Давайте поищем слово «mysql» в файле snort.conf с помощью команды grep.

cat /etc/snort/snort.conf | grep mysql

Как видно, команда grep нашла пять вхождений слова mysql.

Предположим, мы хотим, чтобы sed заменил каждое найденное вхождение слов mysql на слово MySQL (помните, что Linux чувствителен к регистру), а затем сохранил новый файл в snort2.conf. Чтобы сделать это, нужно набрать:

sed s/mysql/MySQL/g snort.conf > snort2.conf

Эта команда говорит: «Выполнить глобальный поиск (т.е. целиком по всему файлу) слова mysql и заменить его словом MySQL».

Теперь, если мы используем команду grep snort2.conf для поиска mysql, то увидим, что ни одного вхождения этого слова не было найдено, а если мы воспользуемся grep для MySQL, то найдем пять вхождений MySQL.

cat /etc/snort/snort.conf | grep MySQL

Если мы хотим просто заменить первое вхождение слова mysql, мы можем убрать завершающий параметр «g», и команда заменит только первое вхождение.

sed s/mysql/MySQL/ snort.conf > snort2.conf

Команда sed также может использоваться для поиска и замены любого конкретного вхождения данного слова. Например, если я хочу заменить только третье вхождение слова mysql, то я могу просто поместить номер этого вхождение в конец команды, и sed заменит только третье вхождение слова «mysql» на «MySQL»

sed s/mysql/MySQL/3 snort.conf > snort2.conf

Оставайтесь с нами

Вот и все на сегодня, но впереди еще много интересного, поэтому ознакомьтесь с нашим разделом по основам Linux ( 1, 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9), чтобы быть в курсе последних новостей. Если у вас есть какие-либо вопросы по использованию команд sed, cat, head, tail, nl или grep — задайте их в комментариях ниже или поищите ответ на форуме.

HelpUAdmin

Recent Posts

Windows 10 стала работать медленнее после установки обновления? Исправим это

Ваш компьютер на Windows 10 перестал быть быстрым после обновления системы? Мы подскажем, как устранить…

3 года ago

Описание приложения-чата по приглашениям Clubhouse

Это приложение для iPhone основано на приглашениях и аудио. С его помощью можно всё равно…

3 года ago

Изменение почтового клиента по умолчанию в iOS 14 на Outlook, Spark, Gmail и другие

Одним из самых значительных изменений в операционной системе iOS 14 является возможность менять приложения по…

4 года ago

Включение пузырей уведомлений в чатах на Android 11

В системе Android 10 появился фреймворк для пузырей чатов, популярность которым принёс Messenger. Новая система…

4 года ago

Как настроить беспроводную отладку в Android 11

От загрузки в режим Fastboot при помощи одной команды до установки модов без рута, есть…

4 года ago

Главные проблемы Android 11 Beta и следует ли устанавливать её

Бета-версия операционной системы Android 11 в настоящее время доступна для устройств Google Pixel. Нужно посетить…

4 года ago