求助:递归拷贝文件如何在目标目录下自动建立原目录
发表于 : 2021-10-02 10:35
刚刚写了这样一个脚本,是递归dd文件的。我们都知道dd的速度是最快的。
如下:
#!/bin/bash
dd-r()
{
for i in `ls "$1"`
do
if [ -d "$1"/"$i" ]
then
mkdir -p "$2"/"$i"
dd-r "$1"/"$i" "$2"/"$i"
else
dd if="$1"/"$i" of="$2"/"$i" bs=10M oflag=direct,nonblock status=progress
fi
done
}
dd-r . '/run/media/root/Seagate Expansion Drive/youku2'
——————————————————————————————————————————————————————
然而,这个脚本还是再完善一下好了。
比如,源目录是dir1,目标目录是dir2,那么高手看看如何让他在目标位置自动创建dir1。
我之前曾经试过,
mkdir -r "$2"/"`basename "$1"`"/"$i"
of="$2"/"`basename "$1"`"/$i
这个选项,然而,却意外的失败了。
对于这种递归,我不是特别的懂咋回事。
高手帮我看看,如何让他在目标位置自动创建源目录,就跟fastcopy似的。
fastcopy的速度比不上dd,差的很多。
如下:
#!/bin/bash
dd-r()
{
for i in `ls "$1"`
do
if [ -d "$1"/"$i" ]
then
mkdir -p "$2"/"$i"
dd-r "$1"/"$i" "$2"/"$i"
else
dd if="$1"/"$i" of="$2"/"$i" bs=10M oflag=direct,nonblock status=progress
fi
done
}
dd-r . '/run/media/root/Seagate Expansion Drive/youku2'
——————————————————————————————————————————————————————
然而,这个脚本还是再完善一下好了。
比如,源目录是dir1,目标目录是dir2,那么高手看看如何让他在目标位置自动创建dir1。
我之前曾经试过,
mkdir -r "$2"/"`basename "$1"`"/"$i"
of="$2"/"`basename "$1"`"/$i
这个选项,然而,却意外的失败了。
对于这种递归,我不是特别的懂咋回事。
高手帮我看看,如何让他在目标位置自动创建源目录,就跟fastcopy似的。
fastcopy的速度比不上dd,差的很多。