imagen

imagen

Fuente : http://u6.gg/kq67b, editor de estilo: ingeniero de redes Aaron

Compruebe la ruta absoluta del comando: 

que se utiliza para buscar y mostrar la ruta absoluta de un comando dado, y también se puede encontrar el parámetro PATH en la variable de entorno.

[root@localhost ~]# which bash
/usr/bin/bash

[root@localhost ~]# which ls

alias ls='ls --color=auto'
    /usr/bin/ls


Encuentre un archivo específico: 

El comando whereis se usa para ubicar la ruta del programa binario, el archivo de código fuente, la página del manual y otros archivos relacionados con la instrucción. Este comando solo se puede usar para buscar el nombre del programa.

[root@localhost ~]# whereis --help

语法格式:[ whereis [选项] 文件名 ]

        -b              #只找二进制文件
        -m              #只找man文档
        -s              #只找源代码

Utilice el comando whereis -b para buscar archivos binarios y manuales de ayuda.

[root@localhost ~]# whereis -b ifconfig
ifconfig: /usr/sbin/ifconfig

[root@localhost ~]# whereis -m ifconfig
ifconfig: /usr/share/man/man8/ifconfig.8.gz


Archivos de búsqueda de caché: 

localizar busca una base de datos /var/lib/mlocatedb, que contiene toda la información de archivos locales. El sistema Linux crea automáticamente esta base de datos y la actualiza automáticamente una vez al día, por lo que los últimos archivos modificados no se pueden encontrar usando el comando de localización. Para evite esto En este caso, puede usar el comando updatedb para actualizar manualmente la base de datos antes de usar la ubicación.El comando updatedb actualizará el archivo de acuerdo con /etc/updatedb.conf.

[root@localhost ~]# yum install -y mlocate
[root@localhost ~]# locate --help

语法格式:[ locate [选项] 文件名 ]

        -d 目录        #指定数据库所在的目录
        -i             #忽略大小写差异
        -r             #后面接正则表达式

Utilice el comando de localización para consultar un archivo.

[root@localhost ~]# updatedb 
[root@localhost ~]# locate /etc/passwd
/etc/passwd
/etc/passwd-


Recorra el archivo para encontrar:

 Se puede decir que el comando de búsqueda es el comando de búsqueda más importante, y este comando tiene muchos parámetros.

[root@localhost ~]# find --help

语法格式:[ find [目录] [属性] 文件名 ]

        -name         #按文件名查找
        -size         #根据大小查找
        -user         #根据属主查找
        -perm         #根据权限查找
        -type         #根据类型查找
        -time         #按时间查找
        -inum         #根据i节点查询
        -exec         #查找后执行命令


-nombre Buscar por nombre de archivo:

Comodines de consulta comunes

\*     #匹配任意一个或多个字符
?     #匹配任意一个字符
[]     #指定范围,外侧加引号

Busque archivos que terminen en .log en el directorio /var/.

[root@localhost ~]# find /var/ -name "*.log"
/var/log/tuned/tuned.log
/var/log/audit/audit.log
/var/log/anaconda/X.log
/var/log/anaconda/program.log
....省略....

Encuentre archivos en el directorio /root/ con [1-3] que terminan en .txt


[root@localhost ~]# ls
1.txt  2.txt  3.txt  Catalog  File

[root@localhost ~]# find /root/ -name "[1-3].txt"
/root/1.txt
/root/2.txt
/root/3.txt

Encuentre archivos en el directorio /etc/ que comiencen con 6 caracteres arbitrarios

[root@localhost ~]# find /etc/ -name "??????"
/etc/grub.d
/etc/grub.d/README
/etc/shells
/etc/init.d
....省略....


-tamaño buscar por tamaño

单位是 block 数据块  一块是512字节
1M -> 1024k -> 2048 块  (1块是0.5k 也就是512字节)
100M -> 102400k -> 204800块

Encuentre archivos de menos de 10k en el directorio /etc/

root@localhost ~]# find /etc/ -size -10k
/etc/crypttab
/etc/.pwd.lock
/etc/environment
....省略....

Encuentre archivos de más de 1M en el directorio /etc/

[root@localhost ~]# find /etc/ -size +1M   #查询大于1M的文件
/etc/udev/hwdb.bin
/etc/selinux/targeted/active/policy.kern
/etc/selinux/targeted/contexts/files/file_contexts.bin
/etc/selinux/targeted/policy/policy.31
....省略....

#注意:+-号如果没有,是精确到这么大,通常都会带上+或-号表示一个范围.


-usuario Buscar por propietario y permisos

Encuentre archivos pertenecientes al usuario wang en el directorio /root

[root@localhost ~]# find /root/ -user wang
/root/1.txt
/root/2.txt
/root/3.txt
#注意:系统中要存在该用户,否则会报错误.

Encuentre archivos con permisos 644 en el directorio /boot/

[root@localhost ~]# find /boot/ -perm 0644
/boot/grub2/device.map
/boot/grub2/i386-pc/gcry_rmd160.mod
/boot/grub2/i386-pc/acpi.mod
/boot/grub2/i386-pc/gcry_rsa.mod
....省略....


-tipo buscar por tipo

-type f 二进制文件(普通文件)
-type l 软链接文件
-type d 目录

Busque el directorio /usr/bin/, el tipo es un archivo binario.

[root@localhost ~]# find /usr/bin/ -type f
/usr/bin/cp
/usr/bin/gzip
/usr/bin/alias
/usr/bin/csplit
/usr/bin/bash
....省略....


-tiempo encontrar por tiempo

