rm -r命令的警告


3

我想rm在递归删除目录时提示我,如:

$ rm -r <dir>
Do you want to remove the dir(Y/N)?

有没有可以传递给我的论据rm呢?


如果你给几个参数,一些dirs和其他常规文件怎么办?
gniourf_gniourf 2014年

尝试rm -i命令
anubhava 2014年

好吧zsh shell对rm -rf *有这种警告

4
“我平时喜欢的别名rmrm -rf,这样就会更容易删除目录” -没错,因为rm -f是不是很危险不够。
Keith Thompson

一般来说,“请为我写这个东西”问题在StackOverflow上不受欢迎 - 而且“我如何配置操作系统附带的非编程相关工具?”
Charles Duffy 2014年

Answers:


10

你想要的是大写-I,如:

$ rm -rI tg/
rm: remove all arguments recursively?

正如评论中所指出的,这是GNUrm给你的好东西,并不是基于posix规范所要求的rm


1
哪个平台有效?(它不是在POSIX规范中rm;它是GNU吗?Mac?...?)
Charles Duffy 2014年

@CharlesDuffy GNU做到了。但是,我不知道其他系统。

@CharlesDuffy谢谢!我已经更新了我的答案

1
我强烈建议您不要将其中任何一个别名,而是建立自己习惯使用您想要的选项。如果你做了一个别名,并习惯了它,然后你在一个没有别名的系统上,当你的rm -r突然删除所有东西时,你会遇到一个令人不快的惊喜,而不会问。
lindes-hw 2014年

我同意,但是我觉得rmdir有点好,因为在另一个系统上它根本就不会删除任何内容。
ErlVolton 2014年

1

根据您所使用的操作系统,rm -i(可以提示每个文件)或者可能rm -I(GNU rm的一部分),根据手册页,它将“在删除三个以上的文件之前提示一次,或者递归删除”比-i更少侵入性,同时仍能防范大多数错误“

我强烈建议不要为此创建别名,而是养成使用上述选项中的一个或另一个的习惯。在没有别名的系统上,你已经习惯了可以创造很多悲伤(删除你不打算删除的文件)。当你实际上不想要它时使用习惯选项只是意味着一个轻微的烦恼(被提示几次,并且对每个提示回答是,或者爆发(C-c)并且在没有选项的情况下重新开始)。我发现,后者的痛苦要小得多。


他不想要小写-i,他特意要求一个提示。你也会注意到这个问题是在不久前更新的,以删除所有关于别名的内容
ErlVolton 2014年

2
好吧,他可能没有选择权rm -I,所以这就是为什么我把它包括在我的答案中。我看到你已经更新了你的答案以消除别名(我想感谢我的评论;也许我应该把它留在那里;我从来没有在问题中看到它),所以这个答案现在变得有点多余。也许我会撤回它; 当然,我现在提出你的答案,因为它不建议使用别名。
lindes-hw 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.