CentOS 7 で確認。cp と mv のバージョンは GNU coreutils 8.22。
ファイル/ディレクトリを属性を保ってコピー/移動
cp -a
mv
cp -r は属性を保存せずディレクトリをコピー。
ディレクトリを既存のディレクトリにコピー/移動しようとすると、コピー/移動元ディレクトリがコピー/移動先ディレクトリの中にコピー/移動される。
ディレクトリを既存のディレクトリにコピー/移動
-T
cp では -a か -r をつける。
移動先ディレクトリの中にファイルがある場合、cp ではファイルを追加または上書き、mv ではエラー。
コピー/移動したファイルを表示
-v
SELinux のコンテキストをコピー/移動先に合わせる
-Z
コピー/移動先に同じ名前のファイルがあったら処理を尋ねる
-i
コピー/移動先に同じ名前のファイルがあったらバックアップを作成
-b
デフォルトではファイルの末尾に ~ がつく。これを変更するには -S <接尾辞> をつける。
コピー/移動先に同じ名前の新しいファイルがあったらコピー/移動しない
-u
コピー/移動先に同じ名前のファイルがあったらコピー/移動しない
-n