Cómo definir un enlace simbólico que puedo usar en cada directorio


11

¿Es posible establecer un enlace simbólico para que pueda usar projectpara apuntar el directorio home/me/project, por ejemplo? Esto debería ser independiente de la ubicación en el sistema de archivos.

Me gustaría usar comandos como cd project, nano project/file1.texetc.

¿Tengo que escribir un enlace simbólico a todos mis directorios?

Respuestas:


15

La mayoría de los shells tienen una CDPATHvariable que cdpuede buscar directorios para cambiar de la misma manera que se buscan los ejecutables $PATH.

Entonces, si agrega sus enlaces simbólicos en un ~/projectsdirectorio y lo hace CDPATH=~/projects, podrá hacerlo cd foopara ingresar~/projects/foo

Con zsh, si $varcontiene una ruta que puede hacer cd ~varpara cdque ese camino. La parte útil de eso es cuando tiene su mensaje %~que luego lo refleja en su mensaje:

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

Con setopt cdablevars, también puedes hacer en cd proj1lugar de cd ~proj1.


9

Probablemente desee utilizar variables en lugar de enlaces simbólicos, p. Ej.

export project=/home/me/project

entonces

cd $project

o

vim $project/file

ACTUALIZAR

Como señaló Peter Peter, también puede combinarlos (incluidas las variables predefinidas), p. Ej.

export project=$HOME/project

1
O incluso mejor project=$HOME/project...
Peter

@peterph, o incluso más simple ~/project.
Stéphane Chazelas

44
Con zsh, también puedes hacerlo setopt cdablevarsy luegocd project
Stéphane Chazelas

@StephaneChazelas: Creo que es un buen punto, aunque, como es específico, ¿ zshquizás podría agregarlo como una respuesta separada?
jmetz
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.