当前位置: 首页>>技术问答>>正文


使用-v(详细)慢命令吗?

, ,

问题描述

在这个问题:在bash中,如何删除目录中的所有文件和子目录而不删除目录?它被问到如何删除文件夹中的所有文件,而不是文件夹本身。

Matt的回答包括在’rm’命令中使用-v标志。

rm -rfv dontDeleteMe && mkdir dontDeleteMe

我留下的命令是上面的命令。确实当然有用,但’rm’中的-v标志和/或通常会减慢通过命令行完成的任务吗?

我有一个.txt-files(大约100.000)的文件夹,我已经为自己创建,删除和重新创建了几次。有些时候使用rm,有时候在文件浏览器中,我觉得使用rm-command比上面显示的更慢。 -v标志是否与此有关?

最佳解决思路

是的,-v标志会减慢命令。

大多数(如果不是所有)软件(或命令)都会检查是否提供了标志,然后执行一组与该标志相关的代码。在-v标志的情况下,他们可能会执行一堆输出命令(如echoprintf),他们宁愿在没有标志的情况下跳过这些命令。

这意味着处理器的指令周期更多,因此执行时间更长。

如果您不打算阅读/需要消息,最好不要使用-v标志。

另一方面,CLI将/应该比GUI更快,假设您没有包括键入命令和按Enter键所需的时间。

this blog of superuser开始,这张图片很好地解释了它的慢度

command-line,rm,ubuntu

对于有问题的特定命令,time命令的结果是

//with -v
real    0m8.753s
user    0m0.816s
sys     0m2.036s

//without -v
real    0m1.282s
user    0m0.124s
sys     0m1.092s

这是通过包含100000个空文件的目录完成的

次佳解决思路

为什么不找出自己:利用时间。

$ time rm -rfv dontDeleteMe && mkdir dontDeleteMe
real    0m0.003s
user    0m0.001s
sys     0m0.002s

$ time rm -rf dontDeleteMe && mkdir dontDeleteMe
real    0m0.002s
user    0m0.001s
sys     0m0.001s

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/7122.html,未经允许,请勿转载。