Простой вопрос, но я не уверен, что получил полное понимание от человека. Насколько мне известно, единственное отличие состоит в том, что при добавлении -f файлы будут пропущены без запроса и без учета возможности их записи, но есть ли способ создать файл или каталог, чтобы sudo rm не смог удалить его, кроме sudo рм -ф не будет?
1 ответ
Это не только вопрос понимания rm
, но вы также должны быть знакомы с тем, что делает sudo
. Rm - это команда для удаления файлов и каталогов (с соответствующими параметрами), sudo изменяет область прав пользователя (вы запускаете команду с другими привилегиями пользователя). Если вы sudo rm
, вы запустите команду rm с привилегиями root вместо ваших пользовательских.
Таким образом, ответ может быть:
"rm -f *" -> удалить все файлы в текущем каталоге, на которые у вас есть права, не спрашивая. Это означает, что все файлы, которые принадлежат вам или группе, членом которой вы являетесь. Эта команда пропускает все каталоги в текущем каталоге. Если вам нужно удалить все, используйте вместо этого
rm -rf
."sudo rm *" -> удалить все файлы в текущем каталоге и спросить, действительно ли вы хотите это сделать, если некоторые файлы не имеют прав записи. Если вы хотите удалить каждый файл (не каталог, как упоминалось ранее), вы должны добавить опцию
-f
. Неважно, кому на этот раз принадлежат файлы в этом каталоге, потому что вы действуете как root (администратор linux).
Поэтому невозможно создать файл или каталог, которые не могут быть удалены с помощью sudo rm
и могут быть удалены с помощью rm
. Суперпользователь (root) может делать все.