Включить подтверждение при удалении файлов & Папки с помощью команды rm

Anonim

Большинство пользователей командной строки знают, что команда «rm» для удаления и удаления файлов является довольно мощной, способной удалить практически любой файл, который только можно вообразить в файловой системе, независимо от того, следует ли его удалять или нет. Как только вы добавите подстановочные знаки и sudo, rm и srm, потому что экспоненциально более мощные и потенциально опасные, поэтому для опытных пользователей, которые хотят добавить уровень безопасности к функции rm, они могут включить диалоговое окно подтверждения с помощью команд rm и srm.Это также предлагает полезный защитный механизм для тех, кто изучает командную строку и хочет добавить слой проверки между мгновенным удалением файлов и выполнением их команды.

Этот трюк состоит из двух частей: во-первых, нужно просто знать правильный флаг для включения и использования подтверждения перед удалением файла или папки с помощью rm, а во-вторых, использовать псевдоним, чтобы сделать вышеупомянутое удалить с подтверждением в новую опцию по умолчанию для команды rm. Оба эти трюка работают в Mac OS X, Linux и большинстве других вариантов Unix, поэтому они в значительной степени не зависят от операционной системы, а также работают с мощной командой безопасного удаления srm. Это, очевидно, предназначено для более продвинутых пользователей, которым удобно работать с командной строкой, поскольку использование rm и srm не подходят для новичков.

Использование команды rm с подтверждением перед удалением файлов и папок

Синтаксис для включения подтверждения перед удалением любых файлов с помощью rm (или srm) — это просто флаг -i, используемый следующим образом:

rm -i имя_файла

Например, если вы хотите удалить файл с именем «theSampleFile.zip» и хотите получить подтверждение перед удалением команды, вы должны использовать следующий синтаксис:

rm -i theSampleFile.zip

После того, как вы нажмете «Ввод», вас спросят, хотите ли вы удалить рассматриваемое имя файла, при этом команда повторяет точный файл перед его удалением следующим образом:

% rm -i theSampleFile.zip удалить theSampleFile.zip? у

Нажатие 'y' и возврата возвращает "да" для удаления файла, а нажатие 'n' и возврата возвращает "нет", и файл не будет удален.

Синтаксис rm -i работает даже с -r для получения подтверждения перед рекурсивным удалением каталогов и содержимого файлов содержащихся подпапок:

rm -ir /Пример/Папка/

Снова вам придется ввести y или n, прежде чем команда будет завершена для каждого отдельного файла, найденного в каталоге.

Получение того же диалога подтверждения с помощью srm также использует флаг -i:

srm -i /Example/file.zip

Опять же, вы должны использовать клавиши y и n, чтобы подтвердить или отклонить удаление указанных файлов.

Как включить подтверждение команды «rm» по умолчанию с псевдонимом

Откройте свой .bash_profile или .profile, и вы можете создать такой псевдоним, чтобы изменить синтаксис «rm» по умолчанию на «rm -i», чтобы он стал новым по умолчанию.

alias rm='rm -i'

Вы можете создать такой же псевдоним с помощью srm, например:

alias srm='srm -i'

Достаточно добавить оба из них в уникальные строки в профиле, тогда обновление оболочки позволит получить доступ к обоим из bash, zsh, tcsh или любой другой используемой оболочки.

Есть ли какие-нибудь дополнительные советы по защите rm и srm в командной строке перед удалением файлов? Дайте нам знать об этом в комментариях. А если вы просто хотите .

Включить подтверждение при удалении файлов & Папки с помощью команды rm