Me preguntaba si hay una manera en el shell de Linux de escribir la primera parte única de un nombre de archivo o nombre de directorio y luego agregar "~" o "..." y evitar escribir el nombre de archivo completo.
Por ejemplo si tengo quecdal directorio
example-program-source-0.11.229-dev
en lugar de escribir
cd example-program-source-0.11.229-dev
Solo para escribir algo asi
cd example-program...
O
cd example-program~
Creo que debería haber algo así integrado en Shell, pero no sé qué buscar exactamente.
Respuesta1
La mayoría de los shells admiten lo que se conoce como "Tab Completion". Simplemente escriba la parte única del nombre del archivo y luego presione la Tabtecla. El shell debería completar automáticamente el resto del nombre del archivo. Si todavía hay varios archivos que coinciden con lo que ha escrito hasta ahora, el shell recorrerá los archivos coincidentes cuando presione Tabo imprimirá una lista de todos los archivos coincidentes cuando presione dos veces Tab, dependiendo de la configuración. Bash de forma predeterminada imprime una lista cuando tocas Tabdos veces.
Respuesta2
Puedes utilizar *
como comodín:
cd example-program*
Tenga en cuenta que esto se expandirá atodolos archivos que coinciden con el comodín. En su caso, solo puede usarlo si solo hay una ruta que comienza con example-program
. Si hay varios directorios con el prefijo, el comando se expandirá efectivamente, por ejemplo:
cd example-program-source-0.11.229-dev example-program-other example-program.txt
Esto puede ser útil si de hechodesearpara trabajar en varios archivos, por ejemplo si desea mostrar el contenido de todos .log
los archivos en una carpeta:
cat *.log