Comandos Esenciales de find en Linux para Gestión de Archivos y Directorios
Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones
Escrito el en español con un tamaño de 7,47 KB
Comandos Esenciales de find
en Linux para la Gestión de Archivos y Directorios
Este documento presenta una serie de comandos prácticos utilizando la utilidad find
en sistemas Linux, cubriendo desde la creación y copia de archivos hasta búsquedas avanzadas por nombre, permisos, fechas y tamaños, así como acciones de modificación y eliminación.
Creación de Archivos
Crea el fichero vacío llamado
respaldo.txt
en tu directorio personal (home
).touch respaldo.txt
Copia de Archivos
Copia el fichero anterior (
respaldo.txt
) en dos nuevos archivos: uno llamadorespaldo.php
y otro llamadoRESPALDO.txt
.cp respaldo.txt respaldo.php RESPALDO.txt
Búsqueda de Archivos por Nombre
Busca todos los archivos cuyo nombre sea
respaldo.txt
en el directorio de trabajo actual.find . -type f -name "respaldo.txt"
Busca todos los archivos bajo el directorio
/home
con el nombrerespaldo.txt
.find /home/ -type f -name "respaldo.txt"
Busca todos los archivos cuyo nombre sea
respaldo.txt
, ignorando mayúsculas y minúsculas, en el directorio/home
.sudo find /home/ -iname "respaldo.txt"
Búsqueda de Directorios
Busca todos los directorios cuyo nombre empiece por
dir
en el directorio raíz (/
).sudo find / -type d -name "dir*"
Búsqueda de Archivos por Extensión
Busca todos los archivos PHP (
.php
) en el directorio de trabajo actual.find . -type f -name "*.php"
Busca todos los archivos PHP en el directorio
/home
.sudo find /home/ -type f -name "*.php"
Búsqueda de Archivos por Permisos
Busca todos los archivos con permisos exactos 777.
sudo find / -type f -perm 777
Busca todos los archivos que no tienen permisos 777.
sudo find / -type f -not -perm 777
Busca todos los archivos con el bit SGID (Set Group ID) establecido y permisos 644.
sudo find / -type f -perm 2644
Busca todos los archivos con el bit Sticky establecido y permisos 551.
sudo find / -type f -perm 1551
Búsqueda de Archivos por Propietario
Busca todos los archivos que pertenecen al usuario
usuario
(reemplazausuario
por el nombre de usuario real).sudo find / -type f -user usuario
Busca todos los archivos de solo lectura.
sudo find / -type f -perm /u=r,g=r,o=r ! -perm /u=w,g=w,o=w
Nota: El comando original
find / -type f ".*"
busca archivos que empiezan con un punto, no archivos de solo lectura. El comando corregido busca archivos que tienen permiso de lectura para todos y no tienen permiso de escritura para nadie.Busca todos los archivos ejecutables.
sudo find / -type f -executable
Nota: El comando original
find / -type f -name ".sh"
busca archivos llamados exactamente.sh
, no todos los archivos ejecutables ni todos los scripts de shell (que serían*.sh
). El comando corregido busca cualquier archivo que tenga el bit de ejecución establecido.Acciones sobre Archivos Encontrados
Busca todos los archivos con permisos 777 y utiliza el comando
chmod
para establecer sus permisos a 644.sudo find / -type f -perm 777 -exec chmod 644 {} \;
Busca todos los directorios con permisos 777 y utiliza el comando
chmod
para establecer sus permisos a 755.sudo find / -type d -perm 777 -exec chmod 755 {} \;
Eliminación de Archivos
Busca los archivos llamados
respaldo.txt
y elimínalos.sudo find / -type f -name "respaldo.txt" -exec rm {} \;
Busca los ficheros con extensión
.txt
en tu directorio personal (/home/usuario/
) y elimínalos.sudo find /home/usuario/ -type f -name "*.txt" -exec rm {} \;
Busca los archivos vacíos que hay en tu directorio personal (
/home/usuario/
) y elimínalos.sudo find /home/usuario/ -type f -empty -exec rm {} \;
Busca todos los directorios vacíos que hay en el sistema de archivos (desde la raíz
/
).sudo find / -type d -empty
Búsqueda de Archivos por Fecha y Hora
Busca los archivos que se modificaron exactamente hace 50 días.
sudo find / -type f -mtime 50
Busca los archivos a los que se accedió exactamente hace 50 días.
sudo find / -type f -atime 50
Busca todos los archivos que se modificaron hace más de 50 días y menos de 100 días.
sudo find / -type f -mtime +50 -mtime -100
Busca todos los archivos cuyos metadatos (estado) se cambiaron en la última hora (menos de 60 minutos).
sudo find / -type f -cmin -60
Busca todos los archivos que se modificaron (contenido) en la última hora (menos de 60 minutos).
sudo find / -type f -mmin -60
Busca todos los archivos a los que se accedió en la última hora (menos de 60 minutos).
sudo find / -type f -amin -60
Búsqueda de Archivos por Tamaño
Busca todos los archivos con un tamaño exacto de 50 MB.
sudo find / -type f -size 50M
Busca todos los archivos que son mayores a 50 MB y menores a 100 MB.
sudo find / -type f -size +50M -size -100M
Busca todos los archivos de 100 MB y elimínalos utilizando un solo comando.
sudo find / -type f -size 100M -exec rm {} \;
Busca todos los archivos
.mp3
con un tamaño superior a 10 MB y elimínalos utilizando un solo comando.sudo find / -type f -name "*.mp3" -size +10M -exec rm {} \;