टार कमांड में -f पैरामीटर क्या करता है


19

उपयोग करते समय tarमैं हमेशा -fमापदंडों में शामिल होता हूं लेकिन मुझे पता नहीं क्यों।

मैंने आदमी को देखा और यह कहा;

-f, --file [HOSTNAME:]F

use archive file or device F (default
"-", meaning stdin/stdout)

लेकिन सच कहूं तो मुझे इसका कोई मतलब नहीं है। क्या कोई इस पर कोई प्रकाश डाल सकता है?

जवाबों:


20

-fविकल्प बताता है tarकि अगले तर्क संग्रह का फ़ाइल नाम, या मानक आउटपुट अगर यह होता है है -


आह, चीयर्स! मुझे लगता है कि फ़ाइल नाम अगले वैसे भी प्रकट होता है तो यह -f कुछ और विशेष कर रहा था!
टॉबी

6
@ टॉबी: मुझे संदेह है कि यह ऐतिहासिक कारणों से है। "टार" "टेप आर्काइव" के लिए छोटा है, और संभवतः मूल संस्करणों ने उन सभी अभिलेखागार के लिए डिस्क फ़ाइलों का उपयोग करने वाले लोगों की कल्पना नहीं की है।
डेविड थॉर्नले

8

काफी सरल। यदि आप -fपैरामीटर को छोड़ देते हैं , तो आउटपुट stdout में पारित हो जाता है:

gammy@denice:/tmp/demo$ tar -c a b c
a0000644000175000017500000000000011435437117010223 0ustar  gammygammyb0000644000175000017500000000000011435437117010224 0ustar  gammygammyc0000644000175000017500000000000011435437117010225 0ustar  gammygammygammy@denice:/tmp/demo$ ls
a  b  c
gammy@denice:/tmp/demo$ 

...क्या झंझट है!

-f-Parameter (जैसा कि आप उद्धृत) एक फ़ाइल नाम (और वैकल्पिक एक होस्ट नाम), इसलिए यह बाद पहला तर्क उत्पादन फ़ाइल नाम है उम्मीद:

gammy@denice:/tmp/demo$ tar -cf output.tar a b c
gammy@denice:/tmp/demo$ ls
a  b  c  output.tar
gammy@denice:/tmp/demo$ 

5
> यदि आप -f पैरामीटर को उत्पीड़ित करते हैं, तो आउटपुट को stdout में पास किया जाता है । यह जीएनयू टार के साथ सच है, लेकिन मुझे याद है कि सोलारिस पर डिफ़ॉल्ट एक टेप डिवाइस ( /dev/rmt0या ऐसा कुछ) था।
क्रिश्चियन सियुपिटु

* omit ("अत्याचार नहीं")
श्री ईथरनेट

1
यहां तक ​​कि GNU tarनो-डॉक्यूमेंटेड TAPEवैरिएबल का सम्मान करता है । उदाहरण के लिए, कोशिश करें TAPE=/tmp/tape.tar tar cv /etc/h*और फिर ls -l /tmp/tape.tar
रोज़ा

2

यह आपको उस फ़ाइल या डिवाइस को निर्दिष्ट करने देता है जिसके साथ आप काम करने जा रहे हैं। अन्य आपूर्ति किए गए झंडे के आधार पर या तो इससे चीजों को बनाना, अपडेट करना या निकालना। उदाहरण के लिए:

# Create a tar file with the contents of somepath/
tar -cvf filename.tar somepath/

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