Cara mendefinisikan tautan simbolis yang dapat saya gunakan di setiap direktori


11

Apakah mungkin untuk menetapkan tautan simbolik sehingga saya dapat menggunakan projectuntuk mengarahkan direktori home/me/project, misalnya? Ini harus independen dari lokasi dalam sistem file.

Saya ingin menggunakan perintah like cd project, nano project/file1.texdan sebagainya.

Apakah saya harus menulis tautan simbolis ke semua direktori saya?

Jawaban:


15

Kebanyakan shell memiliki CDPATHvariabel yang cddapat mencari direktori untuk diubah dengan cara yang sama seperti yang dieksekusi dicari $PATH.

Jadi, jika Anda menambahkan symlink di ~/projectsdirektori dan melakukannya CDPATH=~/projects, Anda dapat melakukannya cd foountuk masuk~/projects/foo

Dengan zsh, jika $varberisi jalur yang bisa Anda lakukan cd ~varuntuk cdmenuju jalur itu. Bagian yang berguna dari itu adalah ketika prompt Anda %~yang kemudian mencerminkannya di prompt Anda:

$ proj1=/usr/local proj2=/etc/apache2
$ PS1='%~$ '
$ cd ~proj1
~proj1$ cd ~proj2/sites-enabled
~proj2/sites-enabled$

Dengan setopt cdablevars, Anda juga dapat melakukan cd proj1bukan cd ~proj1.


9

Anda mungkin ingin menggunakan variabel sebagai ganti tautan simbolik, mis

export project=/home/me/project

kemudian

cd $project

atau

vim $project/file

MEMPERBARUI

Seperti yang ditunjukkan oleh peterph, Anda juga dapat menggabungkan ini (termasuk variabel yang telah ditentukan), misalnya

export project=$HOME/project

1
Atau bahkan lebih baik project=$HOME/project...
peterph

@peterph, atau bahkan lebih sederhana ~/project.
Stéphane Chazelas

4
Dengan zsh, Anda juga dapat melakukannya setopt cdablevarsdan kemudiancd project
Stéphane Chazelas

@StephaneChazelas: Saya pikir itu poin yang bagus - meskipun khusus untuk zshAnda bisa menambahkannya sebagai jawaban terpisah?
jmetz
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.