在这样的问题:如何删除目录中的所有文件和子目录而不删除bash中的目录?会询问如何删除文件夹中的所有文件,而不是文件夹本身。
Matt的回答包括在'rm'命令中使用-v标志。
rm -rfv dontDeleteMe && mkdir dontDeleteMe
我离开的命令是上面的命令。确实有用,但是'rm'中的-v标志和/或通常会减慢通过命令行完成的任务吗?
我有一个带有.txt文件的文件夹(大约有100.000个)我已经为自己创建,删除和重新创建了几次。有时候使用rm,有时候在文件浏览器中,我觉得使用rm-command比上面显示的更慢。 -v标志是否与此有关?
是的,-v标志会减慢命令。
大多数(如果不是所有)软件(或命令)都会检查是否提供了标志,然后执行一堆与该标志相关的代码。在-v标志的情况下,他们可能会执行一堆输出命令(如echo
或printf
),他们宁愿在没有标志的情况下跳过它们。
这意味着处理器的指令周期更多,因此执行时间更长。
如果您不打算阅读/需要消息,最好不要使用-v标志。
另一方面,CLI将/应该比GUI更快,假设您没有包含输入命令所需的时间并按 Enter 键。
来自这个超级用户的博客这张图片非常清楚地解释了这个问题
对于有问题的特定命令,time命令的结果是
//with -v
real 0m8.753s
user 0m0.816s
sys 0m2.036s
//without -v
real 0m1.282s
user 0m0.124s
sys 0m1.092s
这是使用包含100000个空文件的目录
完成的