什么时候使用cp --attributes-only


10

在我想对命令使用以下命令行选项时--attributes-only,对基本的Unix命令进行一些研究并尝试获取示例cp

这是从cp手册页

--attributes-only
              don't copy the file data, just the attributes

Answers:


12

假设您有一个文件,file1您应该知道该文件具有相同的属性file2(您知道它file2具有正确的属性)。

$ stat file{1,2}
  File: 'file1'
  Size: 0           Blocks: 0          IO Block: 4096   regular empty file
Device: 1fh/31d Inode: 2326956     Links: 1
Access: (0600/-rw-------)  Uid: ( 1000/   chris)   Gid: ( 1000/   chris)
Access: 2013-12-24 09:53:20.248720441 +0800
Modify: 2013-12-24 09:53:20.248720441 +0800
Change: 2013-12-24 09:53:31.011984772 +0800
 Birth: -
  File: 'file2'
  Size: 0           Blocks: 0          IO Block: 4096   regular empty file
Device: 1fh/31d Inode: 2326957     Links: 1
Access: (0644/-rw-r--r--)  Uid: ( 1000/   chris)   Gid: ( 1000/   chris)
Access: 2013-12-24 09:53:21.045382001 +0800
Modify: 2013-12-24 09:53:21.045382001 +0800
Change: 2013-12-24 09:53:21.045382001 +0800
 Birth: -

确保它们匹配的一种方法是检查file2并手动应用属性:

$ chmod 644 file1

但是,这很难自动化和编写脚本。从属性中获取属性file2并以file1编程方式将其应用会更容易。

$ cp --attributes-only --preserve file2 file1
$ stat file1
  File: 'file1'
  Size: 0           Blocks: 0          IO Block: 4096   regular empty file
Device: 1fh/31d Inode: 2326956     Links: 1
Access: (0644/-rw-r--r--)  Uid: ( 1000/   chris)   Gid: ( 1000/   chris)
Access: 2013-12-24 09:53:21.045382001 +0800
Modify: 2013-12-24 09:53:21.045382001 +0800
Change: 2013-12-24 09:57:06.320604649 +0800
 Birth: -

--attributes-only本身不做任何事情;它需要与其他属性保留标志结合使用。来自info cp

--attributes-only
     Copy only the specified attributes of the source file to the
     destination.  If the destination already exists, do not alter its
     contents.  See the `--preserve' option for controlling which
     attributes to copy.

--preserve上面使用,它被记录为等效于--preserve=mode,ownership,timestamps。在内部,您可以将其视为“不复制数据”而不是“仅复制属性”,这就是--preserve无论如何都必须通过的原因。


0

如果您拥有智能手机,则可以在远离智能手机时从PC中选择音乐:

$ cp -rn --attributes-only ~/Music smartphone/Music

当您离开PC时,请删除目录,以后再复制。

$ cp -rn ~/Music smartphone/Music

您会选择音乐和空文件。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.