September 26

10 команд в Linux о которых вы может даже и не слышали

Подписывайтесь на телеграм-канал usr_bin, где я публикую много полезного по Linux, в том числе ссылки на статьи в этом блоге.

Linux раскрывает свою истинную магию только истинным ценителям. Хотя, ls, grepи cdизвестны всем пользователям, эта операционная система содержит целый ряд менее известных утилит, каждая из которых обладает уникальными возможностями. Эти малоизвестные команды, будучи однажды обнаруженными, могут улучшить ваш подход к работе, повысить производительность и превратить вас в ниндзю командной строки.

1. look— быстрый поиск в словаре

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

look pro

Команда выше вернет все словарные статьи, начинающиеся с «pro». Быстро, лаконично и удобно.

2. rev— поменять местами символы в строке

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

echo  "Linux" | rev

Возвращает «xuniL». Просто, элегантно и точно (как бы это ни звучало🙃).

3. tac— обратноеcat

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

tac access.log

Это позволяет читать журналы в обратной хронологической последовательности без необходимости использования tail -r.

4. yes— генератор повторяющегося потока

Команда yesвыводит строку многократно, пока не будет прервана. Этот инструмент особенно полезен при автоматизации скриптов или тестировании поведения буфера.

yes | sudo apt install mypackage

Эта команда автоматически подтверждает каждый запрос, что полезно при скриптовании.

5. nl— нумерация строк файлов

Более сложный аналог команды cat -n, nl добавляет номера строк с расширенным контролем форматирования.

nl file.txt

Благодаря поддержке логических разделителей страниц и стилей нумерации строк nlидеально подходит для структурированного документирования файлов.

6. column— форматирование вывода в столбцы

columnпреобразует текстовые данные в выровненные столбцы, делая вывод значительно более удобочитаемым, особенно при просмотре CSV-файлов или табличных данных.

cat data.txt | column -t -s,

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

7. shuf— перемешивание строки в случайном порядке

Нужно рандомизировать плейлист или провести тестирование с непредсказуемыми данными? shuf легко рандомизирует порядок входных строк.

shuf list.txt

8. comm— сравнение двух отсортированных файлов построчно

comm— незаметный герой в сравнении файлов. Он сравнивает два отсортированных файла построчно и классифицирует их: строки, уникальные для file1, file2, и строки, общие для обоих файлов.

comm file1.txt file2.txt

Идеально подходит для синхронизации наборов данных или определения дельт.

9. chrt— манипулирование политиками планирования в реальном времени

Для тех, кто занимается настройкой производительности, chrtкорректирует политику планирования процесса в реальном времени. В сочетании с psили top, это мощный инструмент для повышения производительности.

sudo chrt -f 99 ./my_program

10. watch— периодический запуск программ

Наблюдайте за выводом команд практически в реальном времени с помощью watch. Это идеальное решение для мониторинга использования ресурсов, состояния служб или изменений файлов.

watch -n 2 df -h

Команда выше запускает выполнение df -hкаждые 2 секунды, динамически обновляя вид терминала.

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

На этом все! Спасибо за внимание! Если статья была интересна, подпишитесь на телеграм-канал usr_bin, где будет еще больше полезной информации.