./srcディレクトリ「を」./dstディレクトリにコピーする時
$ cp -RT ./src ./dst $ cp -RT ./src/ ./dst $ cp -RT ./src/ ./src/ #Rは再起コピー。上記3つは全て同じ動作 $ cp -R ./src ./dst #dstが存在する場合のみ。dstが存在しない場合はdstにsrc内の全てのファイルがコピーされてしまう $ rsync -av ./src ./dst/ #dstがあっても無くても同じ動作。
./srcディレクトリの「中身を」全て./dstディレクトリにコピーする時
$ cp -R ./src ./dst #dstが存在しない場合のみ。dstが存在する場合dstの中にsrcごとコピーされてしまう $ cp -R ./src/* ./dst #dstが存在しなおかつ-Tが使えない時はこれ(dstが存在するとsrcまでdst内に作られるのを回避) $ cp -RT ./src ./dst #Tオプションがあるので、dstが存在してもしなくてもdstの中にsrcディレクトリが作られない $ rsync -a ./src/ ./dst/ #dstが存在してもしなくてもdstの中にsrcディレクトリが作られない
結論
rsync使おう。(適宜nohupと&を付けて)
コメント