码迷,mamicode.com
首页 > 系统相关 > 详细

Linux常用命令之 查找命令 find(一)

时间:2016-05-21 18:50:40      阅读:305      评论:0      收藏:0      [点我收藏+]

标签:

  我们都知道在Linux中有着上千条的命令,而常用命令不过百条。

  我们也知道在Linux里面“一切皆文件”,那么如何能够快速的找到你想要找的东西就显得尤为重要。

  find是Linux里面最重要的命令之一,它有着强大的查询功能。它是在不指定查找目录的情况下是对整个系统进行遍历查找,并执行指定操作。find是直接搜索硬盘,所以在遍历一个大的文件系统是就可能会消耗大量的时间,它类似于Windows下的搜索。

 

1. find的使用格式: find [PATHNAME][option][action]

    我们知道 PATHNAME 是 find命令查找的路径。例如 . 代表当前目录, / 代表根目录,当然我们也可以指定路径如 /tmp

 

——>a.按类型查找

    技术分享

  看一下执行结果:

  查找文件:

  技术分享

  查找目录:

  技术分享

——>b.按名字查找

技术分享

  如果查找出来的文件太多,不好显示怎么办?Linux也为我们提供了可改的输出模式。例如:

  -print :将查找到的匹配的文件输出到标准输出

    find /home -type f -print

  -exec :将查找到的文件进行额外的动作

    find /home/qiao/桌面 -name “1.txt” -exec rm {} \;            ——> 意思即为找到1.txt之后删除它

    • {}代表的是find做找到的内容,即find的结果会被放到{}的位置中;

  • -exec 到 \; 是关键字代表find额外动作的开始(-exec)到(\;)结束,这中间的就是find指令内的额外动作,在上面例子中就是【 rm {} 】;

  • \ 为转义字符

  find还有好多其他的参数,总结如下:

   -name 按照?件名查找?件。 ?
  -perm 按照?件权限来查找?件。 ?
  -prune 使?这?选项可以使find命令不在当前指定的目录中查找,如果同时使?-depth选项,那么-prune将被find命令忽略。 ?
  -user 按照?件属主来查找?件。 ?
   -group 按照?件所属的组来查找?件。 ?
   -mtime -n +n 按照?件的更改时间来查找?件, - n表??件更改时间距现在n天以内, + n表??件更改时间距现在n天以前。

       ps:find命令还有-atime-ctime 选项,但它们都和-m time选项相同。 ?
  -nogroup 查找?有效所属组的?件,即该?件所属的组在/etc/groups中不存在。 ?
  -nouser 查找?有效属主的?件,即该?件的属主在/etc/passwd中不存在。

  -newer file1 ! file2 查找更改时间??件file1新但??file2旧的?件。 ?
  -type 查找某?类型的?件,例如: ?
    b - 块设备?件。 ?
    d - 目录。 ?
    c - 字符设备?件。 ?
    p - 管道?件。 ?
    l - 符号链接?件。 ?
    f - 普通?件。 ?
  -size n[c] 查找?件?度为n块的?件,带有c时表??件?度以字节计。
  -depth:在查找?件时,?先查找当前目录中的?件,然后再在其?目录中查找。 ?
  -fstype:查找位于某?类型?件系统中的?件,这些?件系统类型通常可以在配置?件/etc/fstab中找到,该配置?件中包含了本系统中有关?件系统的信息。 ?
  -mount:在查找?件时不跨越?件系统mount点。 ?
  -follow:如果find命令遇到符号链接?件,就跟踪?链接所指向的?件。 ?
  -cpio:对匹配的?件使?cpio
命令,将这些?件备份到磁带设备。

 

Linux常用命令之 查找命令 find(一)

标签:

原文地址:http://www.cnblogs.com/qiaopei/p/5513814.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!