एक कमांड के तर्क के रूप में "-" का क्या अर्थ है?


9

मुझे यह लिंक एक चरण में tgz खोलने के तरीके के बारे में मिला ।

gzip -dc target.tar.gz | tar xf -

'-' का क्या अर्थ है?


1
इसके अलावा, टार के अधिकांश संस्करण अब देशी रूप से gzip और bzip का समर्थन करते हैं। एक tar xfz target.tar.gzgzip- एड टार फाइल के लिए और bzip के लिएtar xfj target.tar.bz2
खाता

जवाबों:


18

इसका -मतलब stdinया के लिए फ़ाइल नाम तर्क में उपयोग करने के लिए एक सामान्य सम्मेलन है stdout; tarउसी सम्मेलन के बाद। आदमी पृष्ठ से:

   -f, --file [HOSTNAME:]F
          use archive file or device F (default "-", meaning stdin/stdout)

1
यह केवल एक सम्मेलन है; आपको विशेष कमांड के लिए मैनपेज को पढ़ने की जरूरत है कि -इसका क्या मतलब है। स्टडिन / स्टडआउट अब तक का सबसे आम अर्थ है, लेकिन अन्य हैं। उदाहरण के लिए, इसके कुछ संस्करणों का envअर्थ है "खाली वातावरण से शुरू करें"।
cjm

0

एक और सम्मेलन झंडे के अंत, और फ़ाइल नामों की शुरुआत का संकेत देने के लिए '-' का उपयोग करना है। उस व्यवहार को RedHat 4 पर गेटटॉप (3) में बनाया गया है, कम से कम। मुझे Red Hat मैन पेज नहीं मिल रहा है जो एंड-ऑफ-दलील को इंगित करने के लिए '-' का उपयोग करता है, वे सभी ऐसा करने के लिए '-' का उपयोग करने लगते हैं। उस संदर्भ में awk man पेज में '-' है, इसलिए हो सकता है कि केवल पुराने "हीरलूम" यूनिक्स या सोलारिस कमांड '-' का उपयोग तर्क के रूप में करें - फ़ाइल नाम विभाजक।


3
--विकल्पों के अंत का संकेत देता है, इसलिए बाद में आने वाली हर चीज एक ऑपरेंड है। -एक विकल्प नहीं है, इसलिए यह और उसके बाद आने वाली हर चीज एक ऑपरेंड है। यह मानक व्यवहार है । कई आदेशों के लिए, जैसे tar, ऑपरेंड का -मतलब है मानक इनपुट या आउटपुट । कई गोले पर, set - -aके बराबर है set -- -a, और कुछ पुराने बॉर्न के गोले set - -aपर केवल स्वीकार किए जाते हैं, लेकिन यह एक setअंतर्निहित अपवाद था।
गिल्स एसओ- बुराई को रोकना '

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