Hace poco estuve en una situación en la que estaba dentro de una carpeta y quería acceder cda una carpeta de subdirectorio. Solo había una carpeta, dentro de esta carpeta y era un nombre muy largo.
Home (I am here)
|
|
--> /reallylongnamefolder
¿Hay alguna forma de ingresar a esa carpeta en lugar de escribir:
cd reallylongnamefolder
command-line
Arian Faurtosh
fuente
fuente

cd */ocd rea*/si no está seguro, solo hay 1 subdirectorio en todo momento (si usa bash, también puedecd rea[TAB]... en otros shells también, pero la forma de expandir el nombre puede variar). Si "/ reallylongnamefolder" es una ruta absoluta, lo mismo, pero con '/' al frente, por ejemplo:cd /rea*/Respuestas:
Yo recomendaría escribir las primeras letras y presionar tab. Bash tiene una función de autocompletar que es realmente útil. Si solo está el directorio en la ruta actual, solo presionando tabse llenará todo el directorio.
Escribir
cdy presionar tabdos veces mostrará todas las opciones en el directorio actual.tab generalmente es realmente útil en bash ya que tiene acceso a casi todos los ejecutables con una o dos pulsaciones de teclas.
cd *como se sugirió anteriormente, solo funciona si el directorio está primero en la lista y no está oculto. Si hay un archivo alfabéticamente antes de su directorio, estocdno cambiará su directorio en absoluto.fuente
cd <tab>será lo suficientemente inteligente.Creo que en realidad lo descubrí
¡Pero no lo he probado si hay varios archivos y una carpeta!
Como @Rinzwind mencionó en los comentarios!
Digamos que tiene tres carpetas largas:
Si escribe la primera letra del archivo, ¡al presionarlo tabse completará automáticamente el nombre del archivo! ¡COSAS LOCAS!
Entonces, en el ejemplo anterior, puede escribir: t taby se completará automáticamente tanto como pueda:
cd thisislongfolder(luego escriba el número usted mismo).O puedes hacer
cd t*1te llevaría athisislongfolder1¡Gracias Rinzwind!
fuente
cd r*ry Espero que sea la única carpeta que comienza y termina con R.cd */podría hacer el trucocd *probablemente falla más de lo que tiene éxito.ls -d */enumera los directorios,head -n 1da el primero en esta lista.fuente
cden el primer directorio, no puede hacer pestañas.Tengo una buena configuración para esto, me permite no solo cd a ~ / somereallylongfoldername sino también cd allí incluso cuando estoy en la carpeta /
lo primero que uso es zsh con oh-my-zsh, esto también te permitirá cd sin tener que preocuparte por el caso o incluso sin escribir cd
abra y edite su .zshrc que se encuentra en su carpeta de inicio, no está oculto
nano ~ / .zshrc
luego agregue la siguiente línea al final del archivo
export CDPATH=$CDPATH:/:/home/$USER/:/media/$USER/Si te gusta mi tema también puedes cambiar la línea
#ZSH_THEME="robbyrussell"aZSH_THEME="pygmalion"Guarde y cierre el archivo y luego reinicie, es decir. cierre y vuelva a abrir el shell o simplemente abra una nueva pestaña y pruébelo
no puede usar la tecla de tabulación para completar nombres y en ZSH ni siquiera tiene que tener el caso correcto, puede escribir docu y presionar tab y se convertirá en ~ / Documentos
fuente
Puede cambiar el directorio por número de inodo.
primero encontramos el inodo con
ls -il.luego
fuente
Si necesita hacerlo en un script o para admitir directorios con nombres no codificables:
Funciona si hay archivos en el directorio, independientemente de su orden de clasificación en relación con los directorios.
Funciona para directorios ocultos cuando
cd */falla.Funciona si el nombre no es representable en la configuración regional actual cuando
lssolo se imprime en??lugar de un nombre.fuente
Extendiendo la respuesta de as:
para abrir la primera carpeta en un directorio. '1p' se puede cambiar a '2p' para el segundo directorio.
para enumerar solo directorios de un directorio padre.
fuente