Как удалить каталог и его содержимое в Linux



Попробуйте наш инструмент устранения неполадок

Если вы работаете в командной строке Linux и вам нужно удалить пустой каталог, который вы больше не используете, все, что вам нужно сделать, это ввести rmdir, а затем имя каталога. Например, при вводе команды rmdir Test будет удален каталог Test, если он пуст. Будет выдано сообщение об ошибке «rmdir: не удалось удалить« Test »: каталог не пустой», если в нем вообще есть какие-либо файлы.



Есть несколько способов удалить весь этот каталог и все его содержимое с помощью одной команды Linux remove directory, но прежде чем продолжить, имейте в виду, что вам нужно быть осторожным. Командная строка Linux предполагает, что вы знаете, что делаете, и можете по ошибке удалить целые каталоги нужных вам вещей, если неправильно сформулируете свои команды. Поскольку здесь используется стандартная команда rm, это должно работать с большинством других реализаций Unix, таких как FreeBSD и macOS.



Метод 1: принуждение rm к удалению заполненных каталогов

Предположим, вы уже открыли интерфейс командной строки. Вы можете удерживать Ctrl, Alt и T для этого или выполнить поиск терминала на Dash. Пользователи KDE, Cinnamon, LXDE и Xfce4 могут щелкнуть меню «Приложения», а затем выбрать «Терминал» в подменю «Системные инструменты». Технически вы также можете работать с виртуальным терминалом.



Прежде чем продолжить, имейте в виду, что следующие команды удалят все в каталоге. Предположим, вы хотите удалить каталог, полный файлов, которые находятся внутри каталога Documents внутри вашего домашнего каталога. Если вы привыкли называть это папкой «Документы», имейте в виду, что в этом случае каталог и папка означают одно и то же. Перейдите в каталог документов, набрав cd ~ / Документы , или после cd введите каталог, который вы хотите удалить. Например, если вы хотите удалить подкаталог внутри каталога Downloads, вы можете вместо этого использовать cd ~ / Downloads.

Если вы напечатаете rmdir Тест и нажмите Enter, после чего вы получите сообщение о том, что каталог не пуст. Чтобы удалить каталог и все файлы в нем, вы можете ввести rm -r Тест и нажмите Enter, но имейте в виду, что это удалит все, что внутри него. Вы можете использовать ls Test , или ls, за которым следует имя любого каталога, который у вас есть, чтобы заранее увидеть, какие файлы там находятся.

Метод 2: принуждение rm к удалению каталогов при любых обстоятельствах

Вы можете заставить его удалить каталог, даже если есть файлы, доступные только для чтения, или другие проблемы с файлами внутри каталога, набрав rm -rf Тест или заменив Test на любое имеющееся у вас имя каталога. Это полностью уничтожит каталог и аналогично команде deltree DOS / Windows. Это очень разрушительно, поэтому используйте его осторожно.

Вы можете увидеть, как люди пытаются заставить вас запустить sudo rm -rf / или что-то в этом роде, но не обращайте на них никакого внимания, потому что это приведет к удалению всей вашей установки Linux и всего, что с ней связано! Если вы являетесь постоянным пользователем Linux или любой другой реализации Unix, вы, скорее всего, столкнетесь с подобными шутками, но помните, насколько они опасны.

Метод 3: заставить rm запрашивать удаление файлов

Вы всегда должны использовать команды cd и ls для проверки содержимого каталога перед его удалением, но иногда может быть хорошей идеей сделать командную строку rm вам также для каждого файла, чтобы вы знали, для чего удаляете обязательно и не удаляйте случайно то, что вам нужно. Используя наш тестовый каталог из первого метода, вы можете ввести rm -ri Тест и нажмите клавишу ввода, чтобы rm запрашивал у вас каждый раз запрос на удаление файла. Введите y и каждый раз нажимайте ввод или возврат, чтобы удалить файл. Вы также можете ввести n вместо этого, чтобы сохранить рассматриваемый файл.

Вы можете заметить, что на самом деле первый вопрос заключается в том, следует ли вам «спускаться в каталог« test »?» Если вы ответите n, тогда rm не сможет делать что-либо еще.

Добавление опции i иногда может быть довольно навязчивым, поэтому некоторые пользователи вместо этого предпочтут rm -rI Тест как команду. Параметр I в верхнем регистре запрашивает вас только тогда, когда вы собираетесь удалить более трех файлов, когда вы запускаете операцию рекурсивного удаления или когда вы удаляете файлы, защищенные от записи. Это делает его намного тише, когда дело доходит до количества и типов запросов, которыми вам надоедает команда.

3 минуты на чтение