Bagaimana cara menavigasi satu direktori dari terminal?

16

Pertanyaan noob super: Saya dapat menavigasi ke dalam direktori menggunakan cddari terminal. Bagaimana cara saya menavigasi kembali jika saya pergi terlalu jauh?

Vince Scalia
sumber
3
Kemungkinan duplikat Pergi ke direktori induk file dengan cd?
DJCrashdummy
unix.stackexchange.com/a/81232/18237 bagus untuk bekerja di banyak cabang direktori, dan menandai titik "awal" untuk kembali ke
Mateo
Saya tahu tidak ada di antara Anda yang mau mengakui bahwa Anda sebodoh ini, tetapi pertanyaan ini baru saja menyentuh 1.000 pandangan. jadi haha saya tahu orang lain seperti saya ada di luar sana. : P
Vince Scalia

Jawaban:

30

cd .. akan membawa Anda kembali tepat satu direktori ke atas.

Anda dapat merangkai bersama mereka untuk naik beberapa direktori, misalnya naik 3

cd ../../..

Alih-alih mengetik cd ..berkali-kali, yang bisa Anda lakukan adalah menempatkan fungsi di bawah .bashrcdi suatu tempat di bagian atas, menyimpan .bashrc, dan menjalankan source .bashrcatau hanya menutup dan membuka kembali terminal. Sekarang, Anda memiliki fungsi yang tidak cd..persis berapa kali Anda mengatakannya.

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

Demo:

$ cd /usr/share/backgrounds/                                                  

backgrounds:$ goUp 2

usr:$ 

Kalau tidak:

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

Perhatikan bahwa metode tersebut membawa Anda kembali ke sepanjang symlink. Inilah yang saya maksud:

$ 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

Lihat juga

Sergiy Kolodyazhnyy
sumber
Menambahkan beberapa info lagi, periksa.
Sergiy Kolodyazhnyy
Itu bisa saja adil for i in $(seq "$1"); do cd ..; done.
deltab
@dabab benar, bisa dilakukan juga. . . Tapi saya lebih suka menggunakan while + counter untuk mensimulasikan for for. Saya telah mengajukan pertanyaan yang relevan sebelumnya di situs U&L
Sergiy Kolodyazhnyy