Buscando archivos usando find
Una de las cosas que mas gusta de Linux es la linea de comandos o terminal. Hay muchos exploradores de archivos Linux como Nautilus, Konqueror, Koammander, etc, pero hay momentos en los que simplemente quieres buscar un archivo usando la linea de comandos sin la necesidad de abrir una aplicación GUI.
Eso es un extracto de la página man del comando find:
GNU find busca el directorio raiz en cada nombre de archivo proporcionado evaluando la expresión dada de izquierda a derecha, acorde con las reglas de precedencia hasta que el resultado es alcanzado a tal punto se mueve al siguiente nombre de archivo.
Buscar directorios vacíos:
Buscar archivos vacíos:
Buscar un archivo con nombre específico:
Buscar un archivo con una extensión específica:
Buscar archivos con un permiso específico con extensión txt:
Buscar archivos con ciertos permisos:
Buscar archivo con cierto y nombre pero de cualquier extensión:
Buscar archivos modificados en las ultimas 24 horas:
Donde n es:
Buscar archivos que fueron accesados las ultimas 24 horas:
Donde n es:
Buscar archivos según el dueño:
También puedes unir (pipe) el comando find con el comando xargs para ejecutar comandos en los archivos.
Buscar y borrar archivos:
Revisa la página man de xargs para mayor información sobre este poderoso comando.
Muchos de los usuarios nuevos de Linux se intimidan por el uso de la linea de comando pero eso no debería ser así ya que la linea de comando puede ser mas rápida y mas poderosa que una aplicación GUI.
Eso es un extracto de la página man del comando find:
GNU find busca el directorio raiz en cada nombre de archivo proporcionado evaluando la expresión dada de izquierda a derecha, acorde con las reglas de precedencia hasta que el resultado es alcanzado a tal punto se mueve al siguiente nombre de archivo.
Buscar directorios vacíos:
find /ruta -depth -type d -empty
Buscar archivos vacíos:
find /ruta -depth -type f -empty
Buscar un archivo con nombre específico:
find /ruta -name nombre_de_archivo
Buscar un archivo con una extensión específica:
find /ruta -name "*.extensión"
Buscar archivos con un permiso específico con extensión txt:
find /ruta -name '*.txt' -perm 644
Buscar archivos con ciertos permisos:
find /ruta -perm -"permisos"
Buscar archivo con cierto y nombre pero de cualquier extensión:
find /ruta -name 'nombre_archivo.*'
Buscar archivos modificados en las ultimas 24 horas:
find /ruta -mtime n
Donde n es:
- 0 para las ultimas 24 horas
- 1 para las ultimas 48 horas
- 2 para las ultimas 72 horas
Buscar archivos que fueron accesados las ultimas 24 horas:
find -atime n
Donde n es:
- 0 para las ultimas 24 horas
- 1 para las ultimas 48 horas
- 2 para las ultimas 72 horas
Buscar archivos según el dueño:
find /ruta -user root
También puedes unir (pipe) el comando find con el comando xargs para ejecutar comandos en los archivos.
Buscar y borrar archivos:
find /ruta -name "archivo" | xargs rm
Revisa la página man de xargs para mayor información sobre este poderoso comando.
Muchos de los usuarios nuevos de Linux se intimidan por el uso de la linea de comando pero eso no debería ser así ya que la linea de comando puede ser mas rápida y mas poderosa que una aplicación GUI.
Comentarios
Les dejo una un poco más complicada, que find encuentre archivos sin extensión.
Vaya problemita no...
find / \( ! -name "*.*" \) -type f
Un saludo