GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo encontrar archivos en Linux con el comando Buscar

Introducción

El find El comando le permite buscar una cadena específica de caracteres utilizando su interfaz de línea de comandos de Linux. Es una herramienta muy práctica ya que no se limita a los nombres de archivos. Puede usarlo para buscar una ubicación específica, agregar opciones para controlar el comportamiento de la búsqueda y usar comandos adicionales para indicarle cómo administrar los datos que encuentra.

Este tutorial le muestra cómo ubicar y administrar archivos en Linux con find comando.

Requisitos previos

  • Acceso a una ventana de terminal/línea de comando
  • Una cuenta de usuario con sudo privilegios

Sintaxis básica del comando de búsqueda

La sintaxis básica del find El comando usa el siguiente formato:

find <options> <location> <expression> <action> <name>
  • Ubicación: Da instrucciones a find dónde empezar a buscar su término de búsqueda.
  • Expresión – Le dice a find qué categoría de información se supone que debe buscar.
  • Acción – La acción El atributo ejecuta un comando en los resultados de la búsqueda. Es un elemento opcional.
  • Nombre – Representa la cadena de texto (u otros datos) que está buscando.
  • Opciones: Este atributo no es un elemento obligatorio de find dominio. Se puede utilizar para controlar el comportamiento y optimizar el proceso de búsqueda.

Cómo utilizar el comando de búsqueda

El find El comando enumera todas las instancias de la cadena de caracteres que incluyó en su búsqueda. El find El comando también le permite definir parámetros de búsqueda, opciones y ubicaciones con un alto nivel de precisión.

Buscar archivos por ubicación

La búsqueda de archivos en función de su cadena de ubicación puede ser un comando simple como:

sudo find /home/user filename

Este comando busca el usuario cuenta en el inicio directorio. Si no está seguro de dónde desea buscar, puede ampliar la ubicación de búsqueda.

Por ejemplo, si tiene dos cuentas de usuario y no recuerda en cuál guardó un archivo, puede ingresar:

sudo find /home filename

El find El comando busca todo lo que se encuentra debajo de /home directorio (incluidos todos los directorios de usuarios) para su término de búsqueda. En nuestro ejemplo, el término de búsqueda es nombre de archivo .

Usa un punto . para buscar en el directorio en el que se encuentra actualmente:

sudo find .

Introduce una barra inclinada / , y su sistema buscará en todo el disco duro:

sudo find /

El carácter de tilde ~ se utiliza para buscar en el directorio de inicio del usuario actual:

sudo find ~

Usar expresiones con el comando de búsqueda

Las expresiones aplican parámetros adicionales a find proceso de búsqueda de comandos. La expresión más común es -name . Esta expresión busca en la ubicación que ha especificado un archivo con el nombre que escribe en el nombre campo.

sudo find –name settings.txt

El sistema buscará en el directorio actual cualquier archivo con el nombre settings.txt.

El sistema solo muestra los nombres de archivo con una coincidencia exacta con sus términos de búsqueda. Esta limitación puede causar problemas si un nombre de archivo tiene letras mayúsculas, por ejemplo.

Para decirle a find para ignorar mayúsculas/minúsculas, use –iname expresión, de la siguiente manera:

sudo find /home –iname filename

El sistema busca en /home directorio y devolver cualquier cosa llamada nombre de archivo , Nombre de archivo , e incluso fIlEnAmE .

Usa el –type d expresión para especificar si está buscando un archivo o un directorio:

sudo find . –type d –name Videos

Este comando buscaría en el directorio actual (con el punto) un directorio con el nombre “Videos .”

Por defecto, find busca archivos, pero puede especificar archivos usando -type f .

Mostrar todos los archivos que no incluyen el nombre buscado:

sudo find . -not filename

Busque archivos con un nivel de permiso determinado:

sudo find . -perm 0000

Devuelve la lista de todos los archivos que pertenecen a un nombre de usuario específico:

sudo find . -user username

Mostrar los últimos 00 archivos modificados:

sudo find . -mtime 00

El valor numérico define el número de archivos que muestra el sistema. Mostrar los últimos 00 archivos accedidos:

sudo find . -atime 00

Mostrar todos los archivos de más de 20 megabytes:

sudo find . -size +20M

El terminal presenta una lista de todos los archivos que coinciden con los criterios de tamaño.

Los comandos que hacen referencia al tamaño de los elementos buscados se pueden usar individualmente para mostrar todos los archivos que superan cierto tamaño, menores que cierto tamaño o dentro de un rango definido.

Buscar nombre o extensión

El name El atributo define el objeto de su búsqueda. El find la herramienta va a la ubicación especificada para cualquier cadena de caracteres que ingrese. Por lo general, el nombre del archivo que está buscando aparece al final del comando, después de la ubicación, las opciones y las expresiones.

