Comando Find en Linux Shell Script

comando-find

Comando Find en Linux

Usos del comando find en linux

El comando find se usa para buscar ficheros que concuerden con las condiciones de búsqueda especificadas.

El comando find desciende a través del árbol de directorios buscando ficheros que coincidan con las condiciones de búsqueda.

El directorio desde el que opera es el directorio actual a menos que especifiquemos el directorio de búsqueda, y las principales condiciones de búsqueda, entre otras son por nombre o por tipo de fichero.

La forma de usar el comando find es: find [ruta…] [expresión]

Para buscar todos los archivos tipo jpg en el directorio actual, usaríamos la expresión:

find -name «.jpg»

Para buscar todos los archivos tipo zip en el directorio /var/www, usaríamos la expresión:

find /var/www -name «.zip»

También podemos usar el modificador -iname, en el caso que un nombre sea diferente por algunas de sus letras con alguna diferencia de mayúsculas o minúsculas, también las aceptaría como coincidentes (por ejemplo AaA sería lo mismo que aAA o AAA)

find /var/www -iname «*cal»

Para buscar todos los archivos de un determinado usuario:

find /var/www -user root

Para buscar todos los archivos de un grupo determinado de usuarios:

find / -group root

Para buscar archivos que pesen más de 10000kb:

find / -size +10000

Para buscar archivos que pesen menos de 1kb:

find / -size -1

Para buscar archivos que sean exactamente de 3kb:

find / -size 3

Para buscar todos los subdirectorios, empleamos el modificador -type:

find /var/www -type d

Para buscar archivos con permisos 777 para controlar la seguridad de una web o de cualquier directorio:

find /var/www -perm 777

El comando find también nos permite buscar y hacer alguna acción. Por ejemplo si queremos que todos los archivos que encuentre con permiso 777 pasen a 755, es decir que sólo pueda modificar el usuario del directorio, deberemos usar find del siguiente modo:

find /var/www -perm 777 -exec chmod 755 {} \;

Ejemplos del comando find linux:

Añadimos un listado de usos del comando find a modo de ejemplos:

find / -type f -name *.jpg -exec cp {} . \;
find . -type f -size +10000 -exec ls -al {} \;
find . -atime +1 -type f -exec mv {} TMP \; # mv files older then 1 day to dir TMP
find . -name "-F" -exec rm {} \;   # a script error created a file called -F
find . -exec grep -i "vds admin" {} \;
find . \! -name "*.Z" -exec compress -f {} \;
find . -type f \! -name "*.Z" \! -name ".comment" -print | tee -a /tmp/list
find . -name *.ini
find . -exec chmod 775 {} \;
find . -user xuser1 -exec chown -R user2 {} \;
find . -name ebtcom*
find . -name mkbook
find . -exec grep PW0 {} \;
find . -exec grep -i "pw0" {} \;
find . -atime +6
find . -atime +6 -exec ll | more
find . -atime +6 -exec ll | more \;
find . -atime +6 -exec ll \;
find . -atime +6 -exec ls \;
find . -atime +30 -exec ls \;
find . -atime +30 -exec ls \; | wc -l
find . -name auth*
find . -exec grep -i plotme10 {};
find . -exec grep -i plotme10 {} \;
find . -ls -exec grep 'PLOT_FORMAT 22' {} \;
find . -print -exec grep 'PLOT_FORMAT 22' {} \;
find . -print -exec grep 'PLOT_FORMAT' {} \;
find . -print -exec grep 'PLOT_FORMAT' {} \;
find ./machbook -exec chown 184 {} \;
find . \! -name '*.Z' -exec compress {} \;
find . \! -name "*.Z" -exec compress -f {} \;
find /raid/03c/ecn -xdev -type f -print
find /raid/03c/ecn -xdev -path -type f -print
find / -name .ssh* -print | tee -a ssh-stuff
find . -name "*font*"
find . -name hpmcad*
find . -name *fnt*
find . -name hp_mcad* -print
find . -grep Pld {} \;
find . -exec grep Pld {} \;
find . -exec grep Pld {} \;
find . -exec grep PENWIDTH {} \; | more
find . -name config.pro
find . -name config.pro
find /raid -type d ".local_sd_customize" -print
find /raid -type d -name ".local_sd_customize" -print
find /raid -type d -name ".local_sd_customize" -ok cp /raid/04d/MCAD-apps/I_Custom/SD_custom/site_sd_customize/user_filer_project_dirs {} \;
find /raid -type d -name ".local_sd_customize" -exec cp /raid/04d/MCAD-apps/I_Custom/SD_custom/site_sd_customize/user_filer_project_dirs {} \;
find . -name xeroxrelease
find . -exec grep xeroxrelease {} \;
find . -name xeroxrelease
find . -name xeroxrelease* -print 2>/dev/null
find . -name "*release*" 2>/dev/null
find / -name "*xerox*" 2>/dev/null
find . -exec grep -i xeroxrelease {} \;
find . -print -exec grep -i xeroxrelease {} \;
find . -print -exec grep -i xeroxrelease {} \; > xeroxrel.lis
find . -exec grep -i xeroxrel {} \;
find . -print -exec grep -i xeroxrel {} \;
find . -print -exec grep -i xeroxrel {} \; | more
find /raid/03c/inwork -xdev -type f -print >> /raid/04d/user_scripts/prt_list.tmp
find . -exec grep '31.53' {} \;
find . -ls -exec grep "31/.53" {} \; > this.lis
find . -print -exec grep "31/.53" {} \; > this.lis
find . -print -exec grep 31.53 {} \; > this.lis
find . -exec grep -i pen {} /;
find . -exec grep -i pen {} \;
find . -print -exec grep -i pen {} \; | more
find . -exec grep -i pen {} \;
find . -atime +6 -exec ll | more \;
find . -atime +6 -exec ll \;
find . -atime +6 -exec ls \;
find . -atime +30 -exec ls \;
find . -atime +30 -exec ls \; | wc -l
find . \! -name '*.Z' -exec compress -f {} \;
find . -name 'cache*' -depth -exec rm {} \;
find . -name 'cache*' -depth -print | tee -a /tmp/cachefiles
find . -name 'cache[0-9][0-9]*' -depth -print | tee -a /tmp/cachefiles
find . -name 'hp_catfile' 'hp_catlock' -depth -print | tee -a /tmp/hp.cats
find . -name 'hp_catfile' -name 'hp_catlock' -depth -print | tee -a /tmp/hp.cats
find . -name 'hp_cat*' -depth -print | tee -a /tmp/hp.cats
find . -name 'hp_cat[fl]*' -depth -print | tee -a /tmp/hp.cats
find /raid -name 'hp_cat[fl]*' -depth -print
find . \! -name '*.Z' -exec compress -f {} \;
find . -name '*' -exec compress -f {} \;
find . -xdev -name "wshp1*" -print
find . -xdev -name "wagoneer*" -print
find . -name "xcmd" -depth -print
find /usr/contrib/src -name "xcmd" -depth -print
find /raid -type d -name ".local_sd_customize" -exec ls {} \;
find /raid -type d -name ".local_sd_customize" \  -exec cp /raid/04d/MCAD-apps

Busca ficheros con más de 48 horas antiguedad y los borra:
find /var/lib/amavis/virusmails/ -type f -mtime +1 -delete
Esta web utiliza cookies propias para su correcto funcionamiento. Al hacer clic en el botón Aceptar, aceptas el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Más información
Privacidad
Abrir chat
¿Podemos ayudarte?