Kembali ke direktori sebelumnya di shell

306

Apakah ada cara untuk kembali ke direktori sebelumnya yang menggunakan bash, tcsh tanpa menggunakan pushd / popd? Saya ingin mengetikkan sesuatu seperti "kembali" dan kembali ke direktori sebelumnya.

Sunting:

"cd -" berfungsi, tetapi hanya untuk direktori saat ini dan sebelumnya. Adakah saya bisa kembali ke direktori sebelumnya sebelumnya seperti bagaimana Anda dapat kembali di browser web?

Salam

Don Ch
sumber
1
Seperti disebutkan di bawah, Anda dapat melakukannya menggunakan "pushd" dan "popd".
blueyed
8
Hanya catatan tambahan "cd -" yang ditujukan ke direcotry default pengguna (/ home / username)
sdaffa23fdsf
1
Jawaban terbaik imho: unix.stackexchange.com/a/180640/158177 menyediakan cd -1 hingga cd -9 yang saya pikir adalah apa yang diminta OP
Titou

Jawaban:

413

cd - (kembali ke direktori sebelumnya)

Jika Anda ingin dapat pergi ke direktori lain sebelumnya, ini tidak mungkin di luar kotak. Tetapi periksa skrip dan instruksi ini:

Sejarah direktori yang dikunjungi dalam BASH

Perintah cd berfungsi seperti biasa. Fitur baru adalah sejarah dari 10 direktori terakhir dan perintah cd diperluas untuk menampilkan dan mengaksesnya. cd - (atau cukup menekan ctrl + w) menunjukkan histori. Di depan setiap nama direktori Anda melihat nomor. cd -num dengan nomor yang Anda inginkan melompat ke direktori yang sesuai dari sejarah.

Snark
sumber
20
juga pushd dan popd mungkin berguna
lorenzog
6
@lorenzog: lydonchandra, dalam pertanyaannya, mengatakan "tanpa menggunakan pushd / popd"
Snark
@ ogc-nick untuk menggunakan ini cd --dengan cara seperti menu, Anda harus menggunakan skrip yang disebutkan
Ram
1
@ ogc-nick tidak tidak. The --hanya memisahkan perintah dan pilihan yang dari parameter (lihat posting ini ). Karena tidak ada argumen yang mengikuti setelahnya --, perintah terakhir adalah cdyang beralih ke direktori home Anda. Itu mungkin direktori kedua sebelumnya, tapi itu hanya kebetulan.
Griddo
wow gula sintaksis banyak
BugWhisperer
24

Anda juga bisa menggunakan variabel cd $OLDPWD. Ini juga dapat digunakan dalam skrip shell.

Ales Dolecek
sumber
6
$ OLDPWD mengelola direktori terakhir tempat Anda berasal yang bagus untuk skrip. Saya menggunakan $ OLDPWD dengan perintah cp. Misalnya cp -v $ OLDPWD / file.
Neil Wightman
1

Untuk Windows (termasuk Node.js commads case console prompt) tidak berfungsi cd - Untuk memindahkan Anda ke atas satu direktori berfungsi

cd ..
IgorBeaz
sumber
3
cd .. pindah ke direktori induk, yang bukan merupakan subjek pertanyaan.
ViaSat
1
Ini pesta di sini, bukan Windows.
Timo
0

Saya menemukan cara termudah untuk melakukannya adalah dengan mengedit kekuatan .bashrc ini: https://github.com/wting/autojump . Anda bisa "menandai" folder yang Anda navigasikan, memberi mereka nama singkatan yang mudah diingat (saran saya; yang sebelumnya tidak ada dalam dokumen), seperti Pics untuk Gambar, dll. 'Lompatan' mengembalikan Anda ke folder yang Anda inginkan. 'ditandai,' dan 'tanda' mencantumkan folder yang telah Anda tambahkan ke 'tumpukan' (seperti dengan pushd dan pop d), dengan keuntungan tambahan bahwa tanda Anda tetap sama dari satu sesi ke sesi berikutnya, tak terbatas iklan.

Saya belum mencobanya di lebih dari satu harddisk, tetapi hasilnya harus sama dengan yang menggunakan volume tunggal.

S Wright

Steve Wright
sumber
-1

Jika Anda telah turun pohon direktori dan ingin naik kembali, cd ..adalah favorit pribadi saya. Anda dapat melompat-lompat di dalam cabang pohon dengan cukup mudah dengan cd ..naik satu direktori dan cd ../..dua dan cd ../../..tiga, dll. Anda juga dapat naik dan turun cabang yang berbeda dengan perintah yang sama, seperti cd ../../exampleatau cd ../../../example/exampledll. Untuk sakelar sederhana yang berbunyi bolak-balik antara direktori, cd -atau $OLDPWDtaruhan terbaik Anda, seperti yang disebutkan lainnya.

Adam Erickson
sumber
Adakah alasan khusus mengapa ini diturunkan? Ini berisi jawaban yang benar, meskipun mungkin bukan satu-satunya.
Adam Erickson
-2

Saya pikir cd ..mungkin bisa membantu. Jika Anda melakukan ls -adi direktori mana pun Anda akan melihat bahwa ada dua entri: satu bernama "." dan lainnya bernama ".."; titik tunggal adalah referensi ke direktori tempat Anda berada, sedangkan titik ganda adalah direktori sebelumnya di jalur.

Xente
sumber
22
..bukan direktori sebelumnya, itu hanya direktori induk.
Der Hochstapler
4
Jawaban ini memberikan informasi yang berguna bahkan jika itu tidak menjawab pertanyaan dengan benar. Oleh karena itu tidak ada gunanya menumpuk suara negatif di atasnya, saya memilih untuk upaya.
Titou
1
Ini bukan Berkley, tidak ada penghargaan khusus hanya untuk partisipasi
nathanchere