Las letras y números estándar se ingresan como una cadena de caracteres al final del comando. Los caracteres especiales (un comodín, un punto, una barra oblicua, etc.) requieren el uso de comillas simples alrededor del nombre. Las comillas simples aseguran que el sistema interprete la solicitud correctamente.

Ingrese el siguiente comando para buscar archivos con una extensión específica, como .html o .php :

sudo find . –type f –name ‘*.html’

El sistema busca en el directorio actual archivos regulares (type –f ) que tienen una extensión de .php . En este caso, el asterisco (el * signo) se utiliza como comodín , lo que significa que puede representar cualquier número de caracteres de cualquier tipo.

Los comodines son útiles si solo recuerda parte del nombre de un archivo o está buscando archivos con una extensión particular.

Realizar acciones con el comando de búsqueda

Hemos visto cómo usar el find Comando para mostrar los resultados de la búsqueda en la ventana de su terminal. Una acción El atributo puede mejorar esa funcionalidad y realizar una tarea particular una vez que se encuentra un archivo.

El siguiente comando busca el contenido real de los archivos (en lugar de solo los nombres de los archivos):

sudo find ~ –type f –exec grep “contents” ‘{}’ \; –print
  1. Le estamos pidiendo al sistema que busque un archivo (-type f ) en el directorio de inicio de nuestro usuario (~ ).
  2. Le indicamos al sistema que tome medidas (-exec ) ejecutando grep comando para buscar en el contenido de todos los archivos la palabra contenido .
  3. El {} los corchetes indican los resultados de coincidencia de find y están entre comillas simples para que grep el comando no los malinterpreta.
  4. Estamos cerrando el grep comando con un punto y coma (; ), y estamos usando una barra invertida (\ ) para que el sistema no malinterprete el punto y coma como una instrucción.
  5. Finalmente, el –print opción le dice al sistema que muestre los resultados.

Copie y pegue este comando en la ventana de su terminal y sustituya su ruta de búsqueda por ~ carácter y su término de búsqueda para la palabra contenido.

Puede usar find –exec combinación para cambiar los permisos de archivos rápidamente:

sudo find /path –name “filename.ext” –exec chmod 777 ‘{}’ \;

Este comando usa el –exec comando para ejecutar chmod para cambiar los permisos de archivo del archivo filename.ext para que todos puedan leerlo, escribirlo y ejecutarlo.

Localice y elimine archivos con el comando de búsqueda

Con el –delete comando, puede buscar y eliminar rápidamente uno o varios archivos con un solo comando.

En este ejemplo, find elimina todos los archivos que terminan con .html extensión.

sudo find . –name “*.html” –delete

Este comando buscará en el directorio actual (que se muestra en el símbolo del sistema) todos los archivos con .html y elimínelos. La imagen ilustra la simplicidad del proceso.

Este tipo de acción es útil para eliminar archivos de copia de seguridad antiguos si sustituyó “*.bak” en lugar de “*.bmp”.

Agregar opciones para encontrar el comando

Las opciones son funciones especiales insertadas antes de la ruta de búsqueda en un find cadena de comandos. El -L , -H y -P son elementos opcionales utilizados para controlar el manejo de enlaces simbólicos.

  • –P Esta opción representa el comportamiento predeterminado. El sistema no sigue enlaces simbólicos.
  • -H El sistema no sigue enlaces simbólicos excepto mientras procesa este comando específico.
  • -L Sigue enlaces simbólicos. La información se toma del archivo al que dirige el enlace. No para el enlace en sí.

Las opciones pueden cambiar el nivel de optimización de búsqueda. Hay tres (3) niveles de optimización que definen cómo el programa de búsqueda organiza las búsquedas y la velocidad de ejecución de esa búsqueda.

  • –O1 Este nivel de optimización se utiliza de forma predeterminada. Las búsquedas basadas en los nombres de los archivos se ejecutan primero.
  • –O2 Las búsquedas basadas en el tipo se ejecutan justo después de las búsquedas basadas en nombres. Antes de que se realicen otras búsquedas.
  • –O3 Las búsquedas se realizan para maximizar la velocidad. Independientemente de otros elementos de consulta.

Linux
  1. Encuentra archivos y directorios en Linux con el comando de búsqueda

  2. Cómo auditar permisos con el comando de búsqueda

  3. Uso del comando de búsqueda de Linux:uso con ejemplos

  4. ¿Cómo encontrar archivos duplicados en Linux? ¡La ayuda está aquí con el comando fdupes!

  5. Cómo usar el comando find de Linux para buscar archivos

Cómo encontrar archivos con el comando fd en Linux

Cómo descargar archivos con el comando Curl en Linux

Cómo descargar archivos con el comando Wget en Linux

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

Cómo encontrar carpetas en Linux

Cómo encontrar archivos con docenas de criterios con el comando Bash Find