Daily Archives: 2013-08-29

Linux 下面 cp/mv 为什么没有进度显示

为什么要避免在 cp 时显示进度条这种设计? 进度条显示依赖于两个关键,一是总工作量,一是当前进度量。 对于 wget 来说, 如果要获取的资源在头部有 Content-Length, 那么它可以认为获得了“总工作量”, 而具体下载过程中下载了多个字节它是知道的,这种情况下得到进度百分比是轻负担的,可承受的。 对于wget获取一个使用 http 协议的 URL 来说, 如果 Content-Length 没有指定, 则wget 也无法获取总工作量, 它所能做的只是下载一点是一点,直到收到一个结束标志。而这种情况下即使wget也无法正确显示进度条。 注: Content-Length 头在 Http 协议中是可选的. 对 于cp -a 这样的任务来说, 可能很多用把它用作备份的手段, 执行这个命令一般都是大宗买卖, 源往往是一个目录。 而获取这样一个目录的总大小是可能但不可负担的,你可以 du -csh /usr/src/linux 试试看。 在这段时间内你差不多可以复制完成了。 … Continue reading

Posted in Linux | Tagged , , | Leave a comment