???find介绍:
???find是可以通过文件名称、类型、大小、权限属性、时间戳等条件在指定目录下查找对应文件或者目录的工具;还可以配合相关命令对匹配到的文件作出后续处理。
???find在查找文件时会遍历指定的目录,具有以下特点:
find [path...] [expression]
# [path...]为需要查找文件所指定的路径。如果不指定,则默认为当前目录及其子目录。
# [expression]为匹配条件/表达式。如果未设置匹配条件,则默认查找指定目录及子目录下所有文件
??格式:find 目录 -maxdepth 深度 -name “*.conf”
??-maxdepth level 指定最大搜索目录深度level,指定的目录为第1级
??-mindepth level 指定最小搜索目录深度level。配合-maxdepth可搜索指定深度的文件。
[root@localhost /]# find / -maxdepth 2 -name "*.conf"
/etc/srp_daemon.conf
/etc/man_db.conf
??-name “FILE_NAME” 文件名查找,支持使用glob:*、?、[]、[^]
??-iname “FILE_NAME” 文件名查找,不区分大小写
??-inum n 按inode号查找
??-samefile name 查找与指定文件有相同inode号的文件,一般用于查找硬连接文件
??-links n 查找连接数为N的文件
??-regex “PATTERN” 以PATTERN匹配整个文件路径字符串,而不仅仅是文件名称
??格式:find 目录 -name “f”
[root@localhost /]# find . -name "f*"
??根据文件的属性和属组信息进行查找,用的较少
??-user username 查找属主为指定用户(UID)的文件
??-group groupname 查找属组为指定组(GID)的文件
??-uid UseerID 查找属主为指定的UID号的文件
??-gid GroupID 查找属组为指定的GID号的文件
??-nouser 查找没有属主的文件
??-nogroup 查找没有属组的文件
[root@localhost /]# find /home -user root
/home
/home/lost+found
/home/add_disk_all.sh
/home/TopVCM_V3.1.0313_FSWX_oe2203.X86_20231205201719.bin
[root@localhost /]# find /home -group root
/home
/home/lost+found
/home/add_disk_all.sh
/home/TopVCM_V3.1.0313_FSWX_oe2203.X86_20231205201719.bin
linux系统中的文件大致分为:普通文件、目录文件、二进制程序文件、符号链接文件、套接字文件、块设备文件、字符设备文件。命令用法为find [path] -type TYPE。TYPE的值及具体含义如下
??f 普通文件
??d 目录文件
??l 符号链接文件
??s 套接字文件
??b 块设备文件
??c 字符设备文件
??p 管道文件
[root@localhost /]# find /home -maxdepth 1 -type d
/home
/home/lost+found
/home/wp