Как удалить каталог в Linux

Linux Terminal Feat

Существует несколько способов удалить каталог в Linux. Вы можете сделать это графически из своего рабочего стола или напрямую из командной строки. Оба способа работают, и оба одинаково эффективны.

Графический метод удаления каталога в Linux

Каждая среда рабочего стола (и файловый менеджер) немного отличается. Эта статья опишет шаги по использованию Budgie с Nemo в качестве менеджера, но процесс в целом примерно одинаковый для всех рабочих столов.

Deletefolder Trash

Откройте файловый менеджер и перейдите к месту, где находится каталог, который вы хотите удалить. Найдя его, щелкните правой кнопкой мыши на этом каталоге, чтобы открыть меню доступных действий. В зависимости от вашей среды, вы можете увидеть как «Удалить», так и «Переместить в корзину» или только «Переместить в корзину». Всегда безопаснее переместить каталог в корзину, так как вы можете восстановить его, если допустите ошибку. Щелкните «Переместить в корзину» в вашем меню.

Файловый менеджер иногда спрашивает, действительно ли вы хотите удалить папку. Подтвердите, что это так. Каталог переместится из своего текущего местоположения и появится в папке «Корзина». Остался только один шаг, чтобы полностью удалить его!

Deletefolder Emptytrash

Если вы абсолютно уверены, что вам не нужен каталог, который вы только что удалили, откройте корзину. Там вы увидите папку, и вы даже можете просмотреть ее содержимое.

Если там нет ничего важного, вы можете либо щелкнуть правой кнопкой мыши на самой папке, чтобы удалить ее навсегда, либо щелкнуть в белом пространстве каталога, чтобы открыть меню с опцией опустошить корзину. В Nemo есть удобная кнопка «Очистить корзину» (изображена) в верхнем правом углу окна. Делайте то, что вам больше нравится. Помните, что это действие нельзя отменить. Каталог не вернется.

Также читайте: Использование du для освобождения дискового пространства в Linux

Использование командной строки для удаления каталога в Linux

Существует еще более прямой способ удалить каталог из командной строки. Команда rm может быть использована для удаления как файлов, так и каталогов.

Это полезно как метод, который даст вам больше контроля над системой удаления файлов, так и способ удалить что-то, когда ваш файловый менеджер недоступен.

Чтобы полностью объяснить, что может делать эта команда, нам нужно открыть терминал и перейти в безопасное место, чтобы протестировать различные команды. Каталог «Документы» внутри вашей домашней папки подойдет идеально.

cd ~/Documents

Deletefolder Terminalcd

Символ ~ представляет собой вашу домашнюю директорию.

Давайте начнем с создания папки с помощью mkdir Test. Вы можете попытаться удалить эту недолговечную папку с помощью rm Test.

Deletefolder Removefailure

Это не сработало, не правда ли?

Хотя руководство по rm описывает функцию команды как «удаление файлов или каталогов», есть один нюанс: команда сама по себе не удалит каталоги.

Чтобы удалить каталог, вам нужно запустить команду в рекурсивном режиме, используя флаг -r. Каталоги часто являются домами для других небольших файлов, поэтому этот флаг необходим. Прежде чем вы обрадовались этому маленькому открытию, важно отметить, что некоторые дистрибутивы Linux будут спрашивать вас перед удалением каталога.

Поскольку мы уверены, что хотим избавиться от каталога Test, нам нужно использовать флаг -f, который заставляет удаление проходить без запроса подтверждения. Конечная команда будет выглядеть так:

rm -rf Test

Deletefolder Success

Попробуйте это снова, но на этот раз добавьте несколько файлов в Test. Вы можете сделать это легко с помощью вашего файлового менеджера, но поскольку вы уже в терминале, почему бы не повеселиться, сделав это с помощью нескольких других команд, которые могут быть полезны позже?

mkdir Test  
cd Test  
touch file1.txt file2.txt file3.txt file4.txt  
cd ..  
rm -rf Test

Deletefolder Advanced

Это может показаться сложным, но то, что вы сделали, легко объяснить. Сначала вы создали каталог под названием «Test». Затем вы приказали своему терминалу перейти в этот каталог и создать четыре файла. .. после cd приказало вашему терминалу вернуться на один уровень выше к родителю Test (т.е. обратно в папку документов).

Финальная команда, которую вы ввели, выполнила рекурсивное принудительное удаление Test и всех файлов внутри него. Именно поэтому флаг -r необходим при удалении каталогов.

Это больше, чем кажется на первый взгляд

В основном, флаги -r и -f в команде rm - это всё, что вы будете использовать при вводе команды в терминале. Ниже приведены некоторые другие полезные флаги:

