Mungkin lebih baik menggunakan link
Tautan Lunak
Tautan simbolis atau lunak (file atau direktori, lebih fleksibel dan mendokumentasikan diri sendiri)
# Source Link
ln -s /home/jake/doc/test/2000/something /home/jake/xxx
Tautan Keras
Tautan keras (hanya file, kurang fleksibel, dan tidak mendokumentasikan sendiri)
# Source Link
ln /home/jake/doc/test/2000/something /home/jake/xxx
Cara membuat tautan ke direktori
Petunjuk :Jika Anda tidak perlu melihat tautan di rumah Anda, Anda dapat memulainya dengan titik.; maka itu akan disembunyikan secara default maka Anda dapat mengaksesnya seperti
cd ~/.myHiddelLongDirLink
Ada opsi shell cdable_vars
:
cdable_vars
Jika ini disetel, argumen kecd
builtincommand yang bukan direktori diasumsikan sebagai nama variabel yang nilainya adalah direktori yang akan diubah.
Anda dapat menambahkan ini ke .bashrc
Anda :
shopt -s cdable_vars
export myFold=$HOME/Files/Scripts/Main
Perhatikan bahwa saya telah mengganti tilde dengan $HOME
; kutipan mencegah ekspansi tilde dan Bash akan mengeluh bahwa tidak ada direktori ~/Files/Scripts/Main
.
Sekarang Anda dapat menggunakan ini sebagai berikut:
cd myFold
Tidak ada $
yg dibutuhkan. Itulah intinya, sebenarnya – seperti yang ditunjukkan pada jawaban lain, cd "$myFold"
berfungsi tanpa opsi shell. cd myFold
juga berfungsi jika jalur di myFold
berisi spasi, tidak perlu mengutip.
Ini bahkan biasanya berfungsi dengan pelengkapan otomatis tab sebagai _cd
fungsi di bash_completion
memeriksa apakah cdable_vars
diatur – tetapi tidak setiap implementasi melakukannya dengan cara yang sama, jadi Anda mungkin harus mencari bash_completion
lagi di .bashrc
Anda (atau edit /etc/profile
untuk menyetel opsi shell).
Shell lain memiliki opsi serupa, misalnya Zsh (cdablevars
).
Karena ini adalah variabel lingkungan (alias memiliki definisi yang berbeda di bash
), Anda perlu mengevaluasinya dengan sesuatu seperti:
cd "${myFold}"
atau:
cp "${myFold}/someFile" /somewhere/else
Tapi saya sebenarnya merasa lebih mudah, jika Anda hanya ingin kemudahan beralih ke direktori itu, untuk membuat nyata alias (di salah satu bash
file startup seperti .bashrc
), agar saya dapat menyimpan penekanan tombol:
alias myfold='cd ~/Files/Scripts/Main'
Maka Anda bisa menggunakan (tanpa cd
):
myfold
Untuk menghilangkan definisi, Anda menggunakan unalias
. Transkrip berikut menunjukkan semua di antaranya beraksi:
pax> cd ; pwd ; ls -ald footy
/home/pax
drwxr-xr-x 2 pax pax 4096 Jul 28 11:00 footy
pax> footydir=/home/pax/footy ; cd "$footydir" ; pwd
/home/pax/footy
pax> cd ; pwd
/home/pax
pax> alias footy='cd /home/pax/footy' ; footy ; pwd
/home/pax/footy
pax> unalias footy ; footy
bash: footy: command not found