Работа с файлами
Большая часть автоматизации в IT — это чтение, запись, поиск и преобразование файлов: логи, конфиги, бэкапы, артефакты сборки. Ниже — инструменты по категориям: от быстрого правки в терминале до восстановления данных и слежения за каталогами.
1. Текстовые редакторы
Vim / Neovim
Модальный редактор: макросы, плагины, работа по SSH без GUI.
sudo apt install vim neovim # Linux
brew install neovim # macOS
GNU Nano
Простой терминальный редактор, часто уже установлен.
sudo apt install nano
Visual Studio Code
GUI-редактор с отладкой, Git, расширениями. code.visualstudio.com
Sublime Text
Быстрый проприетарный редактор с мульти-курсором. sublimetext.com
2. Бинарные и HEX-редакторы
| Инструмент | Платформа | Назначение |
|---|---|---|
| hexyl | Linux/macOS | Читабельный hex-дамп в терминале (cargo install hexyl) |
| GHex | Linux GNOME | GUI hex-редактор (apt install ghex) |
| HxD | Windows | Редактирование файлов и дисков |
| xxd | Unix | xxd file.bin | less — просмотр в hex |
3. Сравнение файлов и папок
diff file1.txt file2.txt
vimdiff file1.txt file2.txt
| GUI | Платформа |
|---|---|
| Meld | Linux, Windows, macOS — apt install meld |
| WinMerge | Windows |
| Beyond Compare | Кроссплатформенный, коммерческий |
В Git сравнение встроено: git diff, git difftool.
4. Архиваторы и упаковщики
Классика Unix:
tar -czf archive.tar.gz folder/
tar -xzf archive.tar.gz
7-Zip / p7zip, PeaZip, Bandizip — на Windows и Linux для .7z, .zip и др.
:::tip Архив ≠ всегда сжатие
TAR только упаковывает файлы; сжатие даёт gzip (.tar.gz), xz, 7z. Уже сжатые JPEG/MP4 почти не уменьшаются повторным архивированием.
:::
5. Файловые менеджеры
| Инструмент | Особенность |
|---|---|
| ranger | Терминал, превью |
| Midnight Commander (mc) | Двухпанельный TUI |
| Total Commander | Windows, эталон двух панелей |
| Double Commander | FOSS-аналог TC |
| Thunar / Nautilus / Dolphin | Стандарт DE: XFCE, GNOME, KDE |
6. Поиск и фильтрация
Современная замена связки find + grep:
rg "TODO" src/ # ripgrep — быстрый поиск по коду
fd -e py # fd — быстрый find по имени
Классика по-прежнему везде: grep, awk, sed; для кода — ack, ag (The Silver Searcher).
7. Шифрование и подпись
GnuPG (gpg) — OpenPGP:
gpg --encrypt --recipient user@example.com file.txt
gpg --decrypt file.txt.gpg
Архивы 7z с AES-256; тома VeraCrypt для контейнеров и разделов.
8. Восстановление и мониторинг
| Инструмент | Назначение |
|---|---|
| PhotoRec / TestDisk | Восстановление файлов и разделов |
| inotify-tools | События ФС в Linux: inotifywait -m dir -e modify |
| fswatch | Кроссплатформенный watch |
Мониторинг папок — основа для автозапуска тестов и деплоя (см. статью «Полезные фичи»).
9. Большие файлы
less huge.log
tail -f app.log
split -l 1000 huge.csv part_
q — SQL-запросы к CSV в терминале. vmtouch — что из файлов в RAM-кэше.
:::info Практика
Для пакетных переименований и очистки чаще достаточно shell-циклов и find -exec; для сложных пайплайнов — Python + pathlib.
:::
См. также
Другие статьи этого же раздела в боковом меню (как на странице «О разделе»). Планировщики задач ОС и оркестраторы: cron, systemd timers, Task Scheduler, launchd и смежные инструменты для запуска скриптов по расписанию. Генераторы проектов, Make/just, git hooks, watch-утилиты и системные сервисы — практики автоматизации повседневной работы разработчика.Планировщики
Полезные фичи