-iЗапрашивает подтверждение для каждого удаления файла. Полезно при рекурсивном удалении папки, содержащей файлы, которые вы, возможно, помните как важные, а может и нет. Когда вы хотите подтвердить удаление, введите y, когда вас спросят. Введите n, если хотите сохранить этот файл. Сохранение файла во время рекурсивного удаления может остановить процесс удаления. Пример:

rm -ri /home/user/Database.

Deletefolder Interactive

-dУдаляет каталог только в том случае, если он пуст. Это важный флаг, когда вы хотите очистить папки, которые никогда не наполняли. Особенно полезно, когда вы хотите написать сценарий, который удаляет все пустые папки в определенной области вашего диска. Если вы просто вводите команды в терминале, вы не найдете много применения для этого флага. Пример:

rm -d /home/user/Database/UID01

Deletefolder Emptyflag

-vЗапускает rm в подробном режиме. Этот флаг помогает вам устранять неполадки, показывая, что rm говорит вам на каждом этапе, пытаясь выполнить ваши инструкции. Если что-то не так, это то, что вы используете для прохождения через процесс. Пример:

rm -rv /home/user/Database

Deletefolder Verbose

--version – Сообщает вам, какую версию rm вы используете. Вы, вероятно, никогда не понадобитесь этот флаг, но он есть на случай, если вы хотите узнать, используете ли вы последнюю версию.

Deletefolder Version

Еще одна команда

Ни одна статья об удалении файлов в Linux не будет полной без упоминания rmdir. Это по сути клон rm -d с своим уникально полезным флагом. Поскольку rmdir может удалять только пустые каталоги, большинство пользователей не обращают на него внимания. Однако он особенно полезен в скриптах, когда вы хотите быстро пройтись по большому количеству каталогов и как можно быстрее удалить все пустые.

Единственный флаг, который действительно стоит выделить в rmdir, это -p, который удаляет все родительские каталоги пустого каталога, если они также пусты. Скрипты могут использовать это, чтобы подняться на вершину каждой файловой иерархии и быстро удалить всех пустых родителей пустых папок для выполнения задач очистки. Флаг rm -d в этом случае ограничен, так как он удаляет каталог только в том случае, если он пуст в данный момент, но не сканирует родительский каталог после удаления его дочернего элемента.

Часто задаваемые вопросы

1. Что мне делать, если я получаю «доступ запрещен»?

Если у вас возникли проблемы с правами доступа при удалении, сначала дважды проверьте, что вы не пытаетесь удалить что-то важное для вашей системы или приложений, которые вы используете. Как только вы уверены, что просто удаляете какой-то несущественный файл или каталог, перейдите в терминал и введите sudo перед вашей командой rm. Это должно обойти любые ограничения доступа.

Не хотите использовать командную строку? Большинство файловых менеджеров, установленных с дистрибутивами Linux, должны помочь вам здесь. Щелкните правой кнопкой мыши на любом пустом пространстве в представлении файлов, и вы должны увидеть опцию «Открыть как root» или «Открыть как Администратор». Щелкните по этому, и введите свой пароль, когда вас спросят, должно открыться новое окно с повышенными привилегиями, позволяя вам делать все, что вам хочется.

2. Безопасен ли rm?

Да и нет. Команда rm - это только команда удаления. Она не задает вопросов о том, являются ли файлы и каталоги, которые вы удаляете, конфиденциальными или нет. Пока вы уверены, что не удаляете что-то, что не следует удалять, rm безопасен.

Как правило, вы не создадите проблем с операционной системой, если останетесь в пределах каталога «/home». Как только вы выйдете за его пределы, это уже не спокойные воды, и вам стоит обратить внимание на то, где вы плывете.

3. Могу ли я использовать rm или rmdir в других операционных системах?

Это полностью зависит от того, о какой операционной системе идет речь. Команда rm для macOS поразительно похожа на Linux, и это не удивительно, учитывая, что обе используют старую оболочку, которая когда-то была UNIX.

С Windows дела обстоят немного иначе. Нет единой команды для удаления файлов и каталогов, вместо этого набор операций разделен на две отдельные группы. Командная строка Windows распознает rd для удаления каталогов и del для удаления одиночных файлов. Флаги для rd, как указано в его руководстве, показывают некоторые сходства с rm -rf в Linux.

Заключение

Со всей информацией, предоставленной здесь, вы, надеюсь, выйдете из чтения с уровнем уверенности в использовании вашего терминала и файлового менеджера для очистки вашего диска от беспорядка. Просто не забудьте действовать осторожно и делать каждый шаг с определенным уровнем уважения к той силе, которой вы обладаете. Не спешите. Ваш терминал и файловый менеджер никуда не уходят!

Читайте дальше, чтобы узнать, как установить Linux на Windows с WSL и сбросить пароль root в Linux.