使用while / for循环和'find'命令来复制文件和目录

时间:2012-12-19 18:37:55

标签: linux find cp

我遇到了以下问题:我想创建一个脚本,将某个目录完全备份到另一个目录。我可能不会使用cp -r或任何其他递归命令。所以我在考虑使用while或for循环。需要重新上载的目录带有参数。这就是我到目前为止所做的:

OIFS="$IFS"
IFS=$'\n'

for file in `find $1`
do
  cp $file $HOME/TestDirectory
done

IFS="$OIFS"

但是当我执行它时,这就是我的终端所说的:脚本开始,文件是打字稿

1 个答案:

答案 0 :(得分:1)

试试这个:

find "$1" -type f -print0 | xargs -0 cp -t $HOME/TestDirectory

不要通过script运行脚本!

将此(shebang)添加到文件顶部:

#!/bin/bash

find "$1" -type f -print0 | xargs -0 cp -t $HOME/TestDirectory

更改脚本的权限以添加executable标志:

chmod +x myScript

运行你的脚本localy whith arguments:

./myScript rootDirectoryWhereSearchForFiles