टर्मिनल में निर्देशिकाओं को टाइप करते समय बेहतर विचार कैसे करें?


8

मैं वर्तमान में एक मैक का उपयोग कर रहा हूं और टर्मिनल का उपयोग करना सीख रहा हूं, लेकिन यह सवाल लिनक्स सिस्टम पर भी लागू होता है।

मैं पूछना चाहता हूं, जब टर्मिनल / कमांड लाइन में रास्ते टाइप करते हैं, तो क्या टर्मिनल के भीतर एक रास्ता है ताकि निर्देशिकाओं के बारे में बेहतर दृष्टिकोण हो?

उदाहरण के लिए, मैं एक विशेष निर्देशिका में सीडी करना चाहता हूं। एक बार जब मैंने पता लिखना शुरू कर दिया, तो क्या प्रत्येक निर्देशिका में मूल रूप से ls करने का कोई तरीका है? अगर उदाहरण के लिए मैं एक डायरेक्टरी से दूसरी डायरेक्टरी में फाइल कॉपी करना चाहता हूं और 2 एब्सोल्यूट पाथ टाइप करना चाहता हूं, तो क्या मुझे 2 एब्स याद करने की जरूरत है? मुझे पता है कि टैब दबाने से स्वतः पूर्ण होने में मदद मिलती है, लेकिन क्या होगा अगर मुझे पहला अक्षर नहीं पता है?

अभी मैं इसके लिए फाइंडर का उपयोग करने पर भरोसा करता हूं, लेकिन मैं ऐसे लोगों की कल्पना करता हूं जो विशेष रूप से टर्मिनल का उपयोग करते हैं और बेहतर तरीका है।

धन्यवाद !

जवाबों:


9

Tabठीक वही है जो आपको चाहिए। यदि आप tabदो बार हिट करते हैं , तो यह आपको सभी संभावित पूर्णियां दिखाएगा:

$ cd /usr/  ## Hit tab twice here
bin/     include/ lib64/   sbin/    src/     
games/   lib/     local/   share/   var/     

आपको पहले अक्षर को जानने की आवश्यकता नहीं है, दूसरा tabआपको सब कुछ दिखाएगा।


<kbd> टैब </ kbd> विंडोज कमांड लाइन पर भी लागू होता है।
हिंद-डी

और linux पर bash / zsh कम से कम
linuxdev2013

5

कुछ शब्दों के बारे में अधिक Tab

Tabउपलब्ध लोगों के बीच एक आंशिक लिखित आदेश (या एक विकल्प) को पूरा करने के लिए बहुत अच्छा है जैसा कि एक अन्य उत्तर में टेर्डन द्वारा रेखांकित किया गया है ।

एक कमांड को पूरा करने के लिए एक बार दबाने केTab लिए पर्याप्त है । पूरी सूची फिर से प्रेसTab करने के लिए।
इसके अलावा आप के व्यवहार को कस्टम करनाTab पसंद कर सकते हैं । उदाहरण के लिए उन 2 लाइनों का प्रयास करें:

bind "TAB:menu-complete"
bind "set show-all-if-ambiguous on"

पहला Tabआपको सभी संभावनाओं को दिखाता है और पहली उपलब्ध के साथ आदेश को स्वत: पूर्ण करता है, दूसरी बार जब आप Tab इसे दबाते हैं तो यह उनके बीच चक्र शुरू कर देगा।

टिप्पणियाँ:

आप अपनी स्वयं की बैश पूर्ण स्क्रिप्ट लिख सकते हैं , नियमों के विकल्प के साथ ...
लेख में कुछ संकेत से अधिक हैं पूरा करने के लिए एक परिचय : पूरा करने के लिए पहला भाग ठिकानों के लिए और दूसरा अपनी स्क्रिप्ट लिखने के लिए है।

आपको दिलचस्प bind completeऔर नीचे दिए गए संदर्भ मिल सकते हैं ।

दूसरा उत्तर: पूर्ण पथ और शॉर्टकट

प्रत्येक कमांड में पूर्ण पथ (पूर्ण) लिखना हमेशा अनिवार्य नहीं होता है, भले ही आप एक पटकथा लिखते हों और आप ट्रोजन हॉर्स के रूप में शोषण के जोखिम से बचना चाहते हों ।

कुछ कर रहे हैं शॉर्टकट , तेजी के रूप में जाने के लिए उदाहरण के लिए, Tab, , , और एक सभी चर वर्तमान खोल में परिभाषित किया। Alt+..~

नीचे कुछ उदाहरण दिए गए हैं ( .मतलब यहां और घर के~ माध्यम से ):

किसी फ़ाइल को वर्तमान निर्देशिका में कॉपी करने के लिए लिखना पर्याप्त है । अपनी निर्देशिका से किसी फ़ाइल को वर्तमान निर्देशिका में कॉपी करने के लिए आप लिख सकते हैं । वर्तमान निर्देशिका से फ़ाइल को कॉपी करने के लिए पिछले एक अंतिम इतिहास में संग्रहीत अंतिम कमांड लिखते हैं। । यदि फिर से दबाया जाता है तो यह बैश इतिहास में पिछली स्थिति में से एक के साथ पाए गए विकल्प को प्रतिस्थापित करेगा। एक उदाहरण के साथ और अधिक सरल है:cp /my/far/far/away/myfile .
homecp ~/myfile .
cp myfile $OLDPWD
Alt+.

mkdir OldDir
mkdir NewDir
cd # here press `Alt + .` and it will autocomplete with NewDir
   # press `Alt + .` again and you will see "cd OldDir"

संदर्भ:

  • पूरा करने के लिए एक परिचय : भाग 1 और भाग 2
  • help bind, हाँ मदद क्योंकि bindएक अंतर्निहित कमांड है
  • help completeऔर complete -p | lessएक आरामदायक प्रारूप में एक सूची है।
  • help pushdऔर help popdस्टैक से एक निर्देशिका को पुश और पॉप करने के लिए।
  • प्रोग्रामेबल कम्पलीट बिलियन

2

और एक नज़र है Midnight Commander- एक पाठ मोड फ़ाइल प्रबंधक जो वास्तव में बहुत अच्छा है। आप दो पैनलों में नेविगेट कर सकते हैं, एक बार एक फ़ाइल जो एक साधारण F5 स्थित है, उसे कॉपी करता है। F6 इसे स्थानांतरित करता है ... मैं टर्मिनलों का बहुत उपयोग करता हूं, यदि अधिकांश समय नहीं, लेकिन मैं mc(पैकेज का सामान्य नाम) के बिना नहीं रह सकता ।

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