Работа с файлами

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


1. Текстовые редакторы

Vim / Neovim

Модальный редактор: макросы, плагины, работа по SSH без GUI.

sudo apt install vim neovim    # Linux
brew install neovim            # macOS

Сайты: vim.org, neovim.io


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 и др.

Архив ≠ всегда сжатие

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-кэше.

Практика

Для пакетных переименований и очистки чаще достаточно shell-циклов и `find -exec`; для сложных пайплайнов — Python + `pathlib`.


См. также