मैं टर्मिनल से एक निर्देशिका कैसे नेविगेट करूं?


16

सुपर नॉब प्रश्न: मैं cdटर्मिनल से निर्देशिका का उपयोग करके नीचे नेविगेट कर सकता हूं । यदि मैं बहुत दूर जाता हूं तो मैं कैसे वापस नेविगेट कर सकता हूं?



unix.stackexchange.com/a/81232/18237 कई निर्देशिका शाखाओं में काम करने के लिए महान, और वापस आने के लिए एक "शुरुआती" बिंदु को चिह्नित करना
Mateo

मुझे पता है कि आप में से कोई भी यह स्वीकार नहीं करना चाहता है कि आप इस मूर्ख थे, लेकिन यह सवाल सिर्फ 1000 बार देखा गया। इतना haha मैं अन्य लोगों को पता की तरह मुझे वहाँ बाहर हैं। : पी
विंस स्कैलिया

जवाबों:


30

cd .. आपको वापस एक निर्देशिका में लाएगा।

आप एक साथ कई निर्देशिकाओं में जा सकते हैं, जैसे 3

cd ../../..

cd ..कई बार टाइप करने के बजाय , आप क्या कर सकते हैं कि फ़ंक्शन को अपने .bashrcशीर्ष पर कहीं रखें, सहेजें .bashrc, और चलाएं source .bashrcया बस बंद करें और किसी टर्मिनल को फिर से खोलें। अब, आपके पास एक फ़ंक्शन है जो cd..आपको कितनी बार यह बताता है।

function goUp {
  num=$1
  while [ $num -ne 0  ];do
    cd ..
    num=$((num-1))
  done
}

डेमो:

$ cd /usr/share/backgrounds/                                                  

backgrounds:$ goUp 2

usr:$ 

वैकल्पिक रूप से:

goup(){ 
    cd $(n=$1 awk 'BEGIN{
        for(i=1;i<=ENVIRON["n"];i++) 
            printf "../"}';) 
}

ध्यान दें कि इस तरह की विधि आपको सिमिलिंक के साथ वापस लाती है। यहाँ मेरा मतलब है:

$ namei "$PWD" 
f: /home/user/VirtualBox VMs/CentOS
 d /
 d home
 d user
 l VirtualBox VMs -> /mnt/ubuntu/vboxvms
   d /
   d mnt
   d ubuntu
   d vboxvms
 d CentOS

$ goup 2
$ pwd
/home/user

यह सभी देखें


कुछ और जानकारी जोड़ी, इसे जांचें।
सर्गी कोलोडियाज़नी

वह बस हो सकता है for i in $(seq "$1"); do cd ..; done
डेल्टैब

@ डल्टैब सच, के रूप में अच्छी तरह से किया जा सकता है। । । । लेकिन मैं लूप के लिए अनुकरण करने के लिए + काउंटर का उपयोग करना पसंद करता हूं। मैंने U & L साइट पर इससे पहले एक प्रासंगिक प्रश्न पूछा है
सर्जियो कोलोडियाज़नी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.