Buscar archivos desde linea de comandos
En determinadas distribuciones de Linux como puede ser Ubuntu, las opciones gráficas para buscar archivos no siempre es muy buena.
Voy a hablaros acerca de dos herramientas usadas para realizar esta tarea. Con un poco de paciencia las podrás dominar sin problemas.
Locate
El comando mas sencillo y rápido es “locate”. Para usar este comando simplemente entramos en la terminal y escribimos:
locate -i busqueda
Esto buscara por todos los ficheros y directorios que contengan “busqueda” en su nombre, el parametro -i indica que la busqueda no es sensible a las mayúsculas.
El resultado es casi instentaneo debido a que nuestro sistema crea una base de datos ( también conocida como índice) . La cual nos dice donde se encuentran nuestros archivos.
El problema de esta base de datos, es que si el archivo fue creado recientemente o movido, no funcionará correctamente hasta la siguiente actualización de esta base de datos.
Puedes forzar esta actualización usando:
sudo updatedb
Find
Existe una herramienta mucho mas poderosa llamada “find”.
Puedes decirle a “find” donde buscar y que criterio de búsqueda tiene que usar además de que acciones debe realizar una vez lo ha encontrado.
Su sintaxis es:
find 'donde buscar' 'criterio de búsqueda' 'acciones a realizar'
Si no añades parámetros, find buscará por defecto en el directorio actual. No usará criterio de búsqueda(Muestra todos los ficheros por defecto). Y como acción por defecto, usa -print, lo que indica que muestra el resultado en pantalla.
Ejemplo
sudo find / -type f -mmind -10
Este ejemplo buscará empezando en nuestro directorio raiz y de forma recursiva ( busca en subdirectorios). Todos los ficheros normales (-type f) si no pusieramos este parámetro, también buscaría ficheros especiales y directorios. Por último el parametro -mmind -10 nos muestra los ficheros que fueron modificados hace 10 minutos o menos y luego nos lo imprime en pantalla.
Esto sería útil si editaste un archivo recientemente pero no sabes donde lo has metido o si tienes que buscar un log de un programa que ha fallado.
Puedes añadir sudo porque find no busca archivos o directorios que el usuario actual no tenga permisos para ver. En caso de que no tengas permisos de sudoer simplemente nos devolvera un mensaje de error.
Me ha gustado mucho sobretodo la parte en la que hablas de comandos.
Muchas gracias por tu opinión.
Muchas gracias, esto me ayudará con mis scripts.
Un script para regar las plantas de forma automática.