जब मैं cp --attributes-only का उपयोग करता हूं


10

बुनियादी यूनिक्स आदेशों पर कुछ अध्ययन कर रहे हैं और एक उदाहरण प्राप्त करने की कोशिश जब मैं निम्नलिखित आदेश पंक्ति विकल्प का उपयोग करना चाहते --attributes-onlyआदेश के लिएcp

यहाँ cpमैन पेज से है

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

जवाबों:


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

यदि आपके पास एक स्मार्टफोन है, तो आप पीसी से संगीत का चयन कर सकते हैं, जब आप इससे दूर हैं:

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

जब आप पीसी से दूर होते हैं, निर्देशिकाओं को हटाते हैं, तो आप भविष्य में प्रतिलिपि चाहते हैं।

$ cp -rn ~/Music smartphone/Music

आपको चुनिंदा संगीत और खाली फाइलें मिलती हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.