Apakah ada cara untuk melompat kembali ke direktori kerja sebelumnya setelah melakukan cd
ke 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 cd
dan 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 cd
dan melompat kembali ke direktori tempat saya berada?
command-line
bash
nickb
sumber
sumber
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, dancd -3
untuk kembali 3 level, misalnya.sumber
Anda juga dapat menggunakan
pushd
danpopd
memanfaatkan tumpukan direktori :)Beberapa info di sini
sumber
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 denganpwd
.Jadi keduanya
cd ..
dancd -
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 adalahcd
, yang mengembalikan Anda ke folder rumah.sumber
Cara terbaik untuk melakukan ini untuk kembali adalah
cd -
, namun jika Anda ingin melewati banyak level sekaligus, Anda lebih baik menggunakancd ..
untuk satu levelcd ../..
,, untuk dua,cd ../../..
untuk tiga dan seterusnya ... cara yang baik untuk melakukannya dengan cepat adalah ini naskah:sumber
cd
skrip tidak memengaruhi shell induk. Anda harus meletakkan ini di fungsi shell agar bermanfaat.up(){ local n="$1"; while ((n--)); do path+='../'; done; cd "$path"; }