Как я могу заставить rm перестать спрашивать у меня разрешения?


15

На моем сервере rm всегда запрашивает разрешение (даже если я root), когда я его запускаю, на моем рабочем столе - нет. Вот так:

$ rm mod_wsgi-3.3.tar.gz
rm: remove regular file `mod_wsgi-3.3.tar.gz'?

Как мне заставить это перестать подсказывать мне?


Может быть, это псевдоним. Перечислите псевдонимы с помощью aliasи удалите псевдоним с помощью unalias rm.
H Марсело Моралес

1
Просто помните, что если вы сломаете свою систему, вы сохраните обе части. Возможно, вы захотите переключиться на что-то вроде, trash-cliчтобы дать себе кнопку отмены для удаления.
Райан С. Томпсон

Ответы:


15

Я бы проверил, если ваш rmпсевдоним. Набрав aliasв командной строке вы увидите все определенные псевдонимы. Я ожидаю что-то вроде

alias rm='rm -i'

Если это так, псевдоним, вероятно, определен в in ~/.bashrc, так что вы можете полностью удалить псевдоним или изменить его в соответствии со своими потребностями.

Кроме того, вы можете удалить псевдоним для текущего сеанса терминала, используя unalias rm.


3
Я считаю, что разумнее оставить все как есть и всегда использовать rm (-i из-за псевдонима), и при появлении запроса введите yes или ctrl-c, а не rm -f. Безопасность прежде всего: я запустил полную систему, используя rm, где у нее не было -i, потому что кто-то другой удалил ее из псевдонимов (в противном случае я бы заметил свою ошибку: D).
Rinzwind

@Rinzwind - Вы, вероятно, правы, но я не слишком беспокоюсь о том, чтобы не испортить мою серверную систему в этом случае. Это состояние без состояния, и у меня есть сценарий установки для его восстановления. Однако я однажды удалил половину PHP-библиотек из моей системы через плохо напечатанный rm, но я считаю менее раздражающим проводить большую очистку один раз, чем мелкие вещи все время.
Кит Сунд

2
Извините, что говорю, но если вы еще не достаточно опытны, чтобы понять, что ваш rmпсевдоним, то вам, вероятно, следует оставить меры безопасности на месте.
MPi

11

rm -f mod_wsgi-3.3.tar.gz

ВНИМАНИЕ: используйте с осторожностью.

Со страницы руководства :

-f, --force ignore nonexistent files, never prompt

2

Наибольшее, что я нашел

\rm file

это запустит оригинальную версию unalias и сохранит псевдоним нетронутым.

Мы также можем использовать встроенную оболочку, commandнапример

command rm file

но я конечно наслаждаюсь меньшим многословием в первом


1
Я использую кавычки, чтобы избежать псевдонимов, например, 'rm' fileно ваш короче!
Joeytwiddle

0

Другой способ обойти определенное alias- указать полный путь, когда вы не хотите, чтобы вам предлагали:

/bin/rm mod_wsgi-3.3.tar.gz

Мне нравится оставлять псевдоним на rm -iместе для безопасности, когда я взломаюсь среди ночи и печатаю rm .... Но когда я достаточно настороже, чтобы вспомнить, что я не хочу, чтобы меня приглашали, я печатаю /bin/rm ....


1
Вы также можете сделать command rm /dead/file. commandвыполняет его без поиска функций или псевдонимов.
Кири
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.