Linux-----find命令

发布时间:2023年12月17日

一、find命令

???find介绍:
???find是可以通过文件名称、类型、大小、权限属性、时间戳等条件在指定目录下查找对应文件或者目录的工具;还可以配合相关命令对匹配到的文件作出后续处理。

二、工作原理及特点

???find在查找文件时会遍历指定的目录,具有以下特点:
在这里插入图片描述

三、命令用法

find [path...] [expression]
# [path...]为需要查找文件所指定的路径。如果不指定,则默认为当前目录及其子目录。
# [expression]为匹配条件/表达式。如果未设置匹配条件,则默认查找指定目录及子目录下所有文件

3.1 指定搜索目录层级/深度

??格式: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

3.2 根据文件名和inode查找

??-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*"

3.3 根据属主/属组查找

??根据文件的属性和属组信息进行查找,用的较少
??-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

3.4 根据文件类型查找

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
文章来源:https://blog.csdn.net/qq_38870503/article/details/134928357
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。