Kapan saya menggunakan cp --attributes-only

10

Melakukan beberapa studi tentang perintah Unix dasar dan mencoba untuk mendapatkan contoh ketika saya ingin menggunakan opsi baris perintah berikut --attributes-onlyuntuk perintahcp

ini dari cphalaman manual

--attributes-only
              don't copy the file data, just the attributes
Tanya dan Belajar
sumber

Jawaban:

12

Katakanlah Anda memiliki file,, file1yang Anda tahu harus memiliki atribut yang identik file2(Anda tahu yang file2memiliki atribut yang benar).

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

Salah satu cara untuk memastikan bahwa mereka cocok adalah dengan pergi dan memeriksa file2dan secara manual menerapkan atribut:

$ chmod 644 file1

Ini, bagaimanapun, rumit untuk mengotomatisasi dan skrip. Akan lebih mudah untuk mendapatkan atribut dari file2dan menerapkannya secara file1terprogram.

$ 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-onlytidak melakukan apa pun dengan sendirinya; itu perlu dikombinasikan dengan bendera pelestarian atribut lainnya. Dari 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.

--preservedigunakan di atas, yang didokumentasikan sebagai setara dengan --preserve=mode,ownership,timestamps. Secara internal, Anda dapat menganggap ini sebagai "jangan salin data" daripada "salin atribut saja", itulah sebabnya Anda harus lulus --preserve.

Chris Down
sumber
0

Jika Anda memiliki ponsel cerdas, Anda dapat memilih musik dari PC, saat Anda jauh dari itu:

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

Ketika Anda jauh dari PC, hapus direktori, Anda ingin menyalin di masa depan.

$ cp -rn ~/Music smartphone/Music

Anda dapat memilih musik dan mengosongkan file.

step.artur87
sumber