Terminalden bir dizinde nasıl gezinebilirim?


16

Süper noob soru: cdTerminalden kullanarak dizinde aşağı gidebilirim . Çok ileri gidersem nasıl geri gidebilirim?



unix.stackexchange.com/a/81232/18237 birden çok dizin dalında çalışmak ve geri gelmek için bir "başlangıç" noktası işaretlemek için harika
Mateo

Hiçbirinizin bu kadar aptal olduğunuzu kabul etmek istemediğini biliyorum, ama bu soru sadece 1000 kez görüntülendi. yani haha benim gibi diğer insanların dışarıda olduğunu biliyorum. : P
Vince Scalia

Yanıtlar:


30

cd .. tam olarak bir dizini geri getirecektir.

Birden fazla dizin açmak için bunları bir araya getirebilirsiniz, örn. Yukarı 3

cd ../../..

cd ..Birden çok kez yazmak yerine, aşağıdaki işlevi .bashrcüstteki bir yere yerleştirmek, kaydetmek .bashrcve çalıştırmak source .bashrcveya sadece bir terminali kapatmak ve yeniden açmaktır. Şimdi, cd..tam olarak kaç kez söylediğiniz bir işleve sahipsiniz.

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

Demo:

$ cd /usr/share/backgrounds/                                                  

backgrounds:$ goUp 2

usr:$ 

Alternatif:

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

Böyle bir yöntemin sizi semboller boyunca geri getirdiğini unutmayın. Demek istediğim şu:

$ 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

Ayrıca bakınız


Biraz daha bilgi eklendi, kontrol edin.
Sergiy Kolodyazhnyy

Bu sadece olabilir for i in $(seq "$1"); do cd ..; done.
deltab

@deltab true, da yapılabilir. . . .Ama for döngüsünü simüle etmek için while + counter kullanmayı tercih ederim. Daha önce U&L sitesinde alakalı bir soru sordum
Sergiy Kolodyazhnyy
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.