Comandos básicos del recorrido de autoaprendizaje de Linxu (comando de búsqueda de búsqueda)

Comandos básicos del viaje de autoaprendizaje de Linux (comando de búsqueda de búsqueda)


Prefacio

1. En la sección anterior, hablamos sobre el comando de localización, principalmente sobre su función y uso básico. Si no lo ha leído, haga clic en el enlace de abajo para ingresar: comando de localización

2. En esta sección hablamos de un comando find que también se puede buscar por nombre de archivo, pero el comando find es más poderoso, no solo se puede buscar por nombre de archivo, sino que también se puede buscar de varias otras formas.


Sugerencia: El siguiente es el contenido de este artículo.

Uno, encuentra

El comando de búsqueda es el mismo que el de ubicar, que puede buscar archivos en el directorio, pero la ubicación solo puede realizar una búsqueda por nombre de archivo, y nuestra búsqueda es diferente. No solo puede buscar nombres de archivos, sino que también admite múltiples formas de realizar una búsqueda.

  • Nombre del comando: buscar
  • El nombre completo del comando: buscar archivos en una jerarquía de directorios
  • Ubicación: / usr / bin / find
  • Autoridad de ejecución: todos los usuarios
  • Descripción de la función: consultar archivos en el directorio
命令格式
find 查找路径 [选项]  搜索内容 [额外选项]

Hay muchas opciones compatibles con find, así que echémosle un vistazo lentamente.

Dos, encuentra uso

1. Buscar por nombre de archivo

命令格式
find 查找路径 [选项] 查找内容
选项:
-name:按照文件名进行查找
-iname:按照文件名进行查找,不区分大小写
-inum:按照inode进行查找

Por ejemplo:
1. Como se muestra en la figura siguiente, encuentro seguida de una ruta que quiero encontrar, a. Significa que quiero encontrar la ruta actual, y la opción -name significa que quiero buscar por nombre de archivo, y el signo * detrás de él significa Coincidir con cualquier número de caracteres, lo que significa que estoy buscando todos los demás archivos que comienzan con if (Buscar todos los archivos que comienzan con if en el directorio de trabajo actual).
Inserte la descripción de la imagen aquí

2. Búsqueda basada en el tamaño del archivo

命令格式
find 查找路径 [选项] 查找内容
选项::
-size [+/-]
(+代表搜索比查找大小大的文件,-代表搜索比查找大小小的文件)
查找内容:
b:这是以文件大小查找的默认查找大小,不写单位的话默认就是512Byte的查找内容
c:搜索单位是c,就是以字节进行查找
k:搜索单位是k,就是以KB进行查找(小写k)
M:搜索单位是M,就是以MB进行查找(大写M)
G:搜索单位是G,就是以GB进行查找(大写G)

Ejemplos:
1.find. -Tamaño 4k: para buscar todos los archivos de este directorio cuyo tamaño sea de 4KB.
Inserte la descripción de la imagen aquí


2.find. -Size + 1M: significa buscar todos los archivos de más de 1 MB en este directorio. (Si 1 está precedido por -, entonces es para buscar archivos de menos de 1 MB, por lo que no lo demostraré aquí)
Inserte la descripción de la imagen aquí

3. Búsqueda basada en la hora de modificación

命令格式
find 查找路径 [选项] 查找内容
-atime [+ | -]时间:按照文件访问时间搜索
-mtime [+ | -]时间:按照文件数据修改时间搜索
-ctime [+ | -]时间:按照文件状态修改时间搜索

Ya hemos hablado de estos tiempos antes, ahora usaré -atime para describir cómo se usa el tiempo [+ | -].

1.find. -Atime 20: Significa buscar los archivos modificados en los dos días anteriores al 20 y 21 en el tiempo de acceso al archivo en este directorio.
Inserte la descripción de la imagen aquí


2.find. -Atime -1: Significa buscar los archivos que han sido modificados dentro de un día de la hora de acceso al archivo en este directorio.
Inserte la descripción de la imagen aquí


3.find. -Atime +2: significa buscar los archivos en este directorio que han sido modificados en el momento de acceso al archivo hace 3 días.
Inserte la descripción de la imagen aquí

Es difícil entender cuántos días hace y cuántos días es esto, puede entenderlo así
{

-atime -10: Si hay un signo menos delante de un número como este, generalmente lo consideramos como el número de días, y -10 significa el número de días .

-atiempo 20: Como este sin ningún signo de suma y resta, todos lo consideramos como los días x anteriores y x + 1 días . Ahora x = 20 significa los 20 días anteriores y el día 21.

-atime +5: si hay un signo más delante de un número como este, todos lo consideramos como x + 1 días atrás, y +5 significa 6 días atrás.
}
¿No es tan fácil de entender?

4. Busca según los permisos

命令格式
find 查找路径 [选项] 查找内容
-perm 权限模式:查找文件权限刚好等于“权限模式”的文件
-perm -权限模式:查找文件权限全部包含“权限模式”的文件
-perm +权限模式:查找文件权限包含“权限模式”的任意一个权限的文件

Por ejemplo:
1.find. -Perm 644: para buscar todos los archivos en este directorio cuyos permisos sean exactamente iguales a 644 permisos. (644 permisos: propietario: leer y escribir; grupo: leer; otros: leer)
Inserte la descripción de la imagen aquí


2.find. -Perm -444: para consultar todos los archivos en este directorio que contienen 444 permisos. ( Es decir, el grupo al que pertenece el propietario del archivo se puede mostrar si todos los demás en el grupo tienen permisos de lectura. Uno menos no funcionará, pero se pueden mostrar más. )
Inserte la descripción de la imagen aquí


