Ya saya lakukan, saya hanya menulis ini dengan terburu-buru;) Mengeditnya sekarang.
Akankah ini dilakukan ?:alias cmd5 = "cd ../../../../../"
ypercubeᵀᴹ
Yah, saya kira saya bisa menuliskannya sekitar 1 sampai 10 atau lebih, tetapi akan menyenangkan jika memiliki cara yang cerdas untuk melakukannya. Itu tidak benar-benar cocok dengan saya. Akan melakukan itu jika tidak ada solusi lain yang muncul.
Jawaban:
16
Letakkan ini di ~/.bashrc:
cdup(){
levels=${1-1}while((levels--));do
cd ..done}
(Nama tersebut cdupberasal dari perintah FTP yang sesuai, hanya FYI.)
Terima kasih atas jawabannya, lanjut dengan jawaban jleedev karena 1 baris lebih pendek dan saya tidak bisa memutuskan siapa yang harus memilih! Bagaimanapun, terima kasih!
@ Muu: Kedua jawaban akan bekerja, tetapi milikku akan bekerja untuk banyak, banyak level, dan @ jleedev hanya akan bekerja untuk segelintir kecil (apa pun batas tumpukannya). ;-) (Saya yakin Anda tidak akan pernah mencapai batasnya, tetapi milik saya lebih umum, adalah apa yang saya coba sampaikan. :-))
Chris Jester-Young
Poin yang adil, saya telah memberi Anda jawabannya. Maaf jleedev - meskipun kemungkinan besar saya akan terus menggunakan solusi Anda karena saya akan lupa untuk mengubahnya :)
11
Saya diajarkan untuk menggunakan 'pushd' dan 'popd' untuk keadaan seperti itu.
Misalnya, ketik 'pushd.' dan kemudian 'cd / home'. Sekarang ketikkan 'popd' dan Anda akan kembali ke tempat Anda memulai.
'pushd' / 'popd' adalah tumpukan, Anda dapat mendorong sebanyak mungkin direktori di sana, tetapi itu adalah yang terakhir aktif, pertama ketika Anda popd.
Anda mungkin ingin melihat ke dalam menggunakan pushddan popdmengatur penanda lokasi dan dan kembali ke sana dengan mudah dari direktori apa pun yang Anda ubah.
Anda juga bisa mengatur variabel dengan nama direktori yang sering Anda gunakan, lalu CD di sana:
MYPROJ=~/projects/name/src
cd $MYPROJ
proj1='cd $MYPROJ'
cd -
ubah kembali ke direktori terakhir tempat Anda berada. Saya menggunakan ini sepanjang waktu untuk mendapatkan dari bawah di pohon kode saya kembali ke root ... meskipun itu hanya bekerja jika Anda cd turun ke dalamnya dalam satu perubahan.
cdd lama baru
ini adalah fungsi skrip yang saya tulis di masa lalu yang saya gunakan untuk bergerak di antara pohon-pohon serupa. Pada dasarnya butuh dua argumen dan melakukan regexp di jalan Anda, bagus untuk bergerak di antara cabang dan semacamnya. Sebagai contoh jika Anda berada di ~ / bzr / web / trunk / path / ke / fitur dan diperlukan untuk mendapatkan ~ / bzr / web / fitur-branch / path / ke / fitur maka Anda akan melakukannya cdd trunk feature-branch. Implementasi yang saya miliki dalam bahasa shell kuno pada AIX, tapi itu cukup sepele, jadi harus mudah diimplementasikan dalam shell pilihan jika Anda membutuhkannya. Bagi kami itu sangat berguna karena strukturnya terlihat seperti: ... / {produk} / {versi} / {rilis} / {src, bld, dbg, pkg, tst} / {komponen} / ... jadi bergeraklah di pohon itu menjadi gila cukup cepat.
ls
? Tentunya maksud Andacd
?alias cmd5 = "cd ../../../../../"
Jawaban:
Letakkan ini di
~/.bashrc
:(Nama tersebut
cdup
berasal dari perintah FTP yang sesuai, hanya FYI.)sumber
Saya diajarkan untuk menggunakan 'pushd' dan 'popd' untuk keadaan seperti itu.
Misalnya, ketik 'pushd.' dan kemudian 'cd / home'. Sekarang ketikkan 'popd' dan Anda akan kembali ke tempat Anda memulai.
'pushd' / 'popd' adalah tumpukan, Anda dapat mendorong sebanyak mungkin direktori di sana, tetapi itu adalah yang terakhir aktif, pertama ketika Anda popd.
sumber
Tentu, mengapa tidak:
sumber
up 500
. :-)Cepat dan kotor:
Diformulasikan untuk hanya mengubah direktori sekali.
sumber
Inilah cara alternatif:
sumber
Anda mungkin ingin melihat ke dalam menggunakan
pushd
danpopd
mengatur penanda lokasi dan dan kembali ke sana dengan mudah dari direktori apa pun yang Anda ubah.Anda juga bisa mengatur variabel dengan nama direktori yang sering Anda gunakan, lalu CD di sana:
sumber
Saya menggunakan autojump yang memungkinkan saya mengetik:
itu bisa belajar dari kebiasaan Anda dan sangat ringan (dan membuat ketagihan;))
sumber
Bangun jalur menggunakan
printf
lalucd
untuk itu:Digunakan sebagai:
sumber
Dua pemikiran yang mungkin berguna bagi Anda:
cd -
ubah kembali ke direktori terakhir tempat Anda berada. Saya menggunakan ini sepanjang waktu untuk mendapatkan dari bawah di pohon kode saya kembali ke root ... meskipun itu hanya bekerja jika Anda cd turun ke dalamnya dalam satu perubahan.
cdd lama baru
ini adalah fungsi skrip yang saya tulis di masa lalu yang saya gunakan untuk bergerak di antara pohon-pohon serupa. Pada dasarnya butuh dua argumen dan melakukan regexp di jalan Anda, bagus untuk bergerak di antara cabang dan semacamnya. Sebagai contoh jika Anda berada di ~ / bzr / web / trunk / path / ke / fitur dan diperlukan untuk mendapatkan ~ / bzr / web / fitur-branch / path / ke / fitur maka Anda akan melakukannya
cdd trunk feature-branch
. Implementasi yang saya miliki dalam bahasa shell kuno pada AIX, tapi itu cukup sepele, jadi harus mudah diimplementasikan dalam shell pilihan jika Anda membutuhkannya. Bagi kami itu sangat berguna karena strukturnya terlihat seperti: ... / {produk} / {versi} / {rilis} / {src, bld, dbg, pkg, tst} / {komponen} / ... jadi bergeraklah di pohon itu menjadi gila cukup cepat.sumber