Linux命令

查找命令

查找文件命令

【==find==】(该命令功能强大,所以我了解的也只是片面内容)

find命令有很多种用法,其中最主要的就是查找文件,他可以根
据文件的类型,属主,属组,时间,大小,名称,权限去进行找
你想要的文件或者目录。

find

参数:

-type           按类型查找
-user           按属主查找
-group          按属组查找
-mtime          按时间查找
-size           按大小查找
-name           按名称查找
-perm           按权限查找

其他的一些参数:

-print              打印
-ls                 打印
-delete             删除
--exec rm -f {} \;      删除
| xargs rm -f           删除
-exec cp {}  /tmp \;        复制
|xargs grep -R "关键字"    筛选

组合使用的一些参数:

-a              并且
-o              或者
-net(!)         取反

【通过类型查找】

格式:
find  /etc/ / -type f 

——————————————————————————

这里find后面跟的/etc/指的是查找的路径,这是固定格式,路
径必须写在类型的前面,后面跟的/ -type f 意思是类型是文
件,最后跟的是关键字。

文件的类型都有特定的字符去表示的

分别用以下符号表示:
b   块设备,是一些提供系统存取数据的接口设备,例如硬盘。
c   字符设备,是一些串行端口的接口设备,例如键盘、鼠标、打印机、tty终端。
d   目录,类似于Windows的文件夹。
l   链接文件,类似于Windows的快捷方式。
s   套接字文件(socket),用于进程之间的通信。
f(-)    文件,分纯文本文件(ASCII)和二进制文件binary)。
实例:
[23:10:26 root@oldchen ~]#find /etc/ / -type f
/etc/fstab
/etc/crypttab
/etc/resolv.conf
/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-Debug-7
/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-Testing-7
/etc/pki/ca-trust/README
/etc/pki/ca-trust/ca-legacy.conf
/etc/pki/ca-trust/extracted/README
/etc/pki/ca-trust/extracted/java/README

【通过属主查找】

格式:
find /etc/ -user root

——————————————————————————

这里"-user root"表示属主是root的文件或者目录。
实例:
[23:04:03 root@oldchen ~]#find /etc/ -user root  
/etc/
/etc/fstab
/etc/crypttab
/etc/mtab
/etc/resolv.conf
/etc/pki
/etc/pki/rpm-gpg
/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-Debug-7
/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-Testing-7

【通过属组去查找】

格式:
find /etc/ / -group root

_____________________________

这里"-group root"表示属组为root的文件或目录。
实例:
[23:15:00 root@oldchen ~]#find /etc/ / -group root
/etc/
/etc/fstab
/etc/crypttab
/etc/mtab
/etc/resolv.conf
/etc/pki
/etc/pki/rpm-gpg
/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-Debug-7
/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-Testing-7

【通过时间进行查找】

格式:

按天进行查找:
    find /etc/ / -mtame   +7或者-7或者7

—————————————————————————————

    这里"-mtime"表示以天为单位进行查找。

    +7  表示查找七天以前的文件或者目录。
    -7  表示查找最近七天的文件或目录。
    7   表示以今天为准往前面数第七天的文件或目录。
按分钟进行查找:
    find /etc/ / -mmin   +7或者-7或者7

    ———————————————————————————

    这里"-mtime"表示以天分钟单位进行查找。
    +7  表示查找七分钟以前的文件或者目录。
    -7  表示查找最近七分钟的文件或目录。
     7  表示以今天为准往前面数第七分钟的文件或目录。
实例:
[23:15:06 root@oldchen ~]#date
2021年 07月 21日 星期三 23:24:40 CST
[23:27:33 root@oldchen ~]#find /etc/ / -mtime +7 
/etc/fstab
/etc/crypttab
/etc/pki
/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-Testing-7
/etc/pki/ca-trust
[23:28:29 root@oldchen ~]#ll /etc/fstab
-rw-r--r--. 1 root root 541 7月  12 18:01 /etc/fstab

【通过大小进行查找】

格式:

find /etc/ / -size +(-)5M
_____________________________

这里"-size +(-)5M"表示查找文件或目录大于5M的,或者小于5M的。
实例:
[23:30:45 root@oldchen ~]#find /etc/  -size +5M
/etc/udev/hwdb.bin
[23:39:50 root@oldchen ~]#ll -h /etc/udev/hwdb.bin
-r--r--r--. 1 root root 7.0M 7月  12 18:07 /etc/udev/hwdb.bin

【通过名称进行查找】

格式:

find /etc/ / -name '*.sh'
________________________

这里的"-name '*.sh'"表示查找名字含有.sh的文件或目录。
实例:
[23:54:19 root@oldchen ~]#find /etc/ / -name '*.sh'
/etc/profile.d/colorgrep.sh
/etc/profile.d/which2.sh
/etc/profile.d/less.sh
/etc/profile.d/colorls.sh
/etc/profile.d/256term.sh
/etc/profile.d/lang.sh
/etc/profile.d/vim.sh
/etc/dhcp/dhclient.d/chrony.sh
/etc/kernel/postinst.d/51-dracut-rescue-postinst.sh
/boot/grub2/i386-pc/modinfo.sh  

【通过权限进行查找】

格式:

find /etc/ / -perm 777
________________________

这里的"-perm 777"表示查找权限为777的文件或目录。
实例:
[00:08:12 root@oldchen ~]#find /etc/ / -perm 777
/etc/mtab
/etc/pki/ca-trust/source/ca-bundle.legacy.crt
/etc/pki/java/cacerts
/etc/pki/tls/cert.pem
/etc/pki/tls/certs/ca-bundle.crt
/etc/pki/tls/certs/ca-bundle.trust.crt
/etc/redhat-release
/etc/system-release
/etc/ssl/certs
/etc/systemd/system/multi-user.target.wants/remote-fs.target

[00:13:17 root@oldchen ~]#ll /etc/mtab
lrwxrwxrwx.  1 root root       17 7月  12 18:01 mtab