プロパティを使用してディレクトリ自体をどのようにコピーできますか?

プロパティを使用してディレクトリ自体をどのようにコピーできますか?

ディレクトリの属性だけを既存のディレクトリにコピーしたいと思います。

たとえば...

# 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 と同じ属性を持ちます。

関連情報