Nexolinux
Sistemas Linux, servidores web, certificaciones, LPIC, Linux básico y profesional
Navigation
  • Home
  • Bash
  • LPIC
  • Noticias
  • Seguridad
  • Servicios
  • HowTo’s
You are here: Home › Bash & Comandos › Comando Find con ejemplos.

Comando Find con ejemplos.

27 noviembre, 2012 | Filed under: Bash & Comandos, LPIC, Nivel Basico and tagged with: comando find, comando find linux, comandos linux basicos, Linux certification, lpi, uso find linux

Nota editor: Por un error de interpretación del html, he reeditado para que el comando find ejecute otro comando ya que se comía un parámetro.

Antes:

m3t4g4m3 nexolinux: ~ $ find . - perm g=r -type f -exec ls -l {} \;

Después:

m3t4g4m3 nexolinux: ~ $ find . - perm g=r -type f -exec ls -l {} \\;

Si no ponemos el caracter de escape «\\» el shell interpretará el «;» como una concatenación de comandos y daría fallo del primero por faltar ese parámetro.

 

Si hay comandos que hay que conocer a fondo, este es uno de ellos, en ocasiones localizar ficheros en la shell es un poco caótico. y en ocasiones no podemos perder demasiado tiempo para encontrarlo, voy a dar una guía para montar ejemplos prácticos y se puedan ver los resultados.

En primer lugar vamos a crear la siguiente estructura, para ello tenemos este script que lo ejecutáis y os lo creará:

m3t4g4m3 nexolinux: ~ $ vi find.sh
!#/bin/bash
touch NexoLinux.sh
touch nexolinux.c
touch nexo.c
touch nexoLinux.c
mkdir nexo
cd nexo/
touch NexoLinux.sh
touch nexolinux.c
touch nexo.c
touch nexoLinux.c
m3t4g4m3 nexolinux: ~ $ chmod +x find.sh
m3t4g4m3 nexolinux: ~ $ sh find.sh
m3t4g4m3 nexolinux: ~ $ tree
├── nexo
│   ├── nexo.c
│   ├── nexolinux.c
│   ├── nexoLinux.c
│   └── NexoLinux.sh
├── nexo.c
├── nexolinux.c
├── nexoLinux.c
└── NexoLinux.sh
1 directory, 8 files

Encontrar ficheros usando el nombre.

m3t4g4m3 nexolinux: ~ $ find -name nexolinux.c
./nexo/nexolinux.c
./nexolinux.c
Con este ejemplo mientras no pongamos nada find buscará en la ruta sobre la que estamos y subcarpetas, si pusieramos «find /home -name nexolinux.c» buscaría en la carpeta /home y subcarpetas.

Encontrar ficheros con un nombre determinado ignorando mayúsculas

m3t4g4m3 nexolinux: ~ $ find -iname "nexolinux.c" 
./nexo/nexoLinux.c 
./nexo/nexolinux.c 
./nexoLinux.c 
./nexolinux.c

Encontrar y listar ficheros con unos permisos determinados, en este caso con permiso de lectura para grupos, en ocasiones puede ser útil por un servicio o programa determinado que falla y no sabemos en qué subcarpeta le faltan permisos

m3t4g4m3 nexolinux: ~ $ find . - perm g=r -type f -exec ls -l {} \\;

Encontrar los 5 ficheros más grandes.

m3t4g4m3 nexolinux: ~ $ find . -type f -exec ls -s {} \\; sort -n -r | head -5

Encontrar los 5 ficheros más pequeños:

m3t4g4m3 nexolinux: ~ $ find . -type f -exec ls -s {} \\; sort -n | head -5

Encontrar ficheros basados en un tipo, para buscar sólo carpetas, ficheros o lo que queramos:

Si queremos buscar ficheros exclusivamente:
m3t4g4m3 nexolinux: ~ $ find . -type f 
Para buscar carpetas:
m3t4g4m3 nexolinux: ~ $ find . -type d

Buscar ficheros más grandes de un determinado tamaño, como por ejemplo más de 100 Megas:

m3t4g4m3 nexolinux: ~ $ find /home -size +100M
Con menos de 100 Megas:
m3t4g4m3 nexolinux: ~ $ find /home -size -100M
También se pueden encontrar ficheros basados en el tiempo de acceso, modificación y cambio.

Ficheros que se han cambiado durante la última hora:

-mmin n El fichero fue modificado hace n minutos
-mtime n El fichero fue modificado hace n*24 horas
Por ejemplo para buscar un fichero en el directorio actual que se haya actualizado en la última hora:
m3t4g4m3 nexolinux: ~ $ find . -mmin -60
Y para hacerlo en las últimas 24 horas:
m3t4g4m3 nexolinux: ~ $ find . -mtime -1

Fichero a los que se ha accedido hace una hora como mucho:

-amin n El fichero fue accedido hace n minutos.

-atime n el fichero fue accedido hace n*24 horas.
En este ejemplo vamos a buscar ficheros accedidos en la última hora:
m3t4g4m3 nexolinux: ~ $ find -amin -60

Ficheros que se han cambiado antes de una hora:

-cmin n Ficheros cambiados en los últimos n minutos.
-ctime n Ficheros cambiados en las últimas n*24 horas.
Este es otro ejemplo de los que se han cambiado en la última hora:
m3t4g4m3 nexolinux: ~ $ find . -cmin -60

Encontrar ficheros que han sido accedidos después de una modificación de un fichero específico:

m3t4g4m3 nexolinux: ~ $ find -anewer Fichero
Este es un ejemplo práctico:
m3t4g4m3 nexolinux: ~ $ find -anewer /opt/apache

# Si necesitas un manual del LPIC no dudes en descargarlos de lpic-documentacion-oficial


Comparte esto:

  • Facebook
  • Twitter
  • LinkedIn

Me gusta esto:

Me gusta Cargando...

Categorías.

  • Bases de datos
  • Bash & Comandos
  • HowTo
  • Linux General
  • LPIC
  • LPIC-2
  • Nivel Avanzado
  • Nivel Basico
  • Noticias
  • Seguridad
  • Servicios
  • Servidor Web

Entradas y Páginas Populares

  • Ficheros de usuarios /etc/passwd y /etc/shadow
    Ficheros de usuarios /etc/passwd y /etc/shadow
  • Ejemplos usos mount y umount
    Ejemplos usos mount y umount
  • Instruccion READ en Bash
    Instruccion READ en Bash
  • Directorios Apache Tomcat
    Directorios Apache Tomcat
  • 15 dispositivos que funcionan con Linux
    15 dispositivos que funcionan con Linux
  • HowTo:Ejecutar comando como otro usuario.
    HowTo:Ejecutar comando como otro usuario.
  • Comandos más usados para gestionar Iptables
    Comandos más usados para gestionar Iptables
  • HowTo: Ver histórico de comandos en MySQL
    HowTo: Ver histórico de comandos en MySQL
  • Proxy Squid, control de accesos ACL (II)
    Proxy Squid, control de accesos ACL (II)
  • Comando Lsof, Comprobar ficheros abiertos.
    Comando Lsof, Comprobar ficheros abiertos.

© 2024 Nexolinux

Utilizamos cookies propias y de terceros para mejorar nuestros servicios y mostrar publicidad relacionada con tus preferencias. cerrar Política de cookies
Privacidad y política de cookies

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary
Siempre activado
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Non-necessary
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.
GUARDAR Y ACEPTAR
%d