2017年2月17日

ファイルの属性を保持したままコピーするには?(cpコマンド)

ファイルをコピーすると、ファイルの所有者やタイムスタンプ、アクセス権などは、元のファイルとは違ったものに変えられます。つまり、所有者はcpコマンドを実行したユーザー、アクセス権はumask値に応じたものに、タイムスタンプはコピーした日時に変わります。

$ ls -l /etc/hosts
-rw-r--r-- 1 root root 227 12月 25 18:59 /etc/hosts
$ cp /etc/hosts .
$ ls -l hosts
-rw-r--r-- 1 north north 227  2月 16 21:31 hosts

-pオプションを付けると、可能な範囲で元のファイルの属性を保持したままコピーします。

$ cp -p /etc/hosts .
$ ls -l hosts
-rw-r--r-- 1 north north 227 12月 25 18:59 hosts

日時が元のファイルのままになっているのが分かります。所有者や所有グループは、元のファイルはrootユーザーなので、一般ユーザーに置き換わってしまいます。所有者等も変えたくない場合は、rootユーザーで(sudoコマンドを使って)コピーしてください。



0 件のコメント:

コメントを投稿