在上一篇中,我已经将find命令的基本使用方式做了一个详细的介绍,现在我们接着来介绍更多的find命令使用场景。
(五)按照文件名进行查找
-name pattern:文件名为pattern的文件。注意如果pattern中包括*等特殊符号的时候,需要加引号。
-iname:name的忽略大小写版本。
-lname pattern:查找符号连接文件名为pattern的文件。
-ilname:lname的忽略大小写版本。
注意:此处的pattern代表被查找的文件的名称。
[root@GeekDevOps-find /]# find / -name "geekdevops.*" [root@GeekDevOps-find /]
# find / -iname "geekdevops.*" /root/GeekDevOps.txt /root/GeekDevOps.doc
/root/GeekDevOps.docx /root/GeekDevOps.wps /home/GeekDevOps/GeekDevOps.doc
/home/GeekDevOps/GeekDevOps.txt /home/GeekDevOps/GeekDevOps.pdf
/home/GeekDevOps/GeekDevOps.bpm /home/GeekDevOps/GeekDevOps.wps
(六)按照路径进行查找
-path pattern:根据完整路径查找文件名为pattern的文件。
-ipath:path的忽略大小写版本。
例如:在/目录下查找路径以/u开头并且以SS结尾的文件。
[root@GeekDevOps-find /]# find / -path "/u*SS" /usr/share/groff/1.22.2
/font/devps/SS
(七)其他查找、匹配(需重点理解、记忆)
-regex pattern:用正则表达式匹配文件名。
-iregex:regex的忽略大小写版本。
-empty:文件为空而且是一个普通文件或者目录。
-size n[cwbkMG]:指定文件长度查找文件。单位选择位:
1 . c:字节单位。
2 . b:块为单位,块大小为512字节,这个是默认单位。
3 . w:以words为单位,words表示两个字节。
4 . k:以1024字节为单位。
5 . M:以1048576字节为单位。
6 . G:以1073741824字节温单位。
n的数字指定也可以使用+-号作为前缀。意义跟时间类似,表示找到小于(-)指定长度的文件或者大于(+)指定长度的文件。
-inum:根据文件的inode编号查找。
-links n:根据文件连接数查找。
-samefile name:找到跟name指定的文件完全一样的文件,就是说两个文件是硬连接关系。
-type c:以文件类型查找文件:
c可以选择的类型为:
1 . b:块设备。
2 . c:字符设备。
3 . d:目录。
4 . p:命名管道。
5 . f:普通文件。
6 . l:符号连接。
7 . s:socket。
[root@GeekDevOps-find /]# find / -size +10M -a -size -50M -type f
/boot/initramfs-0-rescue-9cf4b87196734d8a98541aef198335a8.img /boot/initramfs-
3.10.0-693.el7.x86_64.img find: ‘/proc/8600/task/8600/fdinfo/6’: 没有那个文件或目录 find:
‘/proc/8600/fdinfo/6’: 没有那个文件或目录 /var/lib/rpm/Packages /var/cache/yum/x86_64/7
/base/gen/primary_db.sqlite /var/cache/yum/x86_64/7/updates/gen/primary_db
.sqlite /usr/libexec/gcc/x86_64-redhat-linux/4.8.2/cc1
/usr/libexec/gcc/x86_64-redhat-linux/4.8.2/lto1
/usr/libexec/gcc/x86_64-redhat-linux/4.8.2/cc1plus
热门工具 换一换