Терминал Linux: как удалить файл безвозвратно и 5 других способов, о которых вы не знали
Вы когда-нибудь задумывались, что происходит с файлом после того, как вы его «удаляете»? Оказывается, он еще долго может оставаться на диске, ожидая восстановления. А что если вам нужно стереть его навсегда?
Работа с терминалом — это суперсила, которая превращает рутину в мгновенное действие. Представьте: одной командой вы можете удалить сотни устаревших логов, очистить папку от временных файлов или навсегда стереть конфиденциальный документ.
Эта статья — ваш пропуск в мир эффективной работы. Вы узнаете не только базовые команды, но и мощные трюки, которые используют профессионалы. Мы разберемся с утилитой `rm` и ее опасными опциями, освоим точечное удаление с помощью `find` и даже научимся уничтожать файлы так, что их не восстановит ни одна программа.
Вы поймете, как избежать роковой ошибки, которая может очистить всю систему. Узнаете, в чем разница между обычным удалением и полным стиранием. Перестанете бояться командной строки и начнете управлять файлами с невероятной скоростью и точностью.
Готовы превратить терминал из страшной черной строки в ваш главный рабочий инструмент? Тогда начинаем!
Эта небольшая заметка ориентирована на совсем начинающих. Сегодня мы рассмотрим как удалить файл linux через терминал. Для более опытных пользователей это элементарная задача, но новичкам надо с чего-то начинать. Знать как работать с файлами в консоли очень важно.
К тому же удаление из консоли дает много преимуществ и большую гибкость. Например, с помощью специальной команды вы можете полностью стереть файл с жесткого диска, так что его уже ни за что невозможно будет восстановить или одной командой с помощью специальных символов, условий или регулярных выражений удалить сотни ненужных файлов в одном каталоге или подкаталогох соответствующих определенному критерию.
В Linux для удаления файлов предусмотрена стандартная утилита rm. Как и все остальные, стандартные утилиты в имени rm тоже заложена определенная идея. Это сокращение от английского слова Remove.
Удаление файлов в Linux
Чтобы удалить файл linux достаточно передать в параметрах команде адрес файла в файловой системе:
rm /home/user/file
Чтобы удалить все файлы, начинающиеся на слово file можно использовать специальный символ *, означает любой символ в любом количестве:
rm /home/user/file*
Команда удаления файла в Linux должна использоваться очень осторожно, чтобы не удалить ничего лишнего. В утилите есть опция -i, которая заставляет программу спрашивать подтверждение у пользователя перед тем, как удалить файл Linux:
rm /home/user/file*
rm: удалить пустой обычный файл «/home/user/file»?
Если файлов очень много, вы уверены в правильности команды и отвечать каждый раз y неудобно, есть противоположная опция - f. Будут удалены все файлы без вопросов:
rm -f /home/user/file*
Для удаления директорий, вместе с файлами и поддиректориями используется опция -R, например:
rm -Rf /home/user/dir
Будет удалено все что находиться в папке dir, и эта папка. Только будьте бдительны, чтобы не получился знаменитый патч Бармина:
rm -Rf /*
Не стоит выполнять эту команду в своей системе, как видите, она удаляет все файлы в файловой системе Linux.
Удаление файла в linux также возможно с помощью утилиты find. Общий синтаксис find:
find папка критерий действие
Например, мы хотим удалить файл linux по имени:
find . -type f -name "file" -exec rm -f {} ;
Будут найдены все файлы с именем file в текущей папке и для них вызвана команда rm -f. Можно не вызывать стороннюю утилиту, а использовать действие delete:
find . -type f -name "file" -delete
Удалить все файлы в текущей директории, соответствующие определенному регулярному выражению:
find . -regex './[a-f0-9-].bak' - delete
Или удалить файлы старше определенного строка, может быть полезно для удаления старых логов:
find /path/to/files* -mtime +5 -exec rm {} ;
Будет выполнено удаление файлов через терминал все файлы в папке старше 5-ти дней.
Чтобы полностью стереть файл, без возможности восстановления используйте команду shred. Во время удаления файлов с помощью утилиты rm удаляется только ссылка на файл, само же содержимой файла по-прежнему находиться на диске, пока система не перезапишет его новыми данными, а пока этого не случится файл можно легко восстановить. Принцип действия утилиты такой - после удаления файла, его место на диске несколько раз перезаписывается.
shred /home/user/file
Опцией -n - можно указать количество перезаписей диска, по умолчанию используется 3. А если указать опцию -z программа при последней перезаписи запишет все нулями чтобы скрыть, уничтожение файла.
Выводы
Вот и все. Теперь вы знаете как удалить файл в Ubuntu, как видите, делать это не так уж сложно. Если у вас остались вопросы, пишите в комментариях!