Chuletilla rápida de find


Sacado de:

  • Buscar y listar todos los ficheros que tengan la cadena ABC  en el directorio actual y su subdirectorios:
find ./ -name "*" -exec grep -H ABC {} \;
find ./ -type f -print | xargs grep -H "ABC" /dev/null
egrep -r ABC *
  • Buscar por extensión del directorio actual hacia abajo
find ./ -name "*.conf" -print
  • Buscar los ficheros de los usuarios mayores de 5Mb:
find /home -size +5000000c -print
  • Buscar todos los ficheros de un usuario (usando su UID) en todo el sistema:
find / -user 501 -print
  • Buscar todos los ficheros creados o actualizados en los últimos 5 minutos:
find / -cmin -5
  • Buscar todos los ficheros del usuario 20 y cambiarlos a 102
find / -group 20 -exec chown :102 {} \;
  • Buscar todos los ficheros ejecutables con suid y setgid (útil para buscar fallos de seguridad):
 find / \( -perm -4000 -o -perm -2000 \) -type f -exec ls -ldb {} \;
find / -type f -perm +6000 -ls
  • Buscar directorios en los que cualquiera puede escribir:
find / -perm -0002 -type d -print
  • Buscar ficheros en los que cualquiera puede escribir:
find / -perm -0002 -type f -print
find / -perm -2 ! -type l -ls
  • Buscar ficheros sin usuario:
 find / -nouser -o -nogroup -print
  • Buscar ficheros modificados en los últimos 2 días
find / -mtime 2 -o -ctime 2
  • Comparar 2 discos para ver si son iguales:
find / -path /proc -prune -o -path /new-disk -prune -o -xtype f -exec cmp {} /new-disk{} \;


2 notas sobre awk


Para que no se me olvide:

Cambiar el elemento separador de campos

FS=”LOQUESEA”

Concatenar un comando del sistemas para que awk manipule su salida

BEGIN { “comando” | getline; blablabla }

Todo junto en un ejemplo

Como obtener el ultimo directorio de un path completo desde donde estamos trabajando:

dir=`awk ‘BEGIN { FS=”/” ; “pwd” | getline ; print $NF; }’`

Tengo que usar mas awk.



Colores en guiones bash


Seguramente sirvan para otras shells, pero como lo he probado en bash lo comento solopara esta. Como siempre se me olvidan las secuencias de escape de colores y demás, me he hecho un fichero que incluye todas así como unas funciones auxiliares.

Lo podéis descargar de aquí:

Para usarlo en vuestros scripts solo teneis que hacer:

. ./colorines.sh
echo -e "Esto es un texto $GREEN VERDE $NORMAL"
#o usando las funciones auxiliares...
echo "Esto es una `alert ALERTA`"


moeblog is proudly powered by WordPress and themed by Mukkamu