如何复制具有属性的目录本身?

如何复制具有属性的目录本身?

我想仅将目录的属性复制到现有目录。

例如...

# 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

我可以用以下三个命令来解决。

  • 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.使用touch命令复制时间戳

 # 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 具有相同的属性。

相关内容