使用 rm 命令删除文件和文件夹时启用确认

OS X 中的终端

这个技巧有两个部分,第一个是简单地知道在使用 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
删除SampleFile.zip? y

按“y”并返回以“是”响应删除文件,按“n”并返回键以“否”响应,文件将不会被删除。

rm -i 语法甚至可以与 -r 一起使用,以便在递归删除目录和包含的子文件夹的文件内容之前获得确认:

rm -ir /Example/Folder/

在命令完成目录中找到的每个单独文件之前,您必须再次发出 y 或 n。

使用 srm 获取相同的确认对话框也使用 -i 标志:

srm -i /Example/file.zip

同样,您将使用 y 和 n 键来确认或拒绝删除指定文件。

在删除文件之前启用确认rm 和 srm

如何使用别名默认启用“rm”命令确认

打开您的 .bash_profile 或 .profile,您可以像这样创建一个别名,将默认的“rm”语法更改为“rm -i”作为新的默认语法。

alias rm='rm -i'

您可以像这样使用 srm 创建相同类型的别名:

别名 srm='srm -i'

将这两个添加到配置文件中的唯一行就足够了,然后刷新 shell 将允许从 bash、zsh、tcsh 或任何您正在使用的 shell 访问它们。

在删除文件之前,还有其他关于在命令行中保护 rm 和 srm 的高级技巧吗?让我们在评论中知道。如果您只是想了解更多有趣的命令行技巧,请浏览我们关于广泛主题的帖子