В терминале Linux можно не только создавать файлы и каталоги , но также удалять их. Это одна из самых простых, но важных функций в любой операционной системе. Это знание удаления файлов в терминале Linux особенно необходимо при удаленном входе в систему через SSH.
Как удалить файл в Linux
Давайте начнем с простого удаления одного файла. Синтаксис команды структурирован следующим образом.
rm < объект для удаления>
- Создайте новый файл под названием test1.txt
touch test1.txt
- Перечислите содержимое каталога, чтобы убедиться, что файл был создан. Теперь вы должны увидеть файл test1.txt.
ls
- Удалите тестовый файл. Удаление файла или папки является постоянным. Нет корзины, которая могла бы спасти нас от неправильного нажатия клавиши.
rm test1.txt
- Повторно просмотрите содержимое каталога, чтобы убедиться, что файл удален. Вы должны увидеть, что test1.txt его больше нет в списке.
ls
Как удалить каталог в Linux
Давайте рассмотрим аналогичный пример, чтобы показать, что rm можно использовать для удаления каталога, содержащего файлы. Для этих примеров мы будем использовать два дополнительных аргумента-r и-I.
- Создайте пустой каталог. В вашем домашнем каталоге создайте пустой каталог.
mkdir test_directory
- Переместитесь в новый каталог.
cd test_directory
- Создайте два тестовых файла в каталоге
touch test1.txt test2.txt
- Перечислите содержимое каталога, чтобы проверить, созданы ли файлы. Вы должны увидеть файлы, которые test1.txt и test2.txt теперь перечислены.
ls
- Вернитесь в домашний каталог
cd ~
- Удалить каталог. Чтобы удалить этот каталог, нам нужно использовать аргумент-r . Аргумент-r действует рекурсивно для входа в каталог, проверки и удаления любых файлов внутри. Как только он опустеет, команда возвращается, чтобы удалить каталог, который она только что очистила.
rm -r test_directory
- Проверьте, удален ли каталог. Вы должны увидеть, что test_directory удален из списка.
ls
- Повторите описанные выше шаги с 1 по 5, чтобы создать тестовый каталог и файлы.
- Повторите аргумент-r, но добавьте аргумент-i для интерактивного удаления файлов и каталогов. Может быть трудно представить, что делает аргумент-r . Аргумент — I заставляет процесс удаления запрашивать подтверждение (интерактивное) каждого удаления.Введите » y » и нажмите enter, чтобы подтвердить каждый шаг.
rm -ri test_directory
Как в Linux удалить файл, защищенный от записи
Иногда вам может потребоваться удалить файлы в Linux, защищенные от записи. Если вы используете стандартную команду rm, вам будет предложено подтвердить, хотите ли вы удалить каждый защищенный файл. Для этого мы можем использовать аргумент силы-f , чтобы помочь. По сути, это вынуждает команду rm принудительно удалять любые каталоги и файлы, поэтому вам нужно быть особенно осторожным при использовании этих команд, поскольку она не будет запрашивать никакого подтверждения.
- Создайте тестовый файл с именем test1.txt
touch test1.txt
- Измените права доступа к файлу, чтобы удалить файл могли только пользователь и группа, к которой он принадлежит.
chmod u-w test1.txt
chmod g-w test1.txt
- Попробуйте удалить файл, используя стандартную команду rm . При использовании стандартной команды rm вам должно быть предложено подтвердить, хотите ли вы удалить test1.txt файл. Нажмите кнопку n, чтобы на этот раз ответить “нет”. Если бы у вас был каталог с сотнями защищенных файлов, вам пришлось бы подтверждать каждый из них с помощью y , что было бы невероятной тратой времени.
rm test1.txt
- Удалите файл, используя аргумент-f . Выполнение этой команды с аргументом-f заставляет команду Удалить файл и не требует подтверждения. Используйте с осторожностью!
rm -f test1.txt
Эти команды невероятно мощные, простые в использовании и могут сделать выполнение задач по удалению действительно простым. Возможно, вы видели в Интернете анекдоты о чрезвычайно опасных версиях этой команды , таких как sudo rm-rf/, и, возможно, из этой статьи вы узнаете, почему это может быть опасно.
Вы можете заметить, что мы предоставляем команде права root и используем принудительные и рекурсивные аргументы, по сути, отправляя команду для удаления всех файлов в системе!