El comando Buscar en linux

  

El comando encontrar es muy práctico en Linux, incluso más abundante que la función de búsqueda en el sistema Microsoft. Abajo, Lao Cai vino a explicar la sintaxis y el funcionamiento real del comando Buscar.

buscar sintaxis:

buscar [directorio de inicio] Buscar operaciones condicionales

También hay una forma de expresar: buscar OPCIÓN DE CAMINO [-exec COMMAND {} \\;] < Br>

Debido a que el comando de búsqueda buscará recursivamente los archivos en el archivo y sus subdirectorios según las opciones que brindamos, es decir, en busca de condiciones, por lo que creo que este lugar es "ld"; El directorio de inicio " es muy bueno.

La condición de búsqueda en este comando puede ser una condición compuesta que consiste en operadores lógicos que no, y, o. Los significados de los operadores lógicos y, o, no son:

(1) y: AND lógico, expresado en el comando por " -a ", es la opción predeterminada del sistema, que indica que solo se dan las condiciones Cuando ambos están satisfechos, la búsqueda de condiciones se considera satisfactoria. Por ejemplo:

encuentre – nombre ‘ tmp ’ – x escriba c -user ‘ inin ’

% Este comando busca todos los archivos que satisfacen las tres condiciones dadas

(2) o: Lógica OR, expresada en el comando por " -o ". Este operador indica que se cumple la condición de búsqueda siempre que se cumpla una de las condiciones dadas. Por ejemplo:

busque – nombre ‘ tmp ’ – o – nombre ‘ mina * ’

% El nombre del archivo de consulta de comando es ’ tmp ’ o match ’ Mina * ’ todos los archivos.

(3) no: la lógica no se indica en el comando por "! ". Este operador indica que se encuentra el archivo que no satisface la condición dada. Por ejemplo:

encuentra! &Ndash; nombre ‘ tmp ’

% Este comando consulta todos los archivos cuyo nombre de archivo no es ‘ tmp ’.

Debe tenerse en cuenta que cuando se utilizan muchas opciones lógicas, puede colocar estas opciones entre corchetes. Para evitar que el shell entienda mal los paréntesis, debe agregar el carácter de escape " \\ " antes del número de teléfono para eliminar el significado de los corchetes.

Ejemplo:

buscar \\ (– nombre ‘ tmp ’ – xtype c -user ‘ inin ’ \\)

Creo que debería decir Fuera de las condiciones de consulta, el contenido de las opciones en encontrar:

En la opción, hay parámetros específicos:

-name ‘ string ’ find el nombre del archivo coincide con la cadena dada Para todos los archivos, los caracteres comodín *,?, [] Están disponibles en la cadena.

-lname ‘ String ’ Encuentre todos los archivos de enlaces simbólicos cuyo nombre de archivo coincida con la cadena dada. Los comodines *,?, [] están disponibles en la cadena.

-gid n Encuentra todos los archivos que pertenecen al grupo de usuarios con el número de identificación n.

-uid n Encuentra todos los archivos que pertenecen a un usuario con el número de identificación n.

-group ‘ String ’ Encuentra todos los archivos que pertenecen al grupo de usuarios llamado string.

-user ‘ String ’ Encuentra todos los archivos que pertenecen al nombre de usuario dado por la cadena.

-empty Busque un directorio o archivo de tamaño 0.

-path ’ String ’ Encuentre todos los archivos cuyo nombre de ruta coincida con la cadena dada. Los caracteres comodín *,?, [] están disponibles en la cadena.

-perm Permisos Encuentre archivos y directorios con los permisos especificados. La representación de los permisos puede ser de 711,644.

-size n [bckw] Busca el archivo del tamaño de archivo especificado. Los caracteres después de n representan la unidad. El valor predeterminado es b, que representa un bloque de 512 bytes.

-type x Encuentre archivos de tipo x, donde x es uno de los siguientes caracteres:

b archivo de dispositivo de bloque

c archivo de dispositivo de carácter de caracteres

d Archivos de directorio

p Canalizaciones con nombre (FIFO)

f Archivos normales

l Enlaces simbólicos

s socket Files

-xtype x es básicamente el mismo que -type, pero solo busca archivos de enlace simbólicos.

Búsqueda a tiempo

-amin n Encuentre todos los archivos a los que se accedió hace n minutos.

-atime n Encuentre todos los archivos que se han visitado hace n días.

-cmin n Encuentre todos los archivos cuyo estado de archivo se haya modificado hace n minutos.

-ctime n Encuentre todos los archivos cuyo estado de archivo se haya modificado hace n días.

-mmin n Encuentra todos los archivos cuyo contenido se haya modificado hace n minutos.

-mtime n Encuentre todos los archivos cuyos contenidos se hayan modificado hace n días.

-print: Salida de resultados de búsqueda a salida estándar.

Ejemplo: encuentre los archivos raíz y subdirectorio que no incluyen el directorio /raíz /bin, el usuario griego, el tipo de archivo es un archivo normal y el archivo llamado test-find.c hace 3 días, y La salida de la estructura, comando de búsqueda es la siguiente:

encuentra /-name " test-find.c " -type f -mtime +3 -user greek -prune /root /bin -print

Por supuesto En esto, -print es una opción predeterminada, no tenemos que configurarlo deliberadamente.

Echemos un vistazo a la opción exec:

-exec: El comando de shell especificado para la directiva de estructura de búsqueda. Tenga en cuenta que el formato debe ser correcto: " comando -exec {} \\; "

Debe haber un espacio entre} y \\;

{} significa que el parámetro del comando es El archivo encontrado; el final del comando debe terminar con " \\; ".

Ejemplo: para eliminar el archivo buscado por el ejemplo anterior, el comando es el siguiente:

buscar /-name " test-find.c " -type f -mtime +3 -user greek -prune /root /bin -exec rm {} \\;

ejemplo de directiva de comando de búsqueda:

find. – nombre ‘ main * ’ – exec más {} \\; < Br>

% Encuentra todos los archivos en el directorio actual que comienzan con main y muestra el contenido de esos archivos.

encuentra. \\ (- nombre a.out – o – nombre ‘ *. o ’ \\) > – atime +7 – exec rm {} \\;

% Borra los archivos .out o * .o a los que no se ha accedido en el directorio actual durante todas las semanas.

% El ". " en el comando indica el directorio actual. En este momento, la búsqueda comenzará desde el directorio actual y encontrará los archivos en sus subdirectorios que cumplan con las condiciones especificadas.

% " \\ (" and " \\) " significa paréntesis (), donde " \\ " se denomina carácter de escape. La razón de esto es que para el Shell, (y) tiene un significado diferente, no el propósito de combinar condiciones aquí.

% " -name a.out " significa buscar un archivo llamado a.out;

% " -name ‘ *. o ’ " significa buscar Todos los archivos cuyos nombres terminan en .o.

El -o entre estos dos nombres representa un OR lógico (o), que consiste en buscar un archivo cuyo nombre es a.out o cuyo nombre termine con .o.

% El comando buscar encuentra el archivo en el directorio actual y sus subdirectorios, y luego determina si la última vez que accedió fue hace 7 días (condición -tiempo +7), y si es así, entonces Este archivo ejecuta el comando rm (-exec rm {} \\;).

donde {} representa el nombre de archivo calificado encontrado actualmente, \\; es requerido por la gramática.

% El último \\ en la primera línea del comando anterior es un carácter de continuación. Cuando el comando es demasiado largo para escribir en una línea, puede ingresar un \\ y el sistema mostrará un > para indicar al usuario que continúe ingresando el comando.

Copyright © Conocimiento de Windows All Rights Reserved