版权声明:本文为耕耘实录原创文章,各大自媒体平台同步更新。欢迎转载,转载请注明出处,谢谢
在上一篇中,我已经将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