二个命令大家最熟悉不过了。不过对于处理速度上那个更快? CU及其它论坛都有讨论,我做了一下实验。比较下。。实践出真知,CP要快。
老曹写了一个tar快速拷贝文件小技巧
# cd /data/test1
# tar -cf - . | (cd /data/test2 ; tar -xvpf -)
我简单实践:
一、相对路径VS绝对路径
[code]
# time tar -cf - . | (cd /tmp/test2/ ; tar -xvpf -)
./
./linuxtone_2009_04_09.log.gz
./linuxtone_2009_04_10.log.gz
./linuxtone_2009_04_11.log.gz
./linuxtone_2009_04_12.log
real 0m3.150s
user 0m0.108s
sys 0m1.754s
[/code]
[code]
相对路径
# time cp -r * ../test2/
real 0m1.167s
user 0m0.053s
sys 0m1.065s
[/code]
cp 比tar 快出 1.983s
[code]
绝对路径
# time cp -r * /tmp/test2/
real 0m1.170s
user 0m0.070s
sys 0m1.056s
[/code]
cp 比tar 快出 1.98s
二、文件属性
有人说cp不能连文件及文件夹的属性一起复制过去。不如tar好。其实man cp 就可以看到
-p same as --preserve=mode,ownership,timestamps
--preserve[=ATTR_LIST]
preserve the specified attributes (default: mode,ownership,timestamps) and security contexts, if possi-
ble additional attributes: links, all
因为目录里有文件也有文件夹,可使用
-a -a, --archive
same as -dpR
测试速度跟上面速度相差不大。cp 还是比tar 快
三、如果cp 看不到进度可如下:
cd /mnt/cdrom
for i in *
do
cp $i 目标目录
echo $i is ok....
done
http://liuyu.blog.51cto.com/183345/150408