Как использовать «rm» в Linux

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

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

Выполнение команды «rm – help» покажет страницу справки.

Чего не делать

Учитывая силу «rm», рекомендуется убедиться, что вы понимаете, чего не следует делать, прежде чем пытаться его использовать. Флаг «-r» используется для рекурсивного применения удаления ко всем каталогам в указанном каталоге. Это позволяет удалить каталог и все, что в нем. Флаг «-f» используется для принудительного удаления и не запрашивает подтверждение удаления важных файлов. Комбинация этих двух флагов «-rf» позволяет вам удалять целые наборы каталогов без запроса подтверждения.

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

В худшем случае вы можете случайно запустить команду в корневом каталоге. Команда рекурсивно удалит с вашего жесткого диска все, что ваш пользователь имеет права редактировать, и полностью испортит вашу установку Linux. Чтобы защитить вас от наихудшего сценария, корневой каталог «/» по-другому обрабатывается «rm». Вам нужно будет использовать «sudo» и флаг «–no-preserve-root», чтобы удалить все, это запускает команду с правами root и удаляет защиту для корневого каталога соответственно.

Примечание. Никогда не пытайтесь комбинировать команду «rm» с флагами «-rf» и указывать команду на корневой каталог, если вы не уверены на 100%, что система вам больше никогда не понадобится.

Совет: Двойное тире в начале «–no-preserve-root» сделано намеренно. Это стандартный синтаксис командных флагов Linux: однобуквенные флаги используют одиночное тире, а многобуквенные флаги начинаются с двойного тире. Например, флаг «-h» часто, но не всегда, используется для открытия страницы справки, тогда как флаг «–help» обычно делает то же самое. Двойное тире помогает отличить многобуквенный флаг от комбинации нескольких однобуквенных флагов, таких как «-h -e -l -p».

Будьте очень осторожны при использовании флагов «-rf» с командой «rm», особенно при использовании разрешений Sudo. Вам никогда не нужно использовать команду –no-preserve-root. В идеале каждый раз перед тем, как запускать команду «rm», вы должны дважды проверять, не допустили ли опечатки.

Подстановочный знак «*» также опасно использовать с командой «rm», поскольку он выберет все в текущем каталоге, за исключением других каталогов, если не указано «-r».

Как использовать «rm»

Чтобы безопасно использовать «rm», вы всегда должны дважды проверять свою команду, чтобы убедиться, что вы не допустили опечаток или автозаполнения для неправильного имени файла. В идеале вам следует удалять только один файл за раз, но если вы будете осторожны, использование подстановочного знака «*» для выбора нескольких файлов тоже может сработать. Например, команда «rm * .txt» удалит все файлы в текущем каталоге, оканчивающиеся на «.txt».

Команда «rm * .txt» использует подстановочный знак для сопоставления и удаления всех файлов с расширением .txt.

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

Команда «rm -r» необходима для удаления каталога и его содержимого, однако вы должны быть уверены, что хотите удалить это содержимое.