Команда «rm» в Linux играет ключевую роль для управления файлами и директориями. Эта утилита предоставляет пользователям возможность удалять ненужные файлы, очищать директории и освобождать место на диске. От базовых принципов до более сложных задач. В этой статье рассмотрим всё, что нужно знать для безопасного и эффективного использования.
Синтаксис
Синтаксис команды rm (сокращение от remove) прост, но перед ее использованием важно понимать, как она работает и какие опции можно применять.
1 | rm [опции] [файлы или директории] |
Здесь:
- [опции] — это необязательные параметры, которые позволяют настроить поведение команды.
- [файлы или директории] — это имена файлов или директорий, которые вы хотите удалить.
Опции
Рассмотрим основные опции и параметры.
- -f, —force — Позволяет удалить файлы без запросов на подтверждение, игнорируя ошибки, если файл не существует.
- -i — запрашивает подтверждение пользователя перед удалением каждого файла или директории. Это позволяет избегать случайного удаления важных данных.
- -r, -R, —recursive — используются для рекурсивного удаления директорий и их содержимого. При использовании этой опций удаляются указанные директории, все файлы и поддиректории внутри них.
- -d, —dir — используется для удаления только пустых директорий (папок). Если вы попытаетесь удалить директорию, содержащую файлы или другие поддиректории без этой опции, будет выдана ошибка.
- —no-preserve-root — Отменяет специальное обращение к корневой директории (/), позволяя её удаление. Если вы новичок в линукс не используйте этот параметр! Это может повредить вашу систему.
- —preserve-root[=all] — Предотвращает удаление корневой директории (/) по умолчанию. Если указан флаг «[=all]», также отвергает любой аргумент командной строки на отдельном устройстве от его родителя, обеспечивая безопасность при удалении.
- -v, —verbose — позволяет выводить подробные сообщения о том, какие файлы и директории были удалены, что делает процесс удаления более информативным.
- —help — Выводит краткую справку с описанием опций.
- —version — Выводит информацию о версии программы.
Как удалить файлы в Linux с помощью терминала
Удаление файлов — это важная и часто используемая операция. Рассмотрим подробно и с примерами.
Чтобы удалить один файл, например «test.txt» введите в командной строке:
1 | $ rm test.txt |
Файл будет удален. Чтобы проверить какие файлы и папки есть директории используйте команду ls.
Для удаления нескольких файлов укажите их имена через пробел. Например, требуется удалить три файла с названиями «test_1», «test_2», «test_3». Команда будет такой:
1 | $ rm test_1 test_2 test_3 |
Количество файлов может быть любым.
С этой командой можно использовать подстановочные знаки.
Например, чтобы удалить все файлы с именем «.jpg» в терминале укажите:
1 | $ rm *.jpg |
Или допустим вам нужно удалить файлы в текущей папке начинающиеся со слова «file», для этого удобно использовать такой вариант:
1 | $ rm file* |
Будут удалены все файлы имена которых начинаются с «file». Это включает файлы вида «file1.txt», «file2.jpg», и так далее
Этот метод также используется для удаления всех файлов, которые содержат строку символов:
1 | $ rm *sample*.* |
Конструкция «rm *sample*.*» удалит все файлы в текущей директории, имена которых содержат слово «sample» и имеют расширение.
Например, если в текущей директории есть файлы «example-sample.txt», «test-sample.png», и «file.docx», то после выполнения этой команды останется только файл «file.docx», так как он не соответствует шаблону «*sample*.*».
Чтобы удалить файл в другом каталоге можно перейти в него с помощью команды cd и затем указать команду.
Либо указать путь до файла напрямую с помощью одной команды. Для примера я удалю оставшийся файл «file.docx» в папке «Test»:
1 | $ rm Test/file.docx |
Файл удален.
Удаление с параметром -i в интерактивном режиме
Если вы хотите, чтобы перед удалением у вас запрашивалось подтверждение то используйте опцию «-i». Пример удаления файла «testoviy»:
1 | $ rm -i testoviy |
Команда «rm» попытается удалить файл с именем «testoviy». Если такой файл существует в текущем рабочем каталоге, будет задан вопрос о том, хотите ли вы действительно удалить этот файл;
1 | rm: удалить обычный файл 'testoviy'? |
Вы можете ввести букву «y» или «yes» для подтверждения, или «n» для отмены удаления.
Опция -f или удалить без запроса
Теперь давайте рассмотрим опцию «-f» (--force) . Она используется для принудительного удаления файлов без запросов на подтверждение.
Это означает, что команда «rm» будет удалять файлы, даже если они защищены от удаления или если у пользователя нет разрешения на их удаление.
Это может быть полезным в сценариях, когда необходимо удалить несколько файлов без постоянного подтверждения для каждого из них.
Однако будьте осторожны при использовании этой опции, так как она не предоставляет дополнительных гарантий безопасности и может привести к удалению файлов, которые вы не собирались удалять.
1 | $ rm -f file1.txt file2.txt |
Опция -v удаление с выводом информации
Опция «-v» (—verbose) используется для вывода подробной информации о том, какие файлы удаляются.
Когда эта опция включена, будет выводиться названия файлов или директорий, которые удаляются, на экран, чтобы пользователь мог видеть процесс.
Для примера удалим файлы «file1.txt» и «file2.txt». Команда:
1 | $ rm -v file1.txt file2.txt |
В этом примере «rm» удалит файлы и выведет сообщение о каждом из них.
Как в Linux удалить папку
Удаление каталога (папка) в Linux — это распространенная задача при администрировании и управлении файлами. Давайте рассмотрим, удаление папок, будь то пустая папка или с файлами и подкаталогами.
Удаление пустого каталога
Если каталог не содержит файлов или подкаталогов, вы можете использовать команду «rmdir» или «rm» для его удаления. Давайте рассмотрим оба варианта.
- rmdir — может удалять только пустые каталоги/папки. Команда используется очень редко.
- rm — удаляет каталог/папку вместе со всеми файлами и подкаталогами в ней.
Если нам заведомо известно о том, что каталог пустой то можно применить команду «rmdir». Можно указать сразу несколько каталогов указав их через пробел.
Если команда найдет контент в одном из перечисленных каталогов, она пропустит его и перейдет к следующему.
1 | rmdir имя_каталога |
Этот метод удаляет только пустой каталог или каталоги. Во всех остальных случаях удобнее применять команду «rm».
Для удаления пустых папок с помощью «rm» нужно использовать опцию «-d».
1 | rm -d имя_каталога |
Удалить папку в Linux с помощью команды rm
Если каталог содержит файлы и подкаталоги, для удаления используйте команду «rm» с опцией «-r» (рекурсивное удаление):
Например, чтобы удалить папку «Test» используется команда:
1 | $ rm -r Test |
Чтобы удалить каталог без подтверждения используйте опцию «-f»:
1 | $ rm -rf Test |
Это основные варианты. Все опции команды «rm» которые были использованы при описании файлов также применимы и для каталогов.
Резюме
Удаление файлов и каталогов — важная и неотъемлемая часть администрирования операционной системы. Правильно освоив эти команды и опции, вы сможете эффективно управлять файлами и освобождать место на диске.
Не забывайте о том, что файлы удаляются навсегда, поэтому осторожно применяйте команды. Если у вас есть сомнения, сначала выполните команду с опцией «-i», чтобы система запросила подтверждение.
Любой важный файл или каталог должен быть удален с осторожностью. Не забывайте создавать резервные копии перед удалением чего-либо важного.