Apakah ada cara untuk pergi ke direktori mana saja dari direktori lain secara langsung?

14

Apakah ada cara untuk pergi ke direktori mana saja dari direktori lain secara langsung? Misalnya, katakanlah saya sedang melakukan root dan saya ingin langsung menuju ke Projek saat ini tanpa melakukan :

cd dropbox/dev/currentProject



-root
  -dropbox
     -dev
        -currentProject

Apakah ada cara untuk melakukan ini?

kap lampu
sumber

Jawaban:

21

Anda dapat menggunakan sesuatu seperti autojump . Autojump memungkinkan Anda dengan cepat melompat ke direktori yang sering dikunjungi dengan jperintah.

Misalnya, setelah Anda cdmasuk ke currentProjectdirektori Anda beberapa kali, Anda dapat langsung menuju ke situ seperti ini:

j currentProject

Anda bahkan dapat menggunakan hanya sebagian dari nama direktori. Jadi Anda bisa melakukan:

j current

Ke cddalam currentProject.

Wuffers
sumber
8

Anda juga dapat menambahkan beberapa direktori umum ke $ CDPATH Anda

export CDPATH=$HOME

Misalnya, ini akan memungkinkan Anda cdmasuk ke direktori apa pun di folder rumah dari mana saja di sistem Anda.

lebih

Yab
sumber
7

Ini tidak menjawab pertanyaan Anda secara langsung, tetapi jika saya menyimpulkan dengan benar bahwa Anda akan sering berpindah di antara direktori, Anda bisa menggunakan terminal multiplexer seperti Layar GNU untuk menjaga direktori yang berbeda tetap terbuka di jendela yang berbeda, dan hanya beralih di antara mereka sesuai kebutuhan. Saya pribadi menggunakan Byobu , yang menambahkan beberapa fungsi di atas layar.

Abe Voelker
sumber
1
Lihat juga: tmux .
Annika Backstrom
5

Anda dapat mengatur alias di profil bash Anda. Pada dasarnya itu memungkinkan Anda menyingkat sebuah perintah dengan sebuah kata. Anda dapat mengatur currentProject benar-benar mengarah ke / dropbox / dev / currentProject

n0pe
sumber
4

Anda dapat membuat symlink di direktori home Anda ke tempat yang Anda inginkan.

ln -s /dropbox/dev/currentProject ~/currentProject

Dengan cara ini, Anda masih menggunakan cd, tetapi Anda tidak harus mengingat path lengkapnya. Cukup gunakan:

cd ~/currentProject

Saat Anda berhenti menggunakan tautan, hapus saja.

rm ~/currentProject
Chris Ting
sumber
0

Seperti yang Wuffers sebutkan di atas, autojump yang dapat melakukan ini untuk Anda. Ini menyimpan database direktori yang dikunjungi sebelumnya dan memungkinkan Anda menggunakan perintah ingin j <a few letters in the directory path>pindah ke direktori itu. Ada perintah tambahan untuk autojump bernama jcyang harus memenuhi persyaratan Anda. jcmemungkinkan Anda melompat ke subdirektori yang sebelumnya dikunjungi dari direktori kerja saat ini. Jadi, Anda hanya perlu mengunjungi direktori sekali ini agar berfungsi sampai Anda membersihkan database autojump. Selain itu, Anda juga dapat menambahkannya secara langsung dengan autojump --add DIR(mungkin membuat daftar tambah dari daftar pohon direktori jika diperlukan).

Bidikan Jepretan
sumber
0

Dalam bash dan * csh, ada perintah builtin 'pushd' dan 'popd' yang memungkinkan Anda untuk mendorong direktori ke tumpukan Last In First Out (with pushd [directory]) dan kemudian dengan cepat mengubah ke direktori teratas di stack menggunakan 'popd'. Jadi, tergantung pada bagaimana Anda memuat tumpukan, Anda mungkin dapat dengan cepat menavigasi antara direktori dengan baik agar ini berfungsi untuk Anda.

Nevin Williams
sumber