コピー元の権限を保持したままファイル・ディレクトリをコピーする方法についてまとめます。
[概要]
オプションpを使用する事で以下の情報を保持します。
・所有者
・グループ
・アクセス権
・更新時刻
・アクセス時刻
[構文]
cp -rp コピー元 コピー先
上記では「rオプション」をつけていますが、コピー対象がファイルの場合は不要です。
[コマンド例]
・ファイルをコピーする
cp -p hoge.txt ~/hoge.txt
・ディレクトリをコピーする
ディレクトリを対象とする場合はオプションにrを追加します。
下記は「/var/www/html/hoge.com」ディレクトリをコピーする方法例です。
cp -rp /var/www/html/hoge.com ~/hoge.com
[ディレクトリとファイルのコピー実行例と権限確認]
ec2-userのホームディレクトリにhogeディレクトリを作成し、ディレクトリ配下にtest.txtを作成します。
mkdir ~/hoge
touch ~/hoge/test.txt
hogeディレクトリとtest.txtの権限を確認します。
ls -al ~/hoge
出力結果
合計 0
drwxrwxr-x 2 ec2-user ec2-user 22 9月 19 00:58 .
drwx------ 9 ec2-user ec2-user 266 9月 19 01:03 ..
-rw-rw-r-- 1 ec2-user ec2-user 0 9月 19 00:58 test.txt
rootユーザーのホームディレクトリに上記で作成したhogeディレクトリをコピーします。
sudo su -
cp -rp /home/ec2-user/hoge ~/hoge
コピーしたhogeディレクトリの権限を確認します。
ls -al hoge
出力結果
total 4.0K
drwxrwxr-x 2 ec2-user ec2-user 22 Sep 19 00:58 .
dr-xr-x--- 10 root root 4.0K Sep 19 00:59 ..
-rw-rw-r-- 1 ec2-user ec2-user 0 Sep 19 00:58 test.txt