Linux中find命令的使用详解(中)

在上一篇中,我已经将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

你可能感兴趣的:(基础运维,运维之路)