📂 Основные операции с файлами в Linux
🧭 Введение
Работа с файлами — базовая часть администрирования Linux. Здесь собраны самые часто используемые команды: от просмотра содержимого каталогов до безопасного удаления и создания ссылок.
📜 1. Просмотр содержимого каталога — ls
ls -l /etc
Ключи:
-l— длинный формат (разрешения, владелец, размер, дата);-a— показывает скрытые файлы (начинающиеся с.);-h— человекочитаемые размеры (например, 1K, 2M, 3G);-t— сортировка по времени изменения.
📘 Примеры:
ls -lah /var/log
ls -lt /home/user
[!TIP] Комбинируйте опции:
ls -alh— один из самых часто используемых вариантов.
📦 2. Копирование файлов — cp
cp source.txt /backup/source.txt
Основные опции:
-r— рекурсивное копирование каталогов;-p— сохраняет права, дату и владельца;-i— спрашивает подтверждение при перезаписи;--backup=numbered— создаёт версии файлов (пример в отдельной статье);-v— показывает процесс копирования.
📘 Примеры:
cp -r /etc/nginx /backup/nginx_config/
cp -pv myfile.txt /tmp/
[!TIP] Для регулярного копирования удобно использовать
rsync— он быстрее и поддерживает синхронизацию.
🔁 3. Перемещение и переименование — mv
mv oldname.txt newname.txt
Опции:
-i— подтверждение при перезаписи;-v— отображает выполняемые действия.
📘 Примеры:
mv -v /tmp/test.txt /home/user/docs/
mv -i config.old config.bak
[!NOTE] Команда
mvиспользуется и для переименования, и для перемещения.
🗑️ 4. Удаление файлов — rm
rm filename.txt
Опции:
-i— подтверждение для каждого файла;-r— рекурсивное удаление каталогов;-f— принудительное удаление (без вопросов);-v— показывает процесс удаления.
📘 Примеры:
rm -i important.txt
rm -rf /tmp/old_logs/
[!WARNING] ⚠️
rm -rf /— не выполняй никогда! Это удалит всё с диска. Используйtrash-cliдля безопасного удаления (перемещает в корзину).
🔗 5. Создание ссылок — ln
Жёсткая ссылка:
ln original.txt copy.txt
Символическая ссылка (ярлык):
ln -s /etc/nginx/nginx.conf ~/nginx.conf
📘 Разница:
- Жёсткая ссылка (
ln) — копия указателя на тот же файл; - Символическая (
ln -s) — ссылка на путь, как «ярлык» в Windows.
[!TIP] Символические ссылки удобны для коротких путей к часто используемым конфигам или скриптам.
🔒 6. Безвозвратное удаление — shred
shred -u -v -n 3 secret.txt
Опции:
-u— удалить после перезаписи;-v— показывать процесс;-n 3— количество проходов (по умолчанию 3).
📘 Пример:
shred -u -n 5 ~/Documents/passwords.txt
[!IMPORTANT]
shredполезен при удалении конфиденциальных данных с HDD. ⚠️ На SSD эффективность ниже из-за особенностей контроллера памяти.
🧰 7. Дополнительные полезные команды
📄 cat, tac, less, head, tail
| Команда | Назначение | Пример |
|---|---|---|
cat file.txt |
показать содержимое | cat /etc/hostname |
tac file.txt |
показать наоборот | tac /var/log/syslog |
head -n 10 file |
первые 10 строк | head -n 20 /etc/passwd |
tail -f file |
последние строки с обновлением | tail -f /var/log/messages |
less file |
просмотр с прокруткой | less /etc/services |
[!TIP]
tail -fнезаменим при мониторинге логов в реальном времени.
🧾 stat — информация о файле
stat /etc/passwd
Показывает права, владельца, дату доступа, изменения и модификации.
🧩 file — определение типа файла
file /bin/bash
# /bin/bash: ELF 64-bit LSB executable
🔍 find и locate — поиск файлов
Примеры:
find /etc -name "*.conf"
locate nginx.conf
[!TIP] После установки
locateнужно обновить базу:sudo updatedb
⚙️ touch — создание пустого файла или обновление даты
touch newfile.txt
🧹 du и df — анализ дискового пространства
du -sh /var/log/*
df -h
🧠 Комбинирование команд
📘 Пример:
Скопировать все .conf файлы из /etc в /backup, сохранив структуру каталогов.
find /etc -name "*.conf" -exec cp --parents {} /backup \;
📘 Пример:
Удалить все .tmp файлы старше 7 дней:
find /tmp -type f -name "*.tmp" -mtime +7 -delete
🚀 Заключение
Эти команды покрывают 90% ежедневных задач по управлению файлами в Linux. Регулярная практика и понимание опций помогут работать быстрее, безопаснее и эффективнее.
[!TIP] Создай себе шпаргалку:
alias ll='ls -alh' alias rm='rm -i' alias cp='cp -iv'Добавь эти строки в
~/.bashrcдля автоматического применения.