ディレクトリの属性だけを既存のディレクトリにコピーしたいと思います。
たとえば...
# mkdir /var/tmp/target-dir
# ls -ald /var/mail
drwxrwsr-x 2 root mail 4096 4月 27 2018 /var/mail
私のイメージは次のとおりです。 cpコマンドに--attributes-onlyオプションがあることがわかりましたが、予想したものとは異なります。
# cp --attributes-only /var/mail /var/tmp/target-dir
cp: -r not specified; omitting directory '/var/mail'
/var/mailディレクトリの内容ではなく、属性だけをコピーしたいと思います。
この問題を解決する方法はありますか?
答え1
次の3つのコマンドで解決できます。
chmod --reference=/var/mail /var/tmp/target-dir
chown --reference=/var/mail /var/tmp/target-dir
touch --reference=/var/mail /var/tmp/target-dir
コピーしたい作者表示です。
# ls -ald /var/mail
drwxrwsr-x 2 root mail 4096 4月 27 2018 /var/mail
これがターゲットディレクトリです。 (権限、所有者、タイムスタンプが異なります)
# ls -ald /var/tmp/target-dir
drwxrwxr-x 2 user1 user1 4096 7月 16 07:09 /var/tmp/target-dir
1. chmod コマンドを使用した権限のコピー
# sudo chmod --reference=/var/mail /var/tmp/target-dir
# ls -ald /var/tmp/target-dir
drwxrwsr-x 2 user1 user1 4096 7月 16 07:09 /var/tmp/target-dir
2. chownコマンドを使用して所有者をコピーします。
# sudo chown --reference=/var/mail /var/tmp/target-dir
# ls -ald /var/tmp/target-dir
drwxrwsr-x 2 root mail 4096 7月 16 07:09 /var/tmp/target-dir
3.タッチコマンドを使用してタイムスタンプをコピーします。
# sudo touch --reference=/var/mail /var/tmp/target-dir
# ls -ald /var/tmp/target-dir
drwxrwsr-x 2 root mail 4096 4月 27 2018 /var/tmp/target-dir
最後に、/var/tmp/target-dir は /var/tmp/mail と同じ属性を持ちます。