Bagaimana saya bisa membatalkan perintah cd terakhir?

77

Apakah ada cara untuk melompat kembali ke direktori kerja sebelumnya setelah melakukan cdke direktori yang berbeda?

Kasus penggunaan saya adalah bahwa saya melintasi struktur direktori untuk proyek Java, dan saya berharap direktori saat ini hanya memiliki satu sub-direktori. Jadi, saya mengetik cddan menekan Tabdan Enteragak cepat. Namun, Tabgagal, seperti yang saya perkirakan salah satu sub-direktori, padahal sebenarnya ada lagi. Jadi sekarang, saya baru saja mengeksekusi cd, dan sekarang berada di direktori home saya, bukan proyek Java. Apakah ada cara untuk "membatalkan" ini cddan melompat kembali ke direktori tempat saya berada?

nickb
sumber

Jawaban:

130

Anda dapat menggunakan cd -untuk kembali ke lokasi Anda sebelumnya, di mana pun itu.

ImaginaryRobots
sumber
10
Yah ... bahkan setelah bertahun-tahun di Ubuntu saya tidak tahu itu. Terima kasih
andybleaden
19

cd - bagus untuk kembali satu tingkat, tetapi jika Anda ingin kembali beberapa tingkat, periksa skrip ini:

acd_func.sh

Itu bagus. cd --untuk melihat riwayat Anda, dan cd -3untuk kembali 3 level, misalnya.

Dekan
sumber
Wow ... tautan geocities. Sekarang ada URL yang sudah lama tidak saya lihat. <masukkan Obi-wan JPG>
Michael Butler
1
yang inti dari komentar ini. <jpg Yoda insert>
Donbhupi
15

Anda juga dapat menggunakan pushddan popdmemanfaatkan tumpukan direktori :)

Beberapa info di sini

Sinan Bolel
sumber
5

Selain itu, cd ..dapat membawa Anda kembali ke direktori induk direktori kerja dan kemudian jika perlu perintah dapat diulang sampai Anda mencapai tempat yang Anda inginkan. Bahkan, setiap kali itu membangkitkan itu akan membawa Anda kembali melalui pohon direktori, yang pada akhirnya akan selesai di /(direktori root) jika Anda terus mengulangi perintah.

Dalam Sebaliknya , cd -justru membuat direktori sebelumnya kerja direktori kerja saat ini, (yang dikenal sebagai .), dan yang lokasi yang sebenarnya di filesystem dapat ditemukan dengan pwd.

Jadi keduanya cd ..dan cd - dapat berguna dalam keadaan yang berbeda saat menavigasi pohon direktori, meskipun mereka berbeda dalam hal yang disebutkan di atas. Mungkin perintah yang paling berguna setelah bersenang-senang bereksperimen dengan dua perintah ini adalah cd, yang mengembalikan Anda ke folder rumah.


sumber
-1

Cara terbaik untuk melakukan ini untuk kembali adalah cd -, namun jika Anda ingin melewati banyak level sekaligus, Anda lebih baik menggunakan cd ..untuk satu level cd ../..,, untuk dua, cd ../../..untuk tiga dan seterusnya ... cara yang baik untuk melakukannya dengan cepat adalah ini naskah:

#!/bin/bash
printf "Number of folders to move back: "
read TIMES
BACKCHARS=../
BACK=$(for i in `seq $TIMES`; do printf $BACKCHARS; done)
cd $BACK
pengguna258456
sumber
1
Menjalankan cdskrip tidak memengaruhi shell induk. Anda harus meletakkan ini di fungsi shell agar bermanfaat.
wjandrea
seperti ini:up(){ local n="$1"; while ((n--)); do path+='../'; done; cd "$path"; }
wjandrea