Удалить системную папку linux

Как удалить файлы и каталоги в терминале Linux?

Команды rm и rmdir удаляют файлы и каталоги в Linux, macOS и других Unix-подобных операционных системах. Они похожи на команды del и deltree в Windows и DOS. Эти команды очень мощные и имеют довольно много опций.

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

Как удалить файлы с помощью rm

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

Если файл не находится в текущем рабочем каталоге, укажите путь к местоположению файла.

rm ./path/to/the/file/file_1.txt

Вы можете передать более одного имени файла в rm. При этом удаляются все указанные файлы.

Подстановочные знаки могут использоваться для выбора групп файлов, которые будут удалены. Знак * представляет несколько символов, а символ ? представляет один символ. Эта команда удалит все файлы изображений png в текущем рабочем каталоге.

Эта команда удалит все файлы с одним символьным расширением. Например, это удалит File.1 и File.2, но не File.12.

Если файл защищен от записи, вам будет предложено удалить файл. Вы должны ответить с помощью y или n и нажать «Enter».

Чтобы снизить риск использования rm с подстановочными знаками, используйте параметр -i (интерактивный). Для этого необходимо подтвердить удаление каждого файла.

Опция -f (сила) противоположна интерактивной. Он не запрашивает подтверждение, даже если файлы защищены от записи.

Как удалить каталоги с помощью rm

Чтобы удалить пустой каталог, используйте опцию -d (directory). Вы можете использовать подстановочные знаки (* и ?) В именах каталогов так же, как и в именах файлов.

Предоставление более одного имени каталога удаляет все указанные пустые каталоги.

rm -d directory1 directory2 /path/to/directory3

Чтобы удалить не пустые каталоги, используйте параметр -r (рекурсивный). Чтобы было ясно, это удаляет каталоги и все файлы и подкаталоги, содержащиеся в них.

rm -r directory1 directory2 directory3

Если каталог или файл защищен от записи, вам будет предложено подтвердить удаление. Чтобы удалить не пустые каталоги и подавить эти приглашения, используйте вместе параметры -r (рекурсивный) и -f (принудительный).

Здесь требуется осторожность. Ошибка в команде rm -rf может привести к потере данных или неисправности системы. Это опасно, и осторожность — лучшая политика. Чтобы получить представление о структуре каталогов и файлах, которые будут удалены командой rm -rf, используйте команду tree .

Используйте apt-get для установки этого пакета в вашу систему, если вы используете Ubuntu или другой дистрибутив на основе Debian. В других дистрибутивах Linux используйте инструмент управления пакетами вашего дистрибутива Linux.

Читайте также:  Плагины для linux ресивера

Выполнение команды tree дает простую для понимания диаграмму структуры каталогов и файлов под каталогом, из которого она запускается.

Вы также можете указать путь к команде tree чтобы он запускал дерево из другого каталога в файловой системе.

Команда rm также имеет параметры —one-file-system , —no-preserve-root , —preserve-root , но они рекомендуются только для опытных пользователей. Если вы что-то не так, вы можете случайно удалить все ваши системные файлы.

Как удалить каталоги с помощью rmdir

Есть еще одна команда rmdir , которую вы можете использовать для удаления каталогов. Разница между rm и rmdir том, что rmdir может удалять только пустые каталоги. Он никогда не удалит файлы.

Самый простой случай — удаление одного пустого каталога. Как и в случае с rm , вы можете передать несколько имен каталогов в rmdir или rmdir путь к каталогу.

Удалите один каталог в текущем каталоге, передав его имя в rmdir :

Удалите несколько каталогов, передав список имен в rmdir :

rmdir directory1 directory2 directory3

Удалите каталог не в текущем каталоге, указав полный путь к этому каталогу:

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

Когда rmdir выдает ошибку «Directory not empty», он прекращает обработку каталогов, переданных ему в командной строке. Если вы попросили удалить четыре каталога, а в первом содержались файлы, rmdir выдаст вам сообщение об ошибке и больше ничего не сделает. Вы можете заставить его игнорировать эти ошибки с —ignore-fail-on-non-empty чтобы обрабатывать другие каталоги.

В следующем примере две папки были переданы в rmdir , это work/reports и work/quotes. Параметр —ignore-fail-on-non-empty включен в команду. В папке work/reports находятся файлы, поэтому rmdir не может удалить ее. Опция —ignore-fail-on-non-empty заставляет rmdir игнорировать ошибку и переходить к следующей папке, которую он должен обработать, это work/quotes. Это пустая папка, и rmdir удаляет ее.

Эта команда использовалась.

rmdir --ignore-fail-on-non-empty work/reports /work/quotes

Вы можете использовать опцию -p (parent), чтобы удалить каталог, а также удалить его родительские каталоги. Этот прием работает, потому что rmdir начинается с целевого каталога, а затем возвращается к родительскому. Теперь этот каталог должен быть пустым, поэтому он может быть удален rmdir, и процесс повторяет шаг назад по пути, предоставленному rmdir.

В следующем примере команда, переданная в rmdir:

Каталоги invoices и work удаляются по запросу.