3.encontrar. -Perm +444: Consulta los bits de permiso contenidos en este directorio Archivos con 4 permisos ( es decir, si es el propietario u otras personas del grupo, siempre que tenga permisos de lectura, se puede mostrar. Debe tener al menos permiso de lectura para mostrarlo , pero +444, tu propietario pertenece al grupo y otros siempre que tengas permiso de lectura para una de las partes, es decir, las personas que no necesitan que tengas tres partes tienen 444 permisos., Pueden mostrarlo siempre que ya que tienen cualquiera de los permisos de mi código +444)
Inserte la descripción de la imagen aquí

5. Buscar por propietario y grupo

命令格式
find 查找路径 [选项] 查找内容
-uid 用户ID:按照用户ID查找所有者是指定ID的文件
-gid 组ID:按照组ID查找所属组是指定ID的文件
-user 用户名:按照用户名查找所有者是指定用户的文件
-group 组名:按照组名查找所属组是指定用户组的文件
-nouser:查找没有所有者的文件

Dé dos ejemplos de búsqueda basada en el nombre de usuario y el nombre del grupo:

1.find. -User root: para encontrar todos los archivos en el directorio actual cuyo propietario es root.
Inserte la descripción de la imagen aquí


2.find. -Group root: para encontrar todos los archivos en el directorio actual cuyo grupo es root.
Inserte la descripción de la imagen aquí
En cuanto a la opción -nouser, es en realidad encontrar El tipo de archivo sin propietario, ¿cómo se genera este tipo de archivo sin propietario? Por ejemplo, si tiene un archivo copiado de Windows en el disco U, entonces el archivo en el disco U se copia a Linux , y no hay nada de la persona.

6. Busque según el tipo de archivo

命令格式
find 查找路径 [选项] 查找内容
-type d:查找目录
-type f:查找普通文件
-type l:查找软链接文件

Por ejemplo:
1.find.-Type f: para buscar todos los archivos del directorio actual que sean archivos normales.
Inserte la descripción de la imagen aquí

7. Busque al mismo tiempo con operadores lógicos

命令格式
find 查找路径 [选项] 查找内容
-a :and逻辑与
-o :or逻辑或
-not :not逻辑非

Para los operadores lógicos, si has estudiado desarrollo, debes tenerlo muy claro, pero aquí me temo que habrá amigos que no tengan experiencia en desarrollo para ver mi artículo, así que daré tres ejemplos.

-a: y AND lógico = significa que si se establecen ambas condiciones, se establecerá el resultado de la búsqueda .
Ejemplo:
1.find. -user root -a -name jh2.txt: en nombre de encontrar todos los propietarios en el directorio actual El archivo es root y el nombre del archivo es jh2.txt . (Es decir, si se agrega -a entre -user y -name, estas dos condiciones deben cumplirse antes de que find lo encuentre, es decir, el propietario debe ser root. Al mismo tiempo, el nombre del archivo también debe ser jh2.txt)
Inserte la descripción de la imagen aquí




-o: o lógico o = lo que significa que siempre que una de las dos condiciones sea verdadera, find realizará una búsqueda de condición.
Ejemplo:
2.find .-type f -o -type d: significa Buscar el tipo de archivo en el directorio actual que es un archivo normal o un archivo cuyo tipo de archivo es un directorio . (-type f y -type d add -o in between, it significa o, es decir, buscar encontrará archivos con tipo de archivo f, o Diga para buscar archivos cuyo tipo de archivo sea d.)
Inserte la descripción de la imagen aquí




-no: no lógico no = lo que significa invertido.
Por ejemplo:
3.find. -Not -name jh .txt: para consultar todos los archivos en este directorio que no contienen nombres de archivo Son otros archivos de jh.txt . (Esto es fácil de entender, agregar -no significa invertir, como se muestra a continuación, agregar -no es encontrar todos archivos excepto jh.txt)
Inserte la descripción de la imagen aquí

8. Opciones adicionales

命令格式
find 查找路径 [选项] 查找内容 [额外选项]
额外选项:
-exec 命令 {
    
    } \; :(-exec选项可以让你在查询文件的同时使用命令对文件进行操作)

Tomemos el método de búsqueda de nombre de archivo como ejemplo. Como se muestra en la siguiente figura, si encuentro el archivo snljh2 directamente de acuerdo con el nombre del archivo, se mostrará directamente en la pantalla. Aparece / snljh2. Pero tengo una demanda ahora, lo quiero No solo puede buscar el archivo snljh2, sino que también quiero que muestre el archivo snljh2 en un formato largo. Esto requiere nuestra opción adicional -exec.
Inserte la descripción de la imagen aquí
Por ejemplo:

1.find. -Name snljh2 -exec ls -lh {} \; significa encontrar el archivo cuyo nombre de archivo es snljh2 en el directorio actual y mostrarlo en la forma de ls -lh .
{ 1.1: Lo representa después de agregar - opción adicional exec Mientras busca un archivo, puede usar algunos comandos para realizar algunas operaciones en él .

1.2: -exec seguido de ls -lh () = representa el resultado del anterior -nombre snljh2 se asigna al cuadro () para su ejecución, es decir, el archivo snljh2 encontrado se coloca en ls -lh para su ejecución .

1.3: -exec ls -lh () \; = Como para lo siguiente \; representa un significado final y no tiene un significado especial .
}
Inserte la descripción de la imagen aquí


para resumir

Así que en esta sección de la que hemos hablado, hablamos principalmente de

{ 1. La introducción básica de find y sus diversas formas de uso. } En la siguiente sección hablaremos sobre otro comando de búsqueda


Este es Jiehua, ¡nos vemos la próxima!

Supongo que te gusta

Origin blog.csdn.net/qq313088385/article/details/113572292
Recomendado
Clasificación