Linux-----find命令

一、find命令

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

二、工作原理及特点

   find在查找文件时会遍历指定的目录,具有以下特点:
Linux-----find命令_第1张图片

三、命令用法

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

你可能感兴趣的:(linux,服务器,java)