📂 Основные операции с файлами в Linux

Platform Category Level Tested on


🧭 Введение

Работа с файлами — базовая часть администрирования Linux. Здесь собраны самые часто используемые команды: от просмотра содержимого каталогов до безопасного удаления и создания ссылок.


📜 1. Просмотр содержимого каталога — ls

ls -l /etc

Ключи:

📘 Примеры:

ls -lah /var/log
ls -lt /home/user

[!TIP] Комбинируйте опции: ls -alh — один из самых часто используемых вариантов.


📦 2. Копирование файлов — cp

cp source.txt /backup/source.txt

Основные опции:

📘 Примеры:

cp -r /etc/nginx /backup/nginx_config/
cp -pv myfile.txt /tmp/

[!TIP] Для регулярного копирования удобно использовать rsync — он быстрее и поддерживает синхронизацию.


🔁 3. Перемещение и переименование — mv

mv oldname.txt newname.txt

Опции:

📘 Примеры:

mv -v /tmp/test.txt /home/user/docs/
mv -i config.old config.bak

[!NOTE] Команда mv используется и для переименования, и для перемещения.


🗑️ 4. Удаление файлов — rm

rm filename.txt

Опции:

📘 Примеры:

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

📘 Разница:

[!TIP] Символические ссылки удобны для коротких путей к часто используемым конфигам или скриптам.


🔒 6. Безвозвратное удаление — shred

shred -u -v -n 3 secret.txt

Опции:

📘 Пример:

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 для автоматического применения.