[一天几个linux命令] find

find

名称

find - 在目录树中搜索文件

使用

-name 正则表达式

基于文件名搜索(文件前的目录会被忽略),正则与shell的正则一样。因为文件前的目录会被忽略,所以查找的文件名中永远不要包括’/’,因此’-name a/b’查找不到任何东西(你可能需要使用**-path**)。

查找当前目录以及子目录下以zip结尾的文件

[jianglei@localhost ~]$ find . -name "*.zip"
./rocketmq-all-4.2.0-bin-release.zip

查找当前目录以及子目录下以sh结尾的文件

[jianglei@localhost ~]$ find . -name "*.sh"
./rocketmq/benchmark/producer.sh
./rocketmq/benchmark/tproducer.sh
./rocketmq/benchmark/consumer.sh
./rocketmq/benchmark/runclass.sh
./rocketmq/bin/setcache.sh
./rocketmq/bin/cachedog.sh
./rocketmq/bin/cleancache.sh
./rocketmq/bin/cleancache.v1.sh
./rocketmq/bin/play.sh
./rocketmq/bin/tools.sh
./rocketmq/bin/os.sh
./rocketmq/bin/startfsrv.sh
./rocketmq/bin/runbroker.sh
./rocketmq/bin/runserver.sh

-path 正则表达式

'/‘或’.'不会被视为通配符

-user 用户名

搜索属于指定用户的文件(允许使用用户ID)

查找当前目录及子目录下属性root的文件

[jianglei@localhost ~]$ find -user root
./.bin/nginx
./shell_test/tar/test01/etc.tar.bz2
./shell_test/ln/test01/b

-mtime 数字

以文件更改时间查找

在当前目录下查找更改时间在5天以内的文件

[jianglei@localhost ~]$ find ./ -mtime -5
./
./.config/dconf
./.config/dconf/user
./.config/nautilus
./.config/nautilus/desktop-metadata
./.lesshst

在当前目录下查找更改时间在3天之前的文件

[jianglei@localhost ~]$ find ./ -mtime +3

-type c

以文件类型查找

文件的类型

b block (buffered) special
c character (unbuffered) special
d directory
p named pipe (FIFO)
f regular file
l 链接文件
s socket
D door (Solaris)

在当前目录下查找类型是链接的文件

[jianglei@localhost ~]$ find ./ -type l

-size n[cwbkMG]

以文件大小查找

b 512b(默认)
c bytes
w 2bytes
k 1024bytes
M 1024Kb
G 1024Mb

未完待续

猜你喜欢

转载自blog.csdn.net/weixin_36210698/article/details/82965909
今日推荐