Ne zaman cp --attributes kullanırım


10

Ben şu komut satırı seçeneğini kullanmak istediğinizde temel Unix komutları bazı çalışma yapmak ve örnek almaya çalışırken --attributes-onlykomut içincp

işte cpadam sayfasından

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

Yanıtlar:


12

Diyelim ki bir dosyanız var, file1bildiğiniz özdeş öznitelikler file2( file2doğru özniteliklere sahip olduğunu biliyorsunuz ).

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

Eşleştiklerinden emin olmanın bir yolu file2, nitelikleri kontrol etmek ve manuel olarak uygulamaktır:

$ chmod 644 file1

Ancak bu, otomatikleştirmek ve senaryo yazmak için külfetlidir. Öznitelikleri almak file2ve file1programlı olarak uygulamak daha kolay olacaktır .

$ 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-onlykendi başına hiçbir şey yapmaz; diğer özellik koruma bayrakları ile birleştirilmesi gerekir. Gönderen 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, eşdeğer olduğu belgelenen yukarıda kullanılır --preserve=mode,ownership,timestamps. Dahili olarak, bunu "yalnızca kopya öznitelikleri" yerine "veri kopyalama" olarak düşünebilirsiniz, bu yüzden --preservene olursa olsun geçmek zorundasınız .


0

Akıllı telefonunuz varsa, bilgisayardan müzik dinlerken uzaktayken PC'den müzik seçebilirsiniz:

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

Bilgisayardan uzakta olduğunuzda, dizinleri silin, gelecekte kopyalamak istersiniz.

$ cp -rn ~/Music smartphone/Music

Seçtiğiniz müzik ve boş dosyaları alırsınız.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.