Используете ли вы Bash или любую другую оболочку? Linux предоставляет гибкие и мощные команды для удаления каталогов и файлов прямо из командной строки терминала. Некоторые люди предпочитают иметь рабочий процесс, который вращается вокруг терминала. У других может не быть выбора в этом вопросе. Они могут работать на серверах без установленного графического интерфейса или в удаленном сеансе в автономной системе, такой как Raspberry Pi. Эти команды идеально подходят для этой группы людей.

Читайте также:  How to hamachi linux

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

Насколько публикация полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка / 5. Количество оценок:

Оценок пока нет. Поставьте оценку первым.

Источник

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

Есть несколько различных способов удаления каталогов в системах Linux. Если вы используете файловый менеджер рабочего стола, такой как Gnome’s Files или KDE’s Dolphin, вы можете удалять файлы и каталоги с помощью графического пользовательского интерфейса менеджера. Но если вы работаете на автономном сервере или хотите удалить сразу несколько каталогов, лучшим вариантом является удаление каталогов (папок) из командной строки.

В этой статье мы объясним, как удалять каталоги в Linux с помощью команд rmdir , rm и find .

Подготовка

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

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

В большинстве файловых систем Linux для удаления каталога требуется разрешение на запись в каталог и его содержимое. В противном случае вы получите ошибку «Операция запрещена».

Имена каталогов с пробелами должны быть экранированы обратной косой чертой ( / ).

Удаление каталогов с помощью rmdir

rmdir — это утилита командной строки для удаления пустых каталогов. Это полезно, когда вы хотите удалить каталог только в том случае, если он пуст, без необходимости проверять, пуст каталог или нет.

Чтобы удалить каталог с помощью rmdir , введите команду, а затем имя каталога, который вы хотите удалить. Например, чтобы удалить каталог с именем dir1 , введите:

Если каталог не пустой, вы получите следующую ошибку:

rmdir: failed to remove 'dir1': No such file or directory 

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

Удаление каталогов с помощью rm

rm — это утилита командной строки для удаления файлов и каталогов. В отличие от rmdir команда rm может удалять как пустые, так и непустые каталоги.

По умолчанию при использовании без каких-либо параметров rm не удаляет каталоги. Чтобы удалить пустой каталог, используйте параметр -d ( —dir ), а для удаления непустого каталога и всего его содержимого используйте параметр -r ( —recursive или -R ).

Например, чтобы удалить каталог с именем dir1 вместе со всем его содержимым, введите:

Если каталог или файл в каталоге защищен от записи, вам будет предложено подтвердить удаление. Чтобы удалить каталог без запроса, используйте параметр -f :

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

Читайте также:  Настройка сервера calculate linux

Параметр -i указывает rm запрашивать подтверждение удаления каждого подкаталога и файла. Если в каталоге много файлов, это может немного раздражать, поэтому вы можете рассмотреть возможность использования опции -I которая предложит вам только один раз, прежде чем продолжить удаление.

Чтобы удалить каталог, введите y и нажмите Enter .

rm: remove 1 argument recursively? y 

Вы также можете использовать обычные расширения для сопоставления и удаления нескольких каталогов. Например, чтобы удалить все каталоги первого уровня в текущем каталоге, который заканчивается на _bak , вы должны использовать следующую команду:

Использование регулярных расширений при удалении каталогов может быть рискованным. Рекомендуется сначала перечислить каталоги с помощью команды ls чтобы вы могли видеть, какие каталоги будут удалены, прежде чем запускать команду rm .

Удаление каталогов с помощью find

find — это утилита командной строки, которая позволяет вам искать файлы и каталоги на основе заданного выражения и выполнять действие с каждым совпадающим файлом или каталогом.

Наиболее распространенный сценарий — использовать команду find для удаления каталогов на основе шаблона. Например, чтобы удалить все каталоги, которые заканчиваются на _cache в текущем рабочем каталоге, вы должны запустить:

find . -type d -name '*_cache' -exec rm -r <> +

Давайте проанализируем команду выше:

  • /dir — рекурсивный поиск в текущем рабочем каталоге ( . ).
  • -type d — ограничивает поиск каталогами.
  • -name ‘*_cache’ — искать только каталоги, заканчивающиеся на _cache
  • -exec — выполняет внешнюю команду с необязательными аргументами, в данном случае это rm -r .
  • <> + — добавляет найденные файлы в конец команды rm .

Удаление всех пустых каталогов

Чтобы удалить все пустые каталоги в дереве каталогов, выполните:

find /dir -type d -empty -delete

Вот объяснение используемых опций:

  • /dir — рекурсивный поиск в каталоге /dir .
  • -type d — ограничивает поиск каталогами.
  • -empty — ограничивает поиск только пустыми каталогами.
  • -delete — удаляет все найденные пустые каталоги в поддереве. -delete может удалять только пустые каталоги.

Используйте параметр -delete с особой осторожностью. Командная строка поиска оценивается как выражение, и если вы сначала добавите параметр -delete , команда удалит все, что находится ниже указанных вами начальных точек.

Всегда сначала проверяйте команду без опции -delete и используйте -delete в качестве последней опции.

/ bin / rm: слишком длинный список аргументов

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

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

Самое простое решение — сначала удалить все файлы в каталоге с помощью команды find а затем удалить каталог:

find /dir -type f -delete && rm -r /dir

Выводы

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

Удаление каталогов — простой и легкий процесс, но вы должны быть осторожны, чтобы не удалить важные данные.

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.

Источник

Оцените статью
Adblock
detector