首页 > Linux文件查找Find命令使用解析

Linux文件查找Find命令使用解析

        Find从英语字面上的意思译过来是发现,找到的意思,它在linux中作为文件查找命令也十分形象,Find虽说只是个命令,但其功能非常强大。

        好,下面来说说Find,先来说说它的基本语法格式:

find [查找路径]  [查找标准]  [处理动作]

查找标准:

        -name 文件名称查找

        -iname 不区分大小写查找

        -user 根据文件属主查找

        -group 根据文件属组查找

        -uid 根据Uid查找

        -gid 根据Gid查找

        -nouser 查找没属主的文件

        -nogroup 查找没属组的文件

组合条件:

        -a 与

        -o 或

         !非

文件类型:

        -type

按文件大小查找:

        -size

按时间戳查找:

        -atime

        -mtime

        -ctime

        -amin

        -mmin

        -cmin

按权限查找:

        -perm [+|-] Mode

        没有+-表示精确匹配

        +Mode 表示任何一类用户的任何一位权限匹配即可

        -Mode  表示每类用户的每位权限都匹配

处理动作:

        -print 显示

        - ls 详细信息

        -exec Command {} ;

example:find /tmp -atime +30 -exec mv {} {}.old ;

这里再引入一个命令:

 xargs - build and execute command lines from standard input

可以通过管道从标准输入建立和执行命令行

看了这么多,下面举几个例子吧:

1.查/tmp下属主属组不属于root,并且在5分钟之内改过的文件。

# find /tmp/ ! -user root -a ! -group root  -mmin -5  -ls

wKiom1NmJJCjfVyCAAJtmG623k4928.jpg

2.查找/usr下不属于root,bin,或者tuchao的文件,并复制到/tmp下。

# find /usr   ! ( -user root -o -user bin -o -user tuchao ) -exec cp {} /tmp  ;

看看,是不是都拷贝过去了。

wKiom1NmKyXAl5ZsAAS5MKeGqh4321.jpg

3.查找当前系统上,一周内内容修改过,且没有属主属组的文件,找到后cp到/tmp/good目录里。

# find / -mtime -7 -a -nouser -a -nogroup | xargs -i cp {} /tmp/good

看这里使用了xargs

wKiom1NmLtXj-VYoAAWCtJhg3vw701.jpg

看图片前几行,找到的文件是不是都没属主属组的,当然这些文件都是我做的为了测试用的。

这篇就写到这也差不多了,例子也基本贯穿了难点,慢慢体会吧!

有问题欢迎与我交流——笔者QQ:1183710107

更多相关:

  • 顺序查找基本思想属于线性查找和无序查找,从一端开始顺序扫描,直到找到与目标值value相等的元素。这是最基本的查找方法,也是时间复杂度最高的查找算法。在数据过多时,这种方法并不适用。代码实现分块查找基本思想属于顺序查找的改进方法,又叫索引顺序查找。将n个元素分成m块(m<=n),每个块中元素可以没有顺序,但是m个块之间是有序排列,所以...

  • 注:本文内容参考《35 Practical Examples of Linux Find Command》 网址:http://www.tecmint.com/35-practical-examples-of-linux-find-command/ Linux 查找命令是Linux系统中最重要和最常用的命令之一。查找用于根据与参数...

  • find 按时间查找 转载▼  分类: linuxShell日记 -mtime 修改时间-ctime 改变时间-atime 访问时间-mtime +5 至少5天之前修改过的文件,至少5天没修改过-mtime -5 5天之内修改过的文件-mtime 5  刚好5天前修改的文件  -perm 按权限查找 -perm  001 精确...

  • 前两篇 《程序员必知8大排序3大查找(一)》 《程序员必知8大排序3大查找(二)》 三种查找算法:顺序查找,二分法查找(折半查找),分块查找,散列表(以后谈) 一、顺序查找的基本思想: 从表的一端开始,顺序扫描表,依次将扫描到的结点关键字和给定值(假定为a)相比较,若当前结点关键字与a相等,则查找成功;若扫描结束后,仍未找到...

  • 本文来自 运维人生 ,作者:fly是个稻草人链接:http://www.ywadmin.com/?id=76误删除linux系统文件了?不用急,本文将给你一个恢复linux文件的方法,让你轻松应对运维中的各风险问题。方法总比问题多~说在前面的话针对日常维护操作,难免会出现文件误删除的操作。大家熟知linux文件系统不同win有回收...

  • 原文来自SecIN社区—作者:WiHat0x00 什么是WebShell渗透测试工作的一个阶段性目标就是获取目标服务器的操作控制权限,于是WebShell便应运而生。Webshell中的WEB就是web服务,shell就是管理攻击者与操作系统之间的交互。Webshell被称为攻击者通过Web服务器端口对Web服务器有一定的操作权限,而...

  • 断电时文件系统发生了什么?硬盘又发生了什么?下一次开机时写到一半的文件在系统层面还在吗?在底层还在吗?更进一步的, 文件系统如何保证事务性, 会不会存在某种极端情况导致例如最后几个bit还没写完, 文件系统却认为它成功了的情况?回答不限任何文件系统,谢谢!下面是「北极」的回复分享断电的一瞬间,很多事情是无法确定的:1. 你无法确定...

  • 接到项目需求。需要搭建一个页面进行交互,慢慢来b (2).jpg使用python django框架进行页面的搭建在项目文件下打开窗口,输入命令;django-admin startproject helloword#在文件helloword/helloword/创建view.py在view.py文件中输入以代码from django....

  • 常见的错误集合解决方案(一)No.1提示错误'Microsoft.VC90.CRT,version="9.0.21022.8"把Microsoft.NET Framework 3.5.1下面的全部勾选上。No.2解决Qt Designer设计的图标但是VS生成不显示问题描述:在Qt designer中为菜单栏和工具栏设计的图标,但是...

  • 使用内部存储结构为栈的方法实现一个队列,要求实现该队列的如下方法: 1.push(x) : 将元素x压入队列中 2.pop() : 弹出(移除)队列头部元素 3.peek() : 返回队列头部元素(即为front) 4.empty() : 判断队列是否是空 栈的数据结构为先入后出,队列的数据结构为先入先出 使用栈来实现队列,同样想要...