- Команда rm – удаление файлов и директорий в дистрибутивах Linux
- Команда rm
- Опции команды rm
- f (force)
- i (interactive)
- r (recursive)
- v (verbose)
- Заключение
- Как удалить каталог в Linux
- Подготовка
- Удаление каталогов с помощью rmdir
- Удаление каталогов с помощью rm
- Удаление каталогов с помощью find
- Удаление всех пустых каталогов
- / bin / rm: слишком длинный список аргументов
- Выводы
- Команда rm
- Синтаксис
- Опции
- Примечание
- Примеры использования команды rm
- Удалить файл
- Принудительно удалить защищенный файл
- Удалить все файлы в текущей директории
- Выдавать запрос перед удалением каждого файла
- Выдать запрос на удаление один раз
- Удалить директорию и ее содержимое
- Видео: Удаление корневого раздела командой RM
Команда rm – удаление файлов и директорий в дистрибутивах Linux
Терминал Linux мощный инструмент, позволяющий управлять системой. Несмотря на то, что в современных дистрибутивах можно обойтись без знания терминала. Может случиться так, что графическая оболочка не загрузится и перед вами будет черное окно терминала. И придется работать в нем, и тут знание терминала будет только на пользу. Существует множество команд, позволяющих выполнять те или иные действия, и об одной акой сегодня и поговорим.
Команда rm – это одна из важных команд в терминале Linux. Она позволяет удалить файлы и папки из операционной системы. Но, несмотря на свою простоту, использование этой команды может быть опасным, поскольку неправильное использование может привести к потере ценных данных. А то и вовсе может повредить саму систему. В этой статье мы рассмотрим основы использования команды rm и наиболее распространенные опции.
Команда rm
Синтаксис у команды rm довольно простой. Вводим команду rm, а затем указываем файл или директорию которую хотим удалить. Что бы увидеть содержимое директории, можно использовать команду ls, подробнее о которой читайте по этой ссылке. К примеру, имеется файл под названием “text”, для его удаления вводим команду:
Если необходимо удалить несколько файлов, то просто указываете их имена через пробел после команды rm. К примеру, имеются файлы “text” и “file” которые необходимо удалить:
Разумеется, у команды rm, как и у многих других в дистрибутивах Linux, есть некоторые опции, которые разберем чуть ниже. Для удаления директории вместе со всем ее содержимым, необходимо использовать опцию “-r”, что означает – рекурсивно:
Опции команды rm
Как уже говорилось выше, команда rm имеет опции, которые позволяют выполнять определенные действия. Ниже рассмотрим несколько наиболее распространенных опций доступных для команды rm:
f (force)
Опция – f (force) позволяет команде rm удалить файлы без запроса подтверждения. Используйте эту опцию с осторожностью:
i (interactive)
Опция -i (interactive) наоборот, запрашивает подтверждения на удаления каждого файла. Данная опция может помочь вам избежать удаления файлов по ошибке:
r (recursive)
Опция -r (recursive) позволяет удалять директорию полностью, со всем ее содержимым. Выше мы уже встречались с этой опцией:
v (verbose)
Опция -v (verbose) выводит информацию о каждом файле, который подлежит удалению:
Заключение
Команда rm – это мощный инструмент для удаления директорий и файлов в дистрибутивах Linux. Но, она может быть опасной, если использовать ее неправильно. К примеру, можно удалить не тот файл или целую директорию, что также может сказаться на работоспособности системы. К примеру, команда “sudo rm -rf /*” удалит содержимое в корневой директории, что приведет к неработоспособности системы. Ни в коем случае не вводите данную команду!
Чтобы избежать потери данных и не повредить систему, используйте команду rm с осторожностью, особенно при использовании опции -f (force) или -r (recursive).
Более подробно о всех доступных опциях команды rm можно узнать из справки набрав команду man rm и rm –help.
При работе с командой rm могут быть полезны и другие, к примеру, команда pwd, которая позволяет узнать в какой директории вы сейчас находитесь. О том как копировать директории и файлы, читайте тут. Про перемещение файлов и директорий написано тут. А про команду ls, ссылка была дана выше…
А на этом сегодня все, если статья оказалась вам полезна, подписывайтесь на рассылку журнала в pdf формате, а так же на социальные сети журнала Cyber-X:
По вопросам работы сайта, сотрудничества, а так же по иным возникшим вопросам пишите на E-Mail. Если вам нравится журнал и вы хотите отблагодарить за труды, вы можете перечислить донат на развитие проекта.
Как удалить каталог в 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 , после которой укажите имена каталогов, разделенные пробелом. Приведенная ниже команда удалит все перечисленные каталоги и их содержимое:
Параметр -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 вы можете быстро и эффективно удалять каталоги по различным критериям.
Удаление каталогов — простой и легкий процесс, но вы должны быть осторожны, чтобы не удалить важные данные.
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.
Команда rm
По умолчанию команда rm не удаляет директории. Чтобы удалить директорию и все ее содержимое, включая вложенные директории, нужно использовать опцию -r (рекурсивное удаление).
Синтаксис
файл(ы) — один или несколько файлов и/или директорий, записанных через пробел. Можно использовать шаблон (например, *.txt ).
Опции
Игнорировать несуществующие файлы и аргументы. Никогда не выдавать запросы на подтверждение удаления.
Выдать один запрос на подтверждение удаления всех файлов, если удаляется больше трех файлов или используется рекурсивное удаление. Опция применяется, как более «щадящая» версия опции -i
- never — никогда не выдавать запросы на подтверждение удаления.
- once — выводить запрос один раз (аналог опции -I ).
- always — выводить запрос всегда (аналог опции -i ).
Если значение КОГДА не задано, то используется always
Если в качестве директории для удаления задан корневой раздел / , то считать, что это обычная директория и начать выполнять удаление.
Если в качестве директории для удаления задан корневой раздел / , то запретить выполнять команду rm над корневым разделом. Данное поведение используется по умолчанию.
Примечание
Если нужно удалить файл, название которого начинается с символа — , например, файл -myfile , то используется следующая команда:
Примеры использования команды rm
Удалить файл
Чтобы удалить файл с помощью команды rm достаточно указать название файла:
Можно удалить несколько файлов, перечислив их имена через пробел:
rm myfile1.txt myfile2.txt myfile3.txt
Принудительно удалить защищенный файл
Если файл защищен от записи, то по умолчанию будет выдан запрос на подтверждение операции удаления. Чтобы запрос не выводился, и происходило удаление защищенных файлов, используется опция -f
Удалить все файлы в текущей директории
Чтобы удалить все файлы в текущей директории можно использовать шаблонную запись звездочка *
Выдавать запрос перед удалением каждого файла
Чтобы перед удалением каждого файла выводилось подтверждение на удаление данного файла, используется опция -i
Выдать запрос на удаление один раз
При использовании опции -I выводится всего один запрос на подтверждение удаления файлов, причем, только если удаляемых файлов четыре и более. Если файлов 3, или 2, или 1, то запрос не выводится.
Удалить директорию и ее содержимое
Для удаления директорий и их содержимого используется опция -r . Удалим директорию mydir и все файлы и директории внутри нее: