Как удалять файлы и директории в Linux
Visitors have accessed this post 59336 times.
В некоторых случаях может потребоваться удалить ненужные директории и файлы, чтобы освободить место на жестком диске. Рассказываем, как это сделать.
Для удаления файлов используется команда rm. Предупреждение: удаление файлов и каталогов в Linux с помощью команды rm является необратимым. Поэтому следует проявлять особую осторожность при ее применении.
Как удалить файл в терминале Linux
Чтобы в Linux удалить файл с помощью команды rm, используйте следующий синтаксис:
$ rm filename
Например, мы создадим текстовый файл file1.txt с помощью команды touch. Для удаления файла запустите:
$ rm file1.txt
Вывод
Как удалить несколько файлов
Чтобы удалить несколько файлов с помощью команды rm, используйте синтаксис:
$ rm file1 file2 file3
Создадим 3 файла — file1.txt, file2.txt, file3.txt, используя команду touch. Чтобы удалить эти файлы при помощи одной команды, запустите:
$ rm file1.txt file2.txt file3.txt
Вывод
Удалить все файлы в папке Linux с определенным расширением можно, используя подстановочный символ (*). В приведенном ниже примере подстановочный символ ищет и удаляет все файлы с расширением .txt
$ rm *.txt
Как удалить файлы в интерактивном режиме
Если нужно подтвердить удаление файлов перед их удалением, используйте -i flag, как показано ниже.
$ rm -i file1.txt
Вывод
Как принудительно удалить файлы
Чтобы принудительно удалить файлы, особенно те, которые были защищены от записи, используйте флаг -f , как показано ниже.
$ rm -f file1.txt
Вывод
Как удалить пустые каталоги
Если вы хотите удалить пустой каталог, используйте флаг -d с командой rm
$ rm -d directory_name
Давайте создадим пустой каталог и назовем его data.
Чтобы удалить этот каталог, запустите
$ rm -d data
Вывод
В Linux команда удалить папку может выглядеть, как rmdir. Rmdir — это сокращение от слов remove directory. Ниже приведен синтаксис.
$ rmdir directory_name
Во втором примере мы создадим новый каталог и назовем его linux . Затем мы удалим его с помощью команды rmdir.
Вывод
Как в Linux удалить директорию с файлами
Если нужно удалить заполненные каталоги и все их содержимое, используйте флаг -r, как показано ниже
$ rm -r directory_name
В этом примере у нас есть каталог с названием distros, в котором хранится 5 файлов, а именно centos, debian, fedora и mint.
Чтобы удалить каталог и его содержимое, запустите:
$ rm -r distros
Как рекурсивно удалить несколько каталогов
Чтобы удалить сразу несколько каталогов, используйте приведенный ниже синтаксис:
$ rm -r directory_1 directory_2 directory_3
Например, для того чтобы удалить 3 каталога, а именно data1, data2 и data3, запустите:
$ rm -r data1 data2 data3
Вывод
Как удалить папку в терминале Linux принудительно и рекурсивно
Для того чтобы рекурсивно и принудительно удалить каталоги без запроса, используйте комбинацию флага -rf , как показано ниже:
$ rm -rf directory_name
Заключение
Теперь вы знаете, как безопасно удалить файл в Linux, как удалить папку в Linux через терминал, как удалить несколько файлов и многое другое.
Каждую неделю мы в live режиме решаем кейсы на наших открытых онлайн-практикумах, присоединяйтесь к нашему каналу в Телеграм, вся информация там.
Если вы хотите освоить функционал системного администратора Linux на практике, приглашаем на наш практикум Linux by Rebrain.
Как удалить файл в centos
Чтобы полностью удалить файл, используйте команду rm («remove»). Укажите имя удаляемого файла в качестве аргумента.
Чтобы удалить файл `notes’ в текущем рабочем каталоге, используйте:
Чтобы удалить каталог со всеми подкаталогами и файлами в нем, используйте опцию `-R’ («recursive»). Например, для удаления каталога `waste’ вместе с его содержимым, наберите:
$ rm -R waste [Enter]
Чтобы удалить пустой каталог, используйте команду rmdir; она удаляет каталог, указанный в качестве аргумента. Если Вы укажете каталог, в котором есть файлы или подкаталоги, rmdir сообщит об ошибке.
Чтобы удалить каталог `empty’, введите:
$ rmdir empty [Enter]
Alex Otwagin 2002-12-16
Как удалить файл в linux
Удаление файлов в Linux через терминал для опытных пользователей не вызывает затруднений. В этой статье мы ориентируемся на начинающих пользователей. В ней вы сможете посмотреть, как удалить файлы через терминал, и какие команды лучше всего при этом использовать.
Удаление файлов через терминал даёт большую гибкость и ряд преимуществ. К примеру, вы легко удалите файл, используя специальную команду, без возможности восстановления. Или всего одной командой вы можете удалить сотни не нужных вам файлов в каталоге либо подкаталогах, отвечающих определенным требования.
В linux утилита rm стандартная для удаления файлов. Как это принято со стандартными утилитами, в названии rm есть определённая идея. В нашем случае речь идёт о сокращении от английского слова Remove — удалять.
Итак, используйте команду rm, чтобы выполнить удаление одного файла, указывая за ней имя файла, который нужно удалить. Если файл находится не в том каталоге, в которым мы сейчас находимся, нужно указать полный путь к этому файлу:
rm file.txt rm /home/alex/file.pdf
Если мы хотим удалить сразу несколько файлов в Linux, то это тоже не проблема: используем команду rm, за которой прописываем имена наших файлов через пробел:
rm file-1.txt file-2.txt file-3.txt
Ещё вариант — использование подстановочного знака * и регулярных выражений для соответствия определённым файлам. К примеру, мы легко удалим все файлы в Linux, имеющие расширение .txt следующей командой:
rm *.txt
Используйте опцию -i для подтверждения каждого файла перед удалением:
Но когда файлов много, а вы твёрдо уверены в правильности своей команды и не хотите каждый раз отвечать на вопрос системы, используйте противоположную опцию -f. Будут удалены все файлы безоговорочно, т.е. без лишних вопросов:
rm -f file.txt
Как удалить файл в linux без возможности восстановления
Чтобы полностью стереть файл, без возможности восстановления используйте команду shred. Во время удаления файлов с помощью утилиты rm удаляется только ссылка на файл, само же содержимой файла по-прежнему находиться на диске, пока система не перезапишет его новыми данными, а пока этого не случится файл можно легко восстановить. Принцип действия утилиты такой — после удаления файла, его место на диске несколько раз перезаписывается.
shred /home/alex/file
Опцией -n — можно указать количество перезаписей диска, по умолчанию используется 3. А если указать опцию -z программа при последней перезаписи запишет все нулями чтобы скрыть, уничтожение файла.
- ← Как удалить директорию в linux
- Как узнать размер папки в linux →
Удаление файлов и каталогов
В Linux для удаления файлов предназначена утилита rm (сокращение от англ. «remove» — «удалять»).
[methody@localhost methody]$ rm examples/text [methody@localhost methody]$ ls -l text-hardlink -rw-r--r-- 1 methody methody 653 Сен 30 10:04 text-hardlink [methody@localhost methody]$ rm text-hardlink [methody@localhost methody]$ ls -l text-hardlink ls: text-hardlink: No such file or directory
Пример 16. Удаление файла
Разобравшись в ссылках, Мефодий решил удалить файл text в каталоге examples . После этого файл text-hardlink в домашнем каталоге Мефодия, который является жёсткой ссылкой на удалённый файл text продолжает благополучно существовать. Единственное отличие, которое заметил Мефодий — количество жёстких ссылок на этот файл теперь уменьшилось с « 2 » до « 1 » — действительно, text-hardlink — теперь единственное имя этого файла. Получается, что Мефодий удалил только одно из имён этого файла (жёсткую ссылку), сам файл остался нетронутым.
Однако если Мефодий удалит и жёсткую ссылку text-hardlink — у этого файла больше не останется ни одного имени, он станет недоступным пользователю файловой системы и будет уничтожен.
Утилита rm предназначена именно для удаления жёстких ссылок, а не самих файлов. В Linux, чтобы полностью удалить файл, требуется последовательно удалить все жёсткие ссылки на него. При этом все жёсткие ссылки на файл (его имена) равноправны — среди них нет «главной», с исчезновением которой исчезнет файл. Пока есть хоть одна ссылка, файл продолжает существовать. Впрочем, у большинства файлов в Linux есть только одно имя (одна жёсткая сслылка на файл), поэтому команда rm имя файла успешно удалит файл в большинстве случаев.
Как уже говорилось, символьные ссылки — это отдельные файлы, поэтому после того, как Мефодий удалил файл text , text-symlink , который ссылался на этот файл, продолжает существовать, однако теперь это — «битая ссылка», поэтому его также можно удалить командой rm .
Мефодий решил создать каталог для разных упражнений — test , а потом решил обойтись одним каталогом examples . Однако команда rm не сработала, заявив, что test — это каталог:
[methody@localhost methody]$ mkdir test [methody@localhost methody]$ rm test rm: невозможно удалить `test': Is a directory [methody@localhost methody]$ rmdir test [methody@localhost methody]$
Пример 17. Удаление каталога
Для удаления каталогов предназначена другая утилита — rmdir (от англ. «remove directory»). Впрочем, rmdir согласится удалить каталог только в том случае, если он пуст: в нём нет никаких файлов и подкаталогов. Удалить каталог вместе со всем его содержимым можно командой rm с ключом « -r » (recursive). Команда rm -r каталог — очень удобный способ потерять в одночасье все файлы: она рекурсивно обходит весь каталог , удаляя всё, что попадётся: файлы, подкаталоги, символьные ссылки. а ключ « -f » (force) делает её работу ещё неотвратимее, так как подавляет запросы вида «удалить защищённый от записи файл», так что rm работает безмолвно и безостановочно.
«Рекурсивно» по отношению к каталогам обозначает, что действие будет произведено над самим каталогом, его подкаталогами, подкаталогами его подкаталогов и т. д.
Помните: если вы удалили файл, значит, он уже не нужен, и не подлежит восстановлению!
В Linux не предусмотрено процедуры восстановления удалённых файлов и каталогов. Поэтому стоит быть очень внимательным, отдавая команду rm и, тем более, rm -r : нет никакой гарантии, что удастся восстановить случайно удалённые данные. Узнав об этом, Мефодий не огорчился, но подумал, что впредь будет удалять только действительно ненужные файлы, а всё сомнительное — перемещать с помощью mv в подкаталог ~/tmp , где оно не будет мозолить глаза, и где можно периодически наводить порядок.