登录
登录 注册新账号
注册
已有账号登录
Centos8系统的find命令常用方法
Li Ao 阅读 183 次
4月7日发布

Linux系统中的find命令用来在指定的目录下查找文件。

语法:

Find [option] [path][expression]

我们通过实例介绍find的具体用法:

-name:按照名称查找

实例1、在当前目录下查找文件lxt.find

[root@localhost ~]# find -name "lxt.find"

./dlxt/lxt.find

说明:

不指定目录,find命令查找的目录为当前目录。

实例2、查找以lxt开头的文件或者目录

[root@localhost ~]# find -name "lxt*"

./lxt01.txt

./dlxt/lxt.test

./dlxt/lxt.find

./dlxt/dlxt/lxt.test

./lxt02.txt

实例3、查找以test结尾的文件或者目录

[root@localhost ~]# find -name "*test"

./dlxt/lxt.test

./dlxt/dlxt/lxt.test

实例4、在/etc/目录下查找包含ss的文件或者目录

图片描述

实例5、查找当前目录下的所有文件或目录

图片描述

-size:按照大小查找

实例1、查找/etc/目录下大于2M的文件

[root@localhost ~]# find /etc/ -size +2M

/etc/udev/hwdb.bin

/etc/selinux/targeted/policy/policy.31

实例2、查找/etc/目录下大于1k的文件

[root@localhost ~]# find /etc/ -size -1k

/etc/kernel/install.d/20-grubby.install

/etc/kernel/install.d/90-loaderentry.install

......

/etc/selinux/targeted/contexts/files/file_contexts.local

/etc/selinux/targeted/contexts/files/file_contexts.subs

/etc/exports

/etc/.pwd.lock

/etc/environment

实例3、查找大小为0的文件和目录

[root@localhost ~]# find -empty

./dirlxt

./lxt03.txt

./dlxt/lxt.find

-user:按照属性查找

实例1、查找属于用户lxt的文件和目录

[root@localhost ~]# find / -user lxt

/home/lxt

/home/lxt/.bashrc

/home/lxt/.bash_history

/home/lxt/.bash_logout

/home/lxt/lxt01.lxt

/home/lxt/.bash_profile

/home/lxt/lxt02.lxt

实例2、查找uid为1000的文件和目录

[root@localhost ~]# find / -uid 1000

/home/lxt

/home/lxt/.bashrc

/home/lxt/.bash_history

/home/lxt/.bash_logout

/home/lxt/lxt01.lxt

/home/lxt/.bash_profile

/home/lxt/lxt02.lxt

实例3、查找属于lxt组的文件和目录

[root@localhost ~]# find / -group lxt

/home/lxt

/home/lxt/.bashrc

/home/lxt/.bash_history

/home/lxt/.bash_logout

/home/lxt/lxt01.lxt

/home/lxt/.bash_profile

/home/lxt/lxt02.lxt

实例4、查找gid为1000的文件和目录

[root@localhost ~]# find / -gid 1000

/home/lxt

/home/lxt/.bashrc

/home/lxt/.bash_history

/home/lxt/.bash_logout

/home/lxt/lxt01.lxt

/home/lxt/.bash_profile

/home/lxt/lxt02.lxt

-type:按照类型查找

实例1、查找以lxt开头的所有文件

[root@localhost ~]# find -type f -name "lxt*"

./lxt03.txt

./lxt01.txt

./dlxt/lxt.test

./dlxt/lxt.find

./dlxt/dlxt/lxt.test

./lxt02.txt

实例2、查找以d开头的所有目录

[root@localhost ~]# find -type d -name "d*"

./dirlxt

./dlxt

./dlxt/dlxt

-iname:忽略大小写

实例1、查找以lxt开头的所有文件,并且忽略大小写

[root@localhost ~]# find -type f -iname "lxt*"

./LXT001.DAXIE

./lxt03.txt

./lxt01.txt

./dlxt/lxt.test

./dlxt/lxt.find

./dlxt/dlxt/lxt.test

./lxt02.txt

-ctime:在过去n天前被修改过的文件

图片描述

find -ctime 1,查找1天前被修改过的文件和目录

find -ctime -1,查找1天内被修改过的问价和目录

-amin n:在过去 n 分钟内被修改过

用法同-ctime

-atime:在过去n天后被读取过的文件

用法同-ctime

-amin n:在过去 n 分钟内被读取过

用法同-ctime

通过find命令查找并删除文件或者目录

find -type f -name "lxt.txt" -exec rm -rf {} \;#没有询问直接删除查找到文件

find -type f -name "lxt01.txt" -ok rm -rf {} \;#询问是否删除查找到文件

图片描述

也可以用一下命令取代上面直接删除的命令:

rm -f `find -type f -name "lxt.txt"`


©著作权归作者所有:来自51CTO博客作者知行知行的原创作品,如需转载,请注明出处,否则将追究法律责任