निम्नलिखित 2 आदेशों के बीच अंतर क्या है?
cp -rp /dir1/*.* /dir2/
cp -rp /dir1/* /dir2/
संक्षेप में,
—
बार्ड कोपरपुड
*.*
यह करने का MS-DOS / Windows तरीका है, जबकि *
UNIX / Linux तरीका है। यूनिक्स प्रत्यय में (फाइल-एंडिंग, के बाद का हिस्सा .
- जैसे .txt
या .jpg
) वैकल्पिक है ... एमएस-डॉस .
(डॉट) और प्रत्यय में आवश्यक था, इसलिए सभी फाइलों का मिलान करने के लिए, एक का उपयोग किया गया *.*
- जबकि सभी टेक्स्ट-फाइलों का मिलान करने के लिए , एक का उपयोग करेगा *.txt
।
@BaardKopperud प्रत्यय की आवश्यकता नहीं थी, जैसे नाम
—
रुस्लान
FILENAME
या यहां तक कि नाम के साथ फाइलें हो सकती हैं FILE
।
@Ruslan लेकिन
—
जोनाथन ने
*.*
DOS में अभी भी नाम वाली फाइलों से मेल खाता है FILENAME
या FILE
, क्योंकि नाम 'वास्तव में' FILENAME.
या FILE.
(खाली एक्सटेंशन के साथ) है। यूनिक्स में, नाम 'वास्तव में' है , FILENAME
या FILE
इसलिए *.*
मेल नहीं खाएगा।
@Ruslan यह वास्तविक डॉस पर आवश्यक था, अब विंडोज़ पर आवश्यक नहीं है। पुराने दिनों में वापस , एक
—
रैंडम 832
*
ही मैच होगा FILE
, और नहीं FILE.TXT
।
.
जैसी फाइलें जो शुरू होती हैं.bashrc
) उन आदेशों में से किसी के साथ कॉपी नहीं की जाती हैं। उन फ़ाइलों को कॉपी करने के लिए आपको स्पष्ट रूप से संकेत देना चाहिए कि इसके साथ.*
, सभी फाइलों (छिपे हुए सहित) को कॉपी करने के लिए कमांड होगीcp -rp /dir1/.* /dir1/* /dir2/