Linux学习笔记第四天 - 常见的find命令

findspa

1 按名称查找

固定名称搜索(区分大小写):find 位置 -name 名称。

eg:find /tmp -name clj                                                   ci

执行完成后,找到了/tmp下的cljtable

固定名称搜索(不区分大小写):find 位置 -iname 名称。

eg:find /tmp -iname clj                                            搜索

执行完成后,就会找到不区分大小写的全部文件和目录im

通配符查找:使用*和?进行查找

eg: find /tmp -name clj*数据

*表明所左右字符,这个命令就是 找到以clj开头的全部的文件和目录。此外,你还可使用?来进行查询,好比: find /tmp -name clj??的意思就是,查找的文件或目录以clj开头,后面还有两位你不知道是什么。几个?表明后边有几位。查询

2 按大小查找

find 位置 -size +-= 文件大小。+表明大于,-表明小于,=表明等于img

eg:find /tmp -size + 2048。这个表明找到/tmp下大于1M的文件或目录。有人会问,不该该是2M吗?其实在这个命令里,文件的大小是按照 数据块来算的, 1数据块=0.5k ,而1M=1024k,1024k也就是2048数据块了。因此,若是向找大于1M的文件或目录,要执行的命令是find /tmp -size + 2048,同理,减号和等号也是同样的。tab

3 按全部者和所属组来查找

find /home -user 全部者(所属组)名称di

eg: find /home -user clj。这条命令就是找到全部者为clj的文件和目录

eg: find /home -group clj。这条命令就是找到所属组为clj的文件和目录

4 根据时间属性来查找

find 位置 -amin,-cmin,-mmin +-时间

-amin +-时间 减号表明必定时间内浏览过这个文件,加号表明在必定时间以前浏览过 eg:find /tmp -amin +5表明找到在tmp下,五分钟以前被浏览的文件或目录
-cmin +-时间 减号表明必定时间内修改过这个文件属性(就是你用ls命令能够看到的那些),加号表明在必定时间以前修改过 eg:find /tmp -cmin +5表明找到在tmp下,五分钟以前被修改过属性的文件或目录
-mmin +-时间 减号表明必定时间内修改过这个文件内容(就是文件里的内容),加号表明在必定时间以前修改过 eg:find /tmp -mmin -5表明找到在tmp下,五分钟以内被修改过内容的文件或目录

5 根据i节点来查找

find 位置 -inum i节点号。eg:find /tmp -inum 522243 表明你要在tmp下找到i节点号为522243的文件或目录

6 根据类型查找

find 位置 -type f d l :f表明是文件,d表明是目录,l表明软连接。

eg: find /tmp -type f  表明找到tmp下的文件

7 条件并列查找

find 位置 条件1 -o -a 条件2,-a表明两个条件都知足,-o表明只要知足一个条件便可。

eg: find /tmp -type f -a -name clj*  表明找到tmp下名称以clj开头的文件(由于是f因此不会查找目录,只查找文件)。

8 查找并操做

有的时候,在你查出来一个文件或者目录的时候,你想马上就去修改它,而不是找到了以后再去那个目录下或者再敲一遍命令去修改,这时候咱们就须要用到 -ok 或者 -exec命令了

格式:find 位置 条件 -exec(-ok) 操做 {} \;

eg: find /tmp -name clj* -a -type f -exec cat {} \; 红色部分就看成是固定格式来看就能够了

这个命令就是找到tmp下以clj开头的文件,并浏览内容,固然,-exec也能够换成-ok,只不过-ok会有一个提示。

ok,打完收工!!!

相关文章
相关标签/搜索