Как пользователи Linux, мы часто полагаемся на такие команды, как ls, grep, awk, sed и find, чтобы выполнять задачи. Но в Linux есть множество менее известных команд, которые могут сэкономить время, автоматизировать задачи и упростить рабочие процессы.
В этой статье мы рассмотрим набор недооценённых, но мощных команд Linux, которые заслуживают большего внимания.
Команда rename — это настоящая находка, когда нужно переименовать несколько файлов одновременно. Вместо использования циклов с mv команда переименования позволяет с лёгкостью применять сложные шаблоны переименования.
Измените все .txt
файлы на .log
.
rename 's/\.txt$/\.log/' *.txt
Преобразуйте имена файлов в нижний регистр.
rename 'y/A-Z/a-z/' *
Добавьте префикс .jpg
ко всем файлам.
rename 's/^/photo_/' *.jpg
Команда rename
работает намного быстрее, чем mv
в цикле, и позволяет избежать возможных конфликтов имён файлов.
Вы когда-нибудь задумывались, насколько быстро передаются ваши данные между файлами или устройствами? Команда pv (Pipe Viewer) помогает отобразить индикатор выполнения, расчётное время и скорость передачи.
Следите за ходом копирования файла.
pv bigfile.iso > /mnt/usb/bigfile.iso
Следите за ходом создания сжатой резервной копии.
tar cf - /home | pv | gzip > backup.tar.gz
Это очень удобно при работе с большими файлами, так как вы можете видеть прогресс в реальном времени, а не просто ждать.
Иногда команда выполняется дольше, чем ожидалось, и вы хотите, чтобы она автоматически завершилась через определённое время. Для этого можно использовать команду timeout
Остановите выполнение команды через 10 секунд.
timeout 10s ping google.com
Остановите процесс через 1 час.
timeout 1h rsync -av /source/ /destination/
Это полезно в сценариях, чтобы предотвратить бесконечное зависание команд.
Нужно перемешать строки в файле или выбрать случайный элемент? shuf
— это простая, но мощная команда для задач по рандомизации.
Перемешайте строки в файле.
shuf file.txt
Выберите случайную строку из файла.
shuf -n 1 file.txt
Сгенерируйте случайный пароль (12 символов).
shuf -zer -n12 {A..Z} {a..z} {0..9} | tr -d '
shuf -zer -n12 {A..Z} {a..z} {0..9} | tr -d '\0'
'
Команда shuf
отлично подходит для случайной выборки, тестирования и генерации случайных данных.
При работе со списками или журналами comm
позволяет сравнивать два отсортированных файла и находить общие или уникальные строки.
Сравните два списка пользователей.
comm file1.txt file2.txt
Показывать только общие линии.
comm -12 file1.txt file2.txt
Команда comm
полезна для анализа журналов, управления пользователями и сравнения конфигураций.
Вы знаете cat, но пробовали ли вы tac
? Он отображает содержимое файла в обратном порядке, что является простым, но эффективным трюком.
Просмотрите файл журнала в обратном порядке.
tac /var/log/syslog
Измените содержимое файла на обратное и сохраните его.
tac file.txt > reversed.txt
Это удобно для быстрого просмотра последних записей в журнале без использования tail -r.
Нужно добавить номера строк в файл? nl
делает это мгновенно, без изменения исходного файла.
Пронумеруйте каждую строку файла.
nl file.txt
Пропускайте пустые строки при нумерации.
nl -ba file.txt
Это полезно при работе с фрагментами кода, отладке или форматировании журналов.
Устали постоянно нажимать "y"
для подтверждения? Команда yes
автоматизирует ответы на запросы.
Автоматическое подтверждение установки пакета.
yes | apt install package-name
Протестируйте производительность процессора, генерируя бесконечный вывод.
yes > /dev/null
Будьте осторожны! При неразумном использовании yes
может перегрузить вашу систему.
Хотите отслеживать вывод команды в режиме реального времени? watch запускает команду с фиксированным интервалом, обновляя вывод.
Контролируйте свободное место на диске каждые 2 секунды.
watch -n 2 df -h
Отслеживайте изменения в каталоге.
watch -d ls -l
Проверяйте время безотказной работы системы каждые 5 секунд.
watch -n 5 uptime
Это полезно для мониторинга системных показателей, файлов журналов или состояния процессов в режиме реального времени.
Нужно выполнить быструю арифметическую операцию в сценарии оболочки? expr
позволяет складывать, вычитать, умножать и делить числа.
Элементарная арифметика.
expr 10 + 5 expr 10 \* 5 # Use backslash for multiplication
Найдите остаток от деления.
expr 20 % 3
Это полезно для быстрых вычислений внутри скриптов без использования Python или калькулятора.
Эти менее известные команды Linux могут упростить задачи, повысить эффективность и сэкономить время. Независимо от того, управляете ли вы файлами, отслеживаете процессы или автоматизируете задачи, освоение этих команд сделает вас более опытным пользователем Linux.
Какие из этих команд вы считаете наиболее полезными? Напишите нам в комментариях! 🚀