Viernes, Septiembre 22, 2017

comandos linux: find con ejemplos 3

comandos linux: find con ejemplos 3

El comando linux find es uno de esos comandos que todo usuario de linux debería saber “casi por obligación” por que simplemente es muy poderoso cuando se trata de tener la información del archivo exacto que se necesita, pero precisamente lo importante es poder hacer algo con el o los archivos que se encuentran y el comando linux find es el comando correcto para esto.

Hace algún tiempo escribí sobre el comando find y una segunda parte donde explicaba con ejemplos como se usa el comando linux find para encontrar diversos tipos de archivos, como buscar con diferentes condiciones, opciones y demás.

Pero una de las características mas interesantes es poder encontrar los archivos que se buscan y hacer algo con ellos mediante tuberías o pipes y es lo que te voy a compartir en este artículo.

comandos linux: find con ejemplos 3

Una forma de se hacer algo con los archivos que nos devuelva el comando find es usando el parámetro -exec donde se incluye otro comando y al que se pasan los archivos encontrados como parámetros a ese comando. Te muestro algunos ejemplos:

Ejemplos Avanzados del comando find

Para borrar los archivos que se encuentran mediante una búsqueda usando el parámetro -exec

find . -type f -name "archivoparaborrar.txt" -exec rm -f {} \;

para realizar la misma operación mediante el comando xargs por un pipe

find . -type f -name "archivoparaborrar.txt" | xargs /bin/rm -f

por ejemplo para buscar archivos .mp3 y borrarlos

find . -type f -name "*.mp3" -exec rm -f {} \;

Para encontrar archivos con permisos 777 y cambiarlos por 644

find / -type f -perm 0777 -print -exec chmod 644 {} \;

Para encontrar directorios con permisos 777 y cambiarlos por 644

find / -type d -perm 777 -print -exec chmod 755 {} \;

Encontrar los archivos mas grandes y mas pequeños

Una de mas cosas importantes al momento de tener muchos archivos es saber que archivos ocupan mucho o poco espacio. Para encontrar los archivos mas grandes puedes usar el comando find de esta forma para mostrar los 5 archivos mas grandes en directorio actual y sus sibdirectorios (puede tomar algo de tiempo dependiendo del número de archivos)

find . -type f -exec ls -s {} \; | sort -n -r | head -5

Para encontrar los 5 archivos mas pequeños en el directorio actual y sus subdirectorios

find . -type f -exec ls -s {} \; | sort -n | head -5

Un ejemplo interesante del comando find es por ejemplo borrar los archivos .log que sean mayores a 100 Mb

find /home/josee/dir -type f -name *.log -size +10M -exec rm -f {} \;

Como te puedes dar cuenta el comando find puede ser muy poderoso si tienes iniciativa, ingenio y destreza para utilizarlo. No es que todo esté escrito, pero simplemente se pueden hacer cosas muy interesantes y poderosas.

 

Fuente: comoinstalarlinux

Compártelo. ¡Gracias!

 
Grupo Digital de Ayuda! Laboratorio Linux! - Linux para todos.

¿Quién está en línea?

Hay 58 invitados y ningún miembro en línea

Contador de Visitas

8965358
Hoy Hoy 1087
Ayer Ayer 1167
Esta semana Esta semana 5869
Este mes Este mes 25224
Total de Visitas Total de Visitas 8965358

Día con más
visitantes

07-19-2017 : 1525

Gracias por su visita