使用rm -rf LargeDirectory
删除大目录可能需要很长时间才能完成,具体取决于目录的大小。
是否有可能获得状态更新或以某种方式监视此删除的进度,以粗略估计命令在进程中的位置?
答案1
从
man rm
使用 -v 选项:
-v, --verbose
explain what is being done
答案2
我发现这个问题很老了。我想分享对我有用的东西,也许可以帮助其他人。
pv
我使用命令行获取进度条管道查看器
这是命令
右室DIR_OR_FILE_NAME| pv -l -s $( 杜 -aDIR_OR_FILE_NAME| wc -l ) > /dev/null
如果您需要 root 权限才能删除目录或文件,
须藤 rm -rvDIR_OR_FILE_NAME| pv -l -s $( 须藤杜 -aDIR_OR_FILE_NAME| wc -l ) > /dev/null
rm -rv
:-r
递归删除 DIR 和文件。-v
verbose 它列出了所有要删除的文件和目录。pv -l -s
:-l
计算行数而不是字节数。-s
设置要删除的总行数。$( du -a <dir_or_file> | wc -l )
:du -a
返回指定目录中所有文件和目录的列表。wc -l
返回 输出的行数du -a
。> /dev/null
:将 的输出发送rm -rv
到任何地方。
答案3
您可以使用 Coreutils Progress Viewer( ) 查看当前正在运行的任何命令的进度cv
。它不像发出单个命令,但您可以看到它的进度。
我确信有人可以想出一个别名来使用该命令运行它。它也适用于cp, mv, dd, tar, gzip/gunzip, cat, etc.
.有关它的更多详细信息可以在以下位置找到
答案4
rm * & watch 'ls -1 | wc -l'
它删除所有文件并观察剩余文件数(在当前目录中)
rm * & watch 'du -h'
它删除所有文件并观察剩余目录大小(在当前目录中)
您可以自定义“rm”命令,例如“rm -rf *”,递归删除所有文件/目录(在当前目录中),无需确认