Linux find 指令详细讲解

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_40921797/article/details/81627253

find - search for files in a directory hierarchy
find 是我们在使用Linux 中一个重点的指令,灰常重要,是测试,运维等多个岗位使用频率很高的一个指令,而对于初学者,对find 的了解却只是停留在简单的 -name等操作上
find 是从起始目录起遍历硬盘,寻找满足某选择条件的文件或内容的指令,因为它是从硬盘上遍历文件,所以效率慢,但是具有时效性


使用规范
我们 man find 就可以知道她的格式是:find [-H] [-L] [-P] [-D debugopts] [-Olevel] [path…] [expression]
意思也就是说:-操作是按什么条件种类 沿着什么路径,具体的条件

例子: find  -name* aa *//注意这里 * 是通配符,

这句话的意识是从当前目录开始查找姓名中含有aa的文件,也就是说当我们并没有给出目录是就默认从当前目录开始查找

find /home -name "*.txt"   // /home 是路径 
                     //其中我们还要知道 . 表示当前目录, / 表示根目录。 

在国际网站上关于find 有这样一段话来介绍的使用格式。
1.The first part of the find command is obviously the word find.
2.The second part is where to start searching from.
3.The next part is an expression which determines what to find.
4.Finally the last part is the name of the thing to find.
首先find格式的第一部分是明显的”find查找“这个单词,然后是查找的路径,下一部分是确定要查找什么的表达式。到底要查找什么,查找姓名,也就是通过什么方式查找,最后是要查找的东西的必备信息,也就是要满足的条件

从哪里开始查找–path

在默认情况下是从当前目录开始查找 及 “.”操作符可以省略,因为“.”操作符就代表着当前目录
”/ “表示从根目录,开始查找
“~”表示在用户主文件中查找
也可以是具体的目录比如 ./work 表示在当前目录的子目录work查找

查找的表达式–expressions

最常见的表达你要使用的名称。
-name 名称表达式可以让您搜索文件或文件夹的名称。
还有其他的比较常用的

-amin n

–The file was last accessed n minutes ago
查找最后n分钟中访问过的文件

-atime n

–The file was last accessed more n days ago
例子:find ~ -atime 100
我们在家中经常会想删除不常用的文件,这时这个语句就可以帮助我们了

-anewer

–The file was last accessed more recently than it was modified
最有一次被访问并并修改的文件

-cmin n

–The file was last changed n minutes ago

-cnewer

–The file was last changed more recently than the file was modified

-ctime n

– The file was last changed more than n days ago

-empty

– The file is empty
文件是空的
例子:find / -empty
如果想要查找系统中所以的空文件,空文件夹,删除释放空间,也就是我们经常电脑清理工作中一项就要用刀子这个命令了

-executable

– The file is executable
可执行的文件是可执行的
例子:find / -exec
如果你想找到所有的可执行文件

-writable

– Search for files that can be written to
搜索可以写入的文件

带固定格式的find

当你搜索文件时,你可以使用一个模式。例如,也许你正在寻找的所有文件扩展名为.txt
则格式为:find / -name *.txt 查找文件从根目录开始所有子目录下按名称查找最后几位为 .txt 的文件

-type type

– Search for a particular type
查找为特定类型的文件

-name name

– Search for a file with the specified name
查找具有指定名称的文件

find命令非常强大,各个条件命令还可以通过与或非等逻辑运算符组合,大家可以在自发的man 一下find,来了解他更多的用法。比如-print 把find的结果送到标准输出中 -fprint 写入到文件中

展开阅读全文

没有更多推荐了,返回首页