いつcp --attributes-onlyを使用しますか


10

基本的なUNIXコマンドにいくつかの研究をしていると私は、次のコマンドラインオプションを使用したい場合などを取得しようとしている--attributes-onlyコマンドのためにcp

こちらはcpmanページから

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

回答:


12

file1と同じ属性を持つ必要があることがわかっているファイルがあるとしますfile2file2正しい属性があることがわかっています)。

$ 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: -

それらが一致することを確認する1つの方法は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から離れているときにPCから音楽を選択できます。

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

PCから遠く離れている場合は、ディレクトリを削除して、将来的にコピーする必要があります。

$ cp -rn ~/Music smartphone/Music

選択した音楽と空のファイルを取得します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.