GNU/Linux >> Tutoriales Linux >  >> Linux

25 ejemplos prácticos útiles del comando find en Linux

El comando Buscar es uno de los comandos más útiles e importantes utilizados en Linux. Está disponible e instalado por defecto en casi todas las versiones de Linux. Todo en Linux está en forma de archivos, y deberíamos poder ubicar un archivo cuando sea necesario.

Con el uso del comando de búsqueda, podemos buscar los archivos que se necesitan en función de una serie de criterios de búsqueda, podemos usar solo o combinar una serie de criterios y luego podemos realizar acciones en el resultado obtenido. En este tutorial, vamos a discutir el comando de búsqueda con la ayuda de algunos ejemplos,

1) Lista todos los archivos en el directorio actual y sus subdirectorios

Para enumerar todos los archivos en el directorio actual y los subdirectorios, podemos usar

$ find

Alternativamente, también podemos usar 'buscar. ', que también proporcionará el mismo resultado que el anterior.

2) Encuentra todos los archivos o directorios de tu directorio de trabajo actual

Para buscar solo directorios, podemos usar

$ find . -type d

Para buscar solo en todos los archivos y no en los directorios, utilice

$ find . -type f

3) Lista todos los archivos de un directorio específico

Para encontrar todos los archivos en un directorio en particular, podemos usar

$ find /root

Este comando buscará todos los archivos en el directorio /root.

4) Encuentra un archivo con nombre en un directorio

Para buscar un archivo por su nombre en un directorio en particular, el comando es

$ find /root -name "linuxtechi.txt"

Esto buscará el archivo linuxtechi.txt en la carpeta /root. También podemos buscar todos los archivos con extensión .txt,

$ find /root -name "*.txt"

5) Encuentra un archivo en múltiples directorios

Para encontrar un archivo por su nombre en varios directorios, podemos usar

$ find /root /etc -name "linuxtechi.txt"

Con este comando, podemos buscar el archivo linuxtechi.txt en los directorios /root &/etc.

6) Encuentra un archivo con nombre ignorando mayúsculas y minúsculas

Para buscar un archivo con su nombre independientemente del caso, es decir, si está en mayúsculas o minúsculas, podemos usar '-iname ‘opción en el comando de búsqueda

$ find /root -iname "Linuxtechi.txt"

El resultado del comando proporcionará todos los archivos con el nombre linuxtechi.txt, ya sea en minúsculas, mayúsculas o en una combinación de mayúsculas y minúsculas.

7) Encuentra todos los tipos de archivos que no sean el tipo mencionado

Supongamos que queremos encontrar todos los archivos que no son del tipo mencionado, para lograr esto podemos usar,

$ find /root -not -name "*.txt"

8) Encuentra archivos con múltiples condiciones

También podemos combinar más de una condición para buscar los archivos, supongamos que queremos buscar archivos de extensiones '.txt' y '.html'

$ find . -regex ".*\.\(txt\|html\)$"

9) Encuentra archivos usando la condición OR

También podemos combinar múltiples criterios de búsqueda y luego buscar los archivos en función del cumplimiento de cualquiera de las condiciones usando el operador OR,

$ find -name "*.txt" -o -name "linuxtechi*"

10) Encuentra todos los archivos según sus permisos

Para buscar archivos según los permisos, use -perm opción en el comando de búsqueda

$ find /root -type f -perm 0777

11) Encuentra todos los archivos ocultos

Para buscar todos los archivos ocultos en un directorio, el comando es

$ find  ~ -type f name ".*"

12) Encuentra todos los archivos con SGID

Para localizar todos los archivos con bits SGID, podemos usar

$ find . -perm /g=s

13) Encuentra todos los archivos con SUID

Para localizar todos los archivos con bits SUID, usaremos

$ find . -perm /u=s

14) Encuentra todos los archivos ejecutables

Para buscar solo los archivos que son ejecutables, el comando es

$ find . -perm /a=x

15) Encuentra todos los archivos de solo lectura