按天数   ctime  atime  mtime
按分钟   cmin   amin     mmin

  c  change   #表示属性被修改过:所有者、所属组、权限
  a  access   #被访问过(被查看过)
  m  modify   #表示内容被修改过

Encuentre archivos cuyo contenido se haya modificado en 120 minutos en el directorio /etc/

[root@localhost ~]# find /etc/ -mmin -120
/etc/
/etc/resolv.conf
/etc/group-
/etc/gshadow-
/etc/group
/etc/gshadow
....省略....

Encuentre archivos cuyos atributos hayan sido modificados antes de 7 días en el directorio /etc/

[root@localhost ~]# find /etc/ -ctime +7
/etc/resolv.conf
/etc/group-
/etc/gshadow-
....省略....


-inum consulta basada en i-node

Algunos archivos tienen una gran cantidad de enlaces duros y tienen el mismo nodo i. Busque el número de nodo i de uno de los archivos y elimínelos a la vez.

[root@localhost ~]# find ./ -inum 1024 -exec rm{} \;   #删除相同I节点的数据


-y o conector lógico

-a    (and 逻辑与)     
-o    (or  逻辑或)

En el directorio /etc/, busque archivos de más de 1k y menos de 10k

[root@localhost ~]# find /etc/ -size +1k -a -size -10k
/etc/
/etc/grub.d/00_header
/etc/grub.d/20_ppc_terminfo
/etc/grub.d/00_tuned
/etc/rc.d/init.d/README
/etc/rc.d/init.d/netconsole
/etc/rc.d/init.d/network
/etc/pam.d
....省略....


-exec conector de ejecución de comandos

[查询格式] find  ...  -exec 命令 {}  \;

{}        #表示find查询的结果集
\         #是转义符,不使用命令别名,直接使用命令本身
;         #分号是表示语句的结束.

#注意:固定格式,只能这样写.注意中间的空格.
(公众号:网络工程师阿龙)-----------------------------------------------------------------
说明: 转义符的作用是什么?

在linux中有一个别名机制,如rm删除文件,执行的却是rm -i(用which rm 可以查看命令别名),
使用rm删除文件前会提示,就是因为rm -i这个参数。如果想使用命令原意,可以在加\转义,
如:\rm test.txt   则不会提示,直接删除

Busque el archivo cuyo nombre termina con .log en el directorio /var/log/ y ejecute ls -l para mostrar la información detallada.

[root@localhost ~]# find /var/log/ *.log -exec ls -l {} \;
total 1176
drwxr-xr-x. 2 root   root      204 Sep 18 09:12 anaconda
drwx------. 2 root   root       23 Sep 18 09:12 audit
-rw-------. 1 root   root    53001 Sep 19 00:57 boot.log
-rw-------. 1 root   utmp      384 Sep 18 09:22 btmp
drwxr-xr-x. 2 chrony chrony      6 Apr 12 13:37 chrony
-rw-------. 1 root   root     3523 Sep 19 01:01 cron
-rw-r--r--  1 root   root   119414 Sep 19 00:57 dmesg
-rw-r--r--  1 root   root   119599 Sep 18 23:35 dmesg.old
-rw-r--r--. 1 root   root     1320 Sep 19 00:23 firewalld
-rw-r--r--. 1 root   root      193 Sep 18 09:05 grubby_prune_debug

....

Busque archivos cuyos nombres comiencen con "init*" en el directorio /etc/. Después de encontrarlos, enumere solo los archivos, filtre los directorios y ejecute ls -l para mostrar información detallada.

[root@localhost ~]# find /etc/ -name "init*" -a -type f -exec ls -l {} \;

-rw-r--r--. 1 root root 511 Apr 11 01:09 /etc/inittab
-rw-r--r--. 1 root root 798 Apr 11 01:09 /etc/sysconfig/init
-rwxr-xr-x. 1 root root 5419 Jan  2  2018 /etc/sysconfig/network-scripts/init.ipv6-global
-rw-r--r--. 1 root root 30 Apr 11 14:12 /etc/selinux/targeted/contexts/initrc_context

Busque el archivo yum.log en /tmp/ y elimínelo inmediatamente después de encontrarlo.

[root@localhost tmp]# find /tmp/ -name yum.log -exec rm {} \;
[root@localhost tmp]#

Busque debajo de la raíz, encuentre todos los archivos sobre los usuarios de lyshark y elimínelos directamente después de encontrarlos.

[root@localhost ~]# find / -user lyshark -exec rm -r {} \;

find: ‘/proc/1465/task/1465/fd/6’: No such file or directory
find: ‘/proc/1465/task/1465/fdinfo/6’: No such file or directory
find: ‘/proc/1465/fd/5’: No such file or directory
find: ‘/proc/1465/fdinfo/5’: No such file or directory
find: ‘/root/Catalog’: No such file or directory
find: ‘/home/lyshark’: No such file or directory
#rm -r 连带目录一起删除.报错原因:-exec 不适合大量传输,速率慢导致.

Debajo de la raíz, busque el archivo del usuario lyshark y elimínelo después de encontrarlo. Antes de eliminarlo, se le preguntará si desea eliminarlo.

[root@localhost ~]# find / -user lyshark -ok rm -r {} \;
find: ‘/proc/1777/task/1777/fd/6’: No such file or directory
find: ‘/proc/1777/task/1777/fdinfo/6’: No such file or directory

< rm ... /root/LyShark > ? y

# -ok的使用和-exec是一样的,区别是-ok,执行时会提示你是否进行下一步操作.
Liangxu ha actualizado una gran cantidad de productos secos de video de alta calidad en la cuenta de video, ¡bienvenido a prestar atención!

imagen