Soy bastante nuevo en Linux y actualmente estoy intentando ejecutar el siguiente comando,
find ~ -name apt.no
Estoy buscando apt.no
dentro de otro directorio que figura como montrose-files
.
No hay respuesta del shell y simplemente crea una nueva línea. ¿Alguien podría explicarme por qué esto no produce ni siquiera un resultado?
bbcharlieca@myvm:~$ find ~ -name apt.no
bbcharlieca@myvm:~$ █
Respuesta1
Su comando find ~ -name apt.no
busca un archivo o directorio *
llamado apt.no
en su $HOME
directorio y dentro de cualquier directorio debajo de él. (El ~
representa su propio directorio de inicio).
A menos que montrose-files
esté dentro de su propio directorio de inicio, no se buscará y no se encontrará el archivo de destino. Por ejemplo, si montrose-files
está en otra ruta, deberá especificar esa ruta:
find /path/to/montrose-files -name 'apt.no' -print
Es confuso que si previamente ha creado un enlace simbólico montrose-files
en su directorio de inicio, tampoco se buscará, ya que find
de forma predeterminada no sigue enlaces simbólicos. Puedes abordar eso de dos maneras:
find ~ -follow -name 'apt.no' -print
find ~/montrose-files/ -name 'apt.no' -print
En el primer enfoque nos referimos find
a follow
enlaces simbólicos. En algunas versiones, find
esto puede ser un enfoque deficiente, porque si un enlace simbólico apunta en un bucle, podría terminar atravesando la estructura varias veces.
En el segundo enfoque, forzamos que el enlace simbólico se resuelva en un directorio de destino real agregando una barra diagonal.
Finalmente, observe que en todos los casos he citado el nombre del archivo que estoy buscando. En su caso simple, no habrá ninguna diferencia, pero cuando comience a usar comodines para hacer coincidir partes desconocidas de nombres de archivos (por ejemplo apt.*
), debe usar comillas simples para asegurarse de que el shell no procese los comodines antes de que find
pueda obtenerlos. a ellos). Es una buena idea adquirir el hábito de citar argumentos.
* Técnicamente, coincidirá con cualquier elemento, pero es poco probable que tenga tuberías, enchufes o nodos de dispositivos en su directorio de inicio.