Saat ini saya menghabiskan banyak waktu kerja saya bergerak bolak-balik antara dua jalur yang sangat jauh di bawah pohon dan beralih dari satu sama lain di root. Itu mengejutkan saya bahwa hidup saya akan jauh lebih mudah jika ada argumen untuk cd
yang membawa pengguna ke direktori terakhir mereka.
Yaitu, jika saya di:
/etc/foo/bar/baz/moo
lalu ketik:
cd /var/lib/fubarred_app/blargh/logs
Saya ingin dapat kembali ke direktori pertama tanpa harus mengetikkan seluruh path lagi.
Kunci memori tidak memotongnya karena saya menggunakan cukup perintah di setiap tempat yang sama sulitnya untuk kembali dan menemukan jalur yang saya inginkan seperti juga mengetiknya sendiri.
Apakah ada perintah singkat yang akan membiarkan saya pergi ke direktori sebelumnya?
bazmoo
" atau "blarghlog
" saat diminta :)Jawaban:
Perintah
akan melakukan swap yang Anda butuhkan pada sebagian besar shell utama, varian yang lebih lama adalah
yang akan menggunakan variabel lingkungan yang berisi direktori kerja sebelumnya.
The man page POSIX untuk
cd
menyebutkan:sumber
cd $OLDPWD
untuk ini. Sangat menyenangkan bahwa shell utama menawarkan bentuk yang jauh lebih pendek.pushd
, dan setidaknya itu adalah builtin dibash
.Selain jawaban bryan, itu layak disebut ada juga
pushd
danpopd
, yang membangun direktori seperti tumpukan. Ini juga tersedia di Windows NT; namun, ini tidak tersedia di semua shell.Sebagai contoh, kita dapat pergi ke tiga direktori berbeda, dan Anda akan selalu melihat tumpukan Anda saat menelepon
pushd
:Dan ketika Anda menelepon
popd
tiga kali berturut-turut, Anda mendapatkan ke direktori-direktori dalam tumpukan dengan urutan terbalik. Pada saat yang sama, tumpukan akan dikosongkan lagi.Jika Anda menggunakan Zsh; ia memiliki opsi AUTO_PUSHD, yang secara otomatis akan mendorongnya
cd
ke tumpukan.sumber
cd
untukpushd
, dan sebagian besar akan sama.Ada beberapa program "lompat"
Ini memudahkan segala jenis navigasi direktori. Anda menggunakannya dengan memberikan sebagian dari jalan dan hanya berfungsi.
Dalam kasus Anda
Anda dapat menetapkan huruf apa saja yang Anda inginkan untuk program ini, "j" adalah tradisi :)
j2 dan z mendukung beberapa istilah pencarian, ...
... dan lebih banyak opsi.
sumber
Selain
cd -
dancd $OLDPWD
Anda dapat menggunakan pencarian riwayat dengan menekan
CTRL-R
dan mengetik beberapa huruf daricd
perintah yang Anda masukkan sebelumnya. MenekanCTRL-R
berulang kali akan menghasilkan kecocokan yang lebih lama.Metode ini akan lebih bermanfaat jika Anda memiliki lebih dari dua jalur untuk diubah.
sumber
cd
, sangat membantu!Anda dapat menggunakan ini untuk dengan mudah membuat alias untuk direktori:
dan kemudian:
sumber
alias =
bagian? hmmmmbashmarks akan memungkinkan Anda menandai serangkaian folder dan beralih di antara mereka dengan penyelesaian tab:
sumber
Kemungkinan lain adalah membiarkan dua jendela tetap terbuka, dengan satu posisi pada setiap direktori.
sumber
share_history
di zsh.Saya tahu ini bukan jawaban yang tegas untuk pertanyaan Anda, tetapi membantu dalam mencapai tujuan membawa Anda ke direktori penting Anda .
di setiap keturunan UNIX-bash Anda dapat menggunakan CDPATH untuk memperluas folder yang dicari oleh perintah cd.
dari file .bashrc saya:
cd pertama mencari di folder Anda saat ini, kemudian mencari di direktori proyek-coding saya.
.. membawa saya ke ~ / sources / myproject dari tempat saya berada saat ini.
Fitur kecil sederhana yang telah banyak membantu navigasi direktori saya.
sumber
cd
autocomplete (TAB), yang bagus. Tetapi jika.
tidak termasuk dan jika ada folder di folder CDPATH dengan nama yang sama dengan yang ada di direktori Anda saat ini, makacd samename
akan pergi ke direktori CDPATH dan bukan yang ada di direktori saat ini, yang buruk. Harus digunakancd ./samename
untuk masuk ke folder dup.Yup,
cd -
adalah cara untuk pergi tetapi saya khawatir tentang kurangnya kekuatan yang Anda miliki di shell Anda.popd
danpushd
juga bagus, danj
benda itu juga terlihat bagus.Saya akan membuang utilitas saya sendiri ke atas ring ... itu hanya sesuatu yang telah saya bangun, menyesuaikan dan bermigrasi dengan saya selama 10 tahun terakhir dan berfungsi dengan baik untuk apa yang saya inginkan.
Posting blog untuk utilitas manajemen direktori saya
Jika itu bekerja untuk Anda, maka hebat, tetapi jika tidak maka berjanjilah Anda akan mendapatkan sesuatu yang lain :) Anda tidak bisa hidup
cd
sendirian.sumber
Jika Anda hanya memiliki 2 direktori, cara termudah adalah, seperti yang disebutkan,
Ketika saya memiliki hal-hal seperti itu di masa lalu, saya memiliki beberapa trik yang telah saya lakukan, yang mungkin bisa membantu.
Masukkan perintah alias di file .cshrc, kira-kira seperti ini
Tautkan pintasan ke jalur yang diinginkan dari direktori rumah saya. Ini adalah satu hal.
Ini memungkinkan pengubahan direktori semudah:
sumber
Autojump adalah perintah "cd" bash / sh / zsh yang dari tindakan Anda, lihat video ini .
jadi ini akan memindahkan Anda ke moo setelah mempelajari folder terakhir
sumber
balok
Saya memiliki alat sendiri, tetapi akan melihat alat Dereks dan
j
juga.Tentu saja pilihan pertama untuk melompat bolak-balik adalah
Alat saya dimaksudkan untuk direktori dengan nama unik pada sistem, jika
locate
tersedia; itu mencari nama direktori yang cocok, dan melompat ke pertandingan pertama:Ketergantungan:
Kekurangan:
Perbaikan / modifikasi:
Pemakaian:
Keuntungan dari solusi saya:
cd -
sumber