Перейти к основному содержимому

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

Большая часть автоматизации в 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-редакторы

ИнструментПлатформаНазначение
hexylLinux/macOSЧитабельный hex-дамп в терминале (cargo install hexyl)
GHexLinux GNOMEGUI hex-редактор (apt install ghex)
HxDWindowsРедактирование файлов и дисков
xxdUnixxxd file.bin | less — просмотр в hex

3. Сравнение файлов и папок

diff file1.txt file2.txt
vimdiff file1.txt file2.txt
GUIПлатформа
MeldLinux, Windows, macOS — apt install meld
WinMergeWindows
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 CommanderWindows, эталон двух панелей
Double CommanderFOSS-аналог 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. :::

См. также

Другие статьи этого же раздела в боковом меню (как на странице «О разделе»).