También podemos buscar solo archivos de solo lectura usando el comando de búsqueda,

$ find /root -perm /u=r

16) Encuentra todos los archivos propiedad de un usuario

Para ubicar todos los archivos que son propiedad de un usuario en particular, por ejemplo linuxtechi, usaremos el siguiente comando,

$ find . -user linuxtechi

17) Encuentra todos los archivos propiedad de un grupo

Para ubicar todos los archivos que son propiedad de un grupo en particular, use

$ find . -group apache

18) Encuentra archivos de un tamaño particular

Si queremos buscar un archivo del que sabemos el tamaño exacto, podemos usar '-size ‘opción con el comando de búsqueda para localizar el archivo

$ find / -size -2M

19) Encuentra todos los archivos de rango de tamaño

Si buscamos un archivo del que no sabemos el tamaño real pero conocemos un rango de tamaño o simplemente queremos ubicar todos los archivos dentro de un rango de tamaño, entonces también podemos ubicar el archivo usando ese criterio

$ find / -size +2M -size -5M

También podemos usar el comando de búsqueda para ubicar todos los archivos cuyo tamaño es mayor a 50 MB

$ find / -size +50M

20) Encuentra archivos que fueron modificados hace N días

Por ejemplo, queremos localizar todos los archivos que han sido modificados hace 8 días. Podemos lograr eso usando '-mtime ‘opción en el comando de búsqueda

$ find / -mtime 8

21) Encuentra archivos a los que se accedió hace N días

De manera similar al ejemplo anterior, también podemos ubicar archivos a los que se accedió hace 8 días usando '-atime',

$ find / -atime 8

22) Encuentra todos los archivos o directorios vacíos

Para ubicar todos los archivos vacíos en el sistema, usaremos el comando debajo

$ find / -type f -empty

Del mismo modo, para localizar todos los directorios vacíos

$ find ~/ -type d -empty

23) Encuentra archivos más grandes y más pequeños

Para enumerar el archivo más grande o más pequeño, combinaremos 'ordenar ‘comando con el comando de búsqueda y si además queremos enumerar los tres primeros de esos archivos más grandes, combinaremos ‘head ‘ comando.

Para enumerar los tres archivos principales en el directorio actual, el comando es

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

De manera similar, podemos encontrar los archivos más pequeños en el directorio actual,

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

24) Encuentra todos los archivos con permisos específicos y cámbialos a 644 (u otros permisos)

Con el comando de búsqueda, también podemos lograr algunas funcionalidades avanzadas. Por ejemplo, podemos enumerar todos los archivos que tienen el permiso 644 y luego cambiar esos permisos a 777. Para hacer esto, ejecute

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

25) Encuentre todos los archivos que coincidan con un criterio y elimínelos

Es posible que debamos localizar y eliminar archivos que coincidan con un criterio. Para hacer esto con el comando de búsqueda, ejecute

$ find / -type f -name 'linuxtechi.*' -exec rm -f {} \;

Estos fueron algunos ejemplos simples que demuestran la funcionalidad del comando de búsqueda y se puede usar para realizar tareas de búsqueda/ubicación tediosas y repetitivas más fácilmente.

Lea también :16 ejemplos útiles de comandos 'cp' para principiantes de Linux


Linux
  1. 12 ejemplos útiles de comandos Wget en Linux

  2. Ejemplos prácticos del comando rsync en Linux

  3. Ejemplos prácticos del comando Descomprimir en Linux

  4. Comando rsync de Linux con ejemplos prácticos

  5. encontrar ejemplos de comandos en Linux

50 ejemplos simples y útiles del comando Buscar en Linux

16 Ejemplos Prácticos y Útiles del Comando Echo en Linux

15 ejemplos prácticos del comando Rsync en Linux

15 ejemplos súper útiles del comando Buscar en Linux

Tutorial de comando de búsqueda de Linux (con ejemplos)

¡Mami, lo encontré! — 15 ejemplos prácticos de comandos de búsqueda de Linux