¿Puedo agregar un acceso directo para reemplazar una ruta en Linux?


33

Por ejemplo, siempre voy a este camino:

/ usuario / algo / algunas carpetas / en algún lugar

pero no quiero escribir

cd / usuario / algo / algunas carpetas / en algún lugar

en la terminal todo el tiempo, ¿puedo tener algo de mano para hacerlo? por ejemplo, ¿puedo hacer algo como

cd commandPlace

para reemplazar el camino?

Respuestas:


32

Puede usar la variable de entorno CDPATHpara esto. Desde la página de manual de Bash:

CDPATH

La ruta de búsqueda para el comando cd. Esta es una lista de directorios separados por dos puntos en los que el shell busca los directorios de destino especificados por el comando cd. Un valor de muestra es ".: ~: / Usr".

En su caso, puede configurar

export CDPATH=.:/user/something/somefolders

adentro ~/.bashrc, y luego escribir cd somewherete llevaría a /user/something/somefolders/somewhere(suponiendo que no haya un directorio nombrado somewheredentro del directorio actual).

Alternativamente, si no desea referirse a la carpeta somewherepor su nombre real, puede crear un directorio oculto que contenga un enlace simbólico /user/something/somefolders/somewherecon el nombre que desea usar. También podría contener enlaces a cualquier otro directorio que visite con frecuencia. Luego configure CDPATHpara incluir la ruta a ese directorio oculto. Aunque tenga en cuenta que con este método, si usted cd somewherey luego cd .., terminará en el directorio oculto. Eso puede o no ser un problema para usted.


41

Dos atajos que uso todo el tiempo para cosas como esta:

Alias

alias somedir = 'cd / home / john / www / something /'

Luego puede escribir somedirpara ir a ese directorio. Agregue estos a su .bashrc.

Enlaces simbólicos

ln -s / long / ruta / a / some / other / folder / shortcut

Esto creará un archivo al /shortcutque se enlazará /long/path/to/some/other/folder. Entonces puede escribir cd en su /shortcutlugar. La advertencia de esto es que llena su directorio raíz (o cualquier directorio en el que coloque los enlaces) bastante rápido. Prefiero los alias.


agradable John!
Gob00st

se supone que debe ser ln -s /long/path/to/some/other/folder /shortcutcuando lo hice al revés, creó el acceso directo en el lugar donde quería crear el enlace. Envié una edición para actualizarla.
Elias

1
¿Qué tal un directorio en la raíz con un nombre corto, por ejemplo, /sly crear accesos directos allí? (es decir, ln -s /long/path/to/some/other/folder /sl/shortcutsin desorden en la raíz, más un recordatorio visual de que la ruta de su solicitud es un enlace simbólico.
RolfBly

14

Tiendo a usar la búsqueda interactiva bash todo el tiempo. Intentalo. Invoque con ctrl + r y comience a escribir alguna parte de su ruta, como en alguna parte . Probablemente su comando de CD aparecerá. :)


9

Mira el comando "alias".

En csh:

alias commandplace "cd /user/something/somefolders/somewhere"

En sh:

alias commandplace="cd /user/something/somefolders/somewhere"

Pero me gusta la solución de enlace simbólico:

ln -s /user/something/somefolders/somewhere ~/commandplace 

Nota: ln toma argumentos en el mismo orden que cp.


9

Otra cosa que puede hacer es almacenar la ruta en cuestión en una variable de entorno. Agregue estas líneas a su ~/.profilearchivo:

somedir=/user/something/somefolders/somewhere
export somedir

Luego puede acceder al directorio con

cd "$somedir"

1
Esta es, de lejos, la mejor solución de la OMI porque puedes usar la variable para cualquier comando. Si asigna un alias, ese alias siempre está vinculado a un comando como cd ...
BdN3504

Esta es la solución que esperaba que existiera y que estaba buscando. Por las razones que BdN3504 ha declarado.
inspirado

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.