访问手机版  

Linux常用命令|Linux培训学习|考试认证|工资待遇与招聘,认准超级网工!

招聘|合作 登陆|注册

网络工程师培训

当前位置:网络工程师 > 技术课程 > linux > 热点关注 > linux常用命令

【Linux常见命令】find命令

时间:2019-11-10

linux命令_linux命令_linux格式化命令

find - search for files in a directory hierarchy

find命令用来在指定目录下查找文件。

任何位于参数之前的字符串都将被视为欲查找的目录名。

linux命令_linux命令_linux格式化命令

如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。

语法:

find [-H] [-L] [-P] [-D debugopts] [-Olevel] [path...] [expression]

linux格式化命令_linux命令_linux命令

参数:

-name 按名字查找 后接“文件名”,支持正则表达式和通配符-mtime 按照文件的mtime修改时间查找文件(modify),文件内容被修改的最后时间-atime 访问时间(access)linux命令,文件中的数据库最后被访问的时间-ctime 变化时间(change),文件内容被修改的最后时间! 取反-perm 644linux命令,755 权限查找-size n 文件大小-exec 执行命令

示例:

linux命令_linux格式化命令_linux命令

删除找到的文件

[root@oldboy data]# echo test >a.txt
[root@oldboy data]# ls
a.txt  oldboy.txt
[root@oldboy data]# find /data -type f -name 'a.txt' -exec rm {} \;   
[root@oldboy data]# ls
oldboy.txt
[root@oldboy data]# find /data -type f -name 'oldboy.txt' -exec rm {} \;
[root@oldboy data]# ls

linux命令_linux格式化命令_linux命令

批量创建1-10的.txt文件,通过查找命令将找到的所有.txt文件通过管道符交给xargs命令,将所有文件放在一行,再由rm -f强制删除。

[root@oldboy data]# touch {1..10}.txt
[root@oldboy data]# ls
10.txt  2.txt  4.txt  6.txt  8.txt
1.txt   3.txt  5.txt  7.txt  9.txt
[root@oldboy data]# find /data -type f -name '*.txt' |xargs
/data/2.txt /data/5.txt /data/3.txt /data/9.txt /data/7.txt 
/data/1.txt /data/4.txt /data/10.txt /data/8.txt /data/6.txt
[root@oldboy data]# find /data -type f -name '*.txt' |xargs rm -f
[root@oldboy data]# ls

在脚本中删除文件或目录时,**生产环境**的使用方法一般为:

删除在/logs目录下,以oldboy结尾的修改时间再30天以前的目录使用find的-exec

重要提示:find命令是生产环境中极重要的一个命令,要精通才好。

 上一个教程:LINUX ifconfig 命令详解