कमांड-लाइन से सभी प्रकार की संग्रहीत फ़ाइलों को जल्दी से कैसे निकालें?


11

कई बार मुझे कॉमाड-लाइन का उपयोग करके विभिन्न प्रकार की संग्रहीत फ़ाइलों को निकालने की आवश्यकता होती है। लेकिन हर समय नहीं, मुझे किसी भी प्रकार के फ़ाइल संग्रह के लिए सटीक कमांड याद है। इसलिए, मुझे समय बर्बाद करना होगा और फिर से खोजना होगा। इससे कैसे बचा जा सकता है?


1
यह भी देखें atool, जिसके साथ आप कई प्रारूप निकाल / पैक कर सकते हैं: इस प्रश्न के लिए मैंने जो उत्तर दिया है, उसे देखें: कमांड-लाइन-आर्काइव-मैनेजर-एक्सट्रैक्टर । यह प्रश्न भी उस एक का एक डुप्लिकेट है, इसलिए उन्हें संभवतः विलय कर दिया जाना चाहिए।

जवाबों:


15

dtrxआदेश है कि इस मामले पर अपने दोस्त है।

यह किसी भी संग्रह फ़ाइल को उसके प्रकार का अनुमान लगाकर अनलॉक्ड कर देता है। यह भी सुनिश्चित करेगा कि आपके द्वारा अनकम्प्रेस की गई फाइलें एक नई निर्देशिका में डाल दी जाएंगी; फ़ाइलों के टन के साथ वर्तमान काम dir को गड़बड़ाने से बचें।

इंस्टॉल

sudo aptitude install dtrx

प्रयोग

dtrx stuff.zip

11

आप निम्नलिखित शेल स्क्रिप्ट का उपयोग कर सकते हैं (मैंने इसे नाम दिया है extractऔर मैंने इसे डाला है ~/bin):

#! / Bin / bash

अगर [$ # -lt 1]; तब;
  प्रतिध्वनि "उपयोग:` बेसन $ 0` फ़ाइलें "
  बाहर निकलें 1
फाई

# मुझे https://unix.stackexchange.com/a/168/37944 
# पर निम्न फ़ंक्शन मिला, जिसे मैंने इसे थोड़ा सुधार दिया। इस विचार के लिए sydo को बहुत धन्यवाद ।
अर्क () {
    $ @ में arg के लिए; करना
        अगर [-f $ arg]; फिर
            मामला $ arg में
                * .tar.bz2) टार xjf $ arg ;;
                * .tar.gz) tar xzf $ arg ;;
                * .bz2) bunzip2 $ arg ;;
                * .gz) गनज़िप $ arg ;;
                * .tar) टार xf $ arg ;;
                * .tbz2) टार xjf $ arg ;;
                * .tgz) टार xzf $ arg ;;
                *। ज़िप) $ $ ungip ;;
                * .Z) $ अर्क;
                * .rar) rar x $ arg ;; # 'आरएआर' लगाना होगा
                * .jar) जार -xvf $ arg ;; # 'jdk' इंस्टॉल करना होगा
                *) प्रतिध्वनि "'$ arg' अर्क के माध्यम से नहीं निकाली जा सकती ()" ;;
            esac
        अन्य
            गूंज "'$ arg' एक वैध फ़ाइल नहीं है"
        फाई
    किया हुआ
}

$ @ निकालें

स्क्रिप्ट को निष्पादन योग्य बनाना न भूलें:

chmod +x ~/bin/extract

उपयोग:

file_1 file_2 निकालें ... file_n 

अच्छा है। मुझे लगता है कि ज़िप कभी-कभी वर्तमान निर्देशिका में निकलता है, जब मैं चाहता हूं कि यह अपनी खुद की उपनिर्देशिका हो। अनज़िप -d का उपयोग basename $argकरने से मदद मिल सकती है।
crafter
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.