find 命令用于查找文件系统中的指定文件,其命令格式为:find   要查找的路径   表达式例如:
find . -name 1.txt      在当前目录及其子目录下查找文件 1.txtfind /tmp -name 1.txt   在 /tmp 目
录及其子目录下查找文件 1.txt

find命令的格式:find [-path……] -options [-print -exec -ok]

path:要查找的目录路径。

~ 表示$HOME目录

. 表示当前目录

/ 表示根目

options常用的有下选项:

-name:按照名字查找

-perm:安装权限查找

-prune:不再当前指定的目录下查找

-user:文件属主来查找

-group:文件所属组来查找

-nogroup:查找无有效所属组的文件

-nouser:查找无有效属主的文件

-type:按照文件类型查找

exec:对匹配的文件执行该参数所给出的

shell命令。

形式为command {} \;,注意{}与\;之间有 空格
ok:与exec作用相同,

区别在于,在执行命令之前,都会给出 提示,让用户确认是否执行

print:表示将结果输出到标准输出

按名字查找

在当前目录及子目录中,查找大写字母开头的txt文件

find . -name '[A-Z]*.txt' -print   

在/etc及其子目录中,查找host开头的文件

find /etc -name 'host*' -print    

在$HOME目录及其子目录中,查找所有文件   

find ~ -name '*' -print
在当前目录及子目录中,查找不是out开头的txt文件   

find . -name "out*" -prune -o -name "*.txt" -print

按目录查找   

在当前目录除aa之外的子目录内搜索 txt文件   

find . -path "./aa" -prune -o -name "*.txt" -print    

在当前目录及除aa和bb之外的子目录中查找txt文件

find . \( -path "./aa" -o -path "./bb" \) -prune -o -name "*.txt" -print    

在当前目录,不再子目录中,查找txt文件

find . ! -name "." -type d -prune -o -type f -name "*.txt" -print

按权限查找   

在当前目录及子目录中,查找属主具有读写执行,其他具有读执行权限的文件    

find . -perm 755 -print

按类型查找    

在当前目录及子目录下,查找符号链接文件    

find . -type l -print

按属主及属组 
查找属主是www的文件 find / -user www -type f -print   

查找属主被删除的文件find / -nouser -type f -print   

查找属组mysql的文件find / -group mysql -type f -print   

查找用户组被删掉的文件find / -nogroup -type f -print

按时间查找 
查找2天内被更改过的文件find . -mtime -2 -type f -print  
查找2天前被更改过的文件find . -mtime +2 -type f -print  

 
查找一天内被访问的文件find . -atime -1 -type f -print
查找一天前被访问的文件 find . -atime +1 -type f -print   
查找一天内状态被改变的文件  find . -ctime -1 -type f -print   
查找一天前状态被改变的文件 find . -ctime +1 -type f -print   
查找10分钟以前状态被改变的文件 find . -cmin +10 -type f -print

按文件新旧   

查找比aa.txt新的文件 find . -newer "aa.txt" -type f -print   
查找比aa.txt旧的文件 find . ! -newer "aa.txt" -type f -print   
查找比aa.txt新,比bb.txt旧的文件 find . -newer 'aa.txt' ! -newer 'bb.txt' -type f -print

按大小查找   
      查找超过1M的文件       $ find / -size +1M -type f -print   
      查找等于6字节的文件       $ find . -size 6c -print   
      查找小于32k的文件       $ find . -size -32k -print

执行命令   

查找del.txt并删除,删除前提示确认       $ find . -name 'del.txt' -ok rm {} \;   
查找aa.txt 并备份为aa.txt.bak       $ find . -name 'aa.txt' -exec cp {} {}.bak \;

linux find的更多相关文章

  1. Linux 驱动开发

    linux驱动开发总结(一) 基础性总结 1, linux驱动一般分为3大类: * 字符设备 * 块设备 * 网络设备 2, 开发环境构建: * 交叉工具链构建 * NFS和tftp服务器安装 3, ...

  2. Linux 内核概述 - Linux Kernel

    Linux 内核学习笔记整理. Unix unix 已有40历史,但计算机科学家仍认为其是现存操作系统中最大和最优秀的系统,它已成为一种传奇的存在,历经时间的考验却依然声名不坠. 1973 年,在用 ...

  3. 死磕内存篇 --- JAVA进程和linux内存间的大小关系

    运行个JAVA 用sleep去hold住 package org.hjb.test; public class TestOnly { public static void main(String[] ...

  4. NodeJs在Linux下使用的各种问题

    环境:ubuntu16.04 ubuntu中安装NodeJs 通过apt-get命令安装后发现只能使用nodejs,而没有node命令 如果想避免这种情况请看下面连接的这种安装方式: 拓展见:Linu ...

  5. [linux]阿里云主机的免登陆安全SSH配置与思考

    公司服务器使用的第三方云端服务,即阿里云,而本地需要经常去登录到服务器做相应的配置工作,鉴于此,每次登录都要使用密码是比较烦躁的,本着极速思想,我们需要配置我们的免登陆. 一 理论概述 SSH介绍 S ...

  6. Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级

    Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 5.安装Database软件 5. ...

  7. Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作

    Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 1.实施前准备工作 1.1 服务器安装操 ...

  8. SQL Server on Linux 理由浅析

    SQL Server on Linux 理由浅析 今天的爆炸性新闻<SQL Server on Linux>基本上在各大科技媒体上刷屏了 大家看到这个新闻都觉得非常震精,而美股,今天微软开 ...

  9. Microsoft Loves Linux

    微软新任CEO纳德拉提出的“Microsoft Loves Linux”,并且微软宣布.NET框架的开源,近期Microsoft不但宣布了Linux平台的SQL Server,还宣布了Microsof ...

  10. Linux 江湖系列阶段性总结

    引言 我使用 Linux 已经有很多年了,最开始接触 Linux 的时候是从 RedHat 9(没有 Enterprise),中途换过 N 个不同的发行版.多年前,我在 BlogJava 上面分享 J ...

随机推荐

  1. HDU 1712 分组背包

    ACboy needs your help Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Ot ...

  2. Virtual Box 下Ubuntu桥接网络设置

    转自:http://os.51cto.com/art/200908/144564.htm 一般而言,安装完VirtualBox设定网路时选择默认的NAT模式,Guest就可顺利联网了,但是这种方式比较 ...

  3. 使用VisualVM进行性能分析及调优(转)

    VisualVM 是一款免费的\集成了多个 JDK 命令行工具的可视化工具,它能为您提供强大的分析能力,对 Java 应用程序做性能分析和调优.这些功能包括生成和分析海量数据.跟踪内存泄漏.监控垃圾回 ...

  4. MySQL5.6 GTID、多线程复制

    MySQL5.6新特性GTID.多线程复制 在Oracle发布MySQL5.6看到众多新特性之后很兴奋,包括对复制的改进.在MySQL5.5半同步复制之后MySQL5.6又引入GTID.多线程复制,在 ...

  5. Html标签第二课css

    css(Cascading Style Sheet)叠层样式表.用于控制网页样式并允许将样式信息与网页内容分离的一种标记性语言. 一:样式三种控制方法 1.行内样式: <div  style=& ...

  6. 【转】 linux 下Time_wait过多问题解决

    问题起因: 自己开发了一个服务器和客户端,通过短连接的方式来进行通讯,由于过于频繁的创建连接,导致系统连接数量被占用,不能及时释放.看了一下18888,当时吓到了. 现象: 1.外部机器不能正常连接S ...

  7. 作业七:团队项目——Alpha版本冲刺阶段003

    今日进展:我们的目标是做一款扫雷游戏,所以我们先去玩了几款游戏,找到了扫雷游戏的一些特点. 今日安排:先进行了一些必要的游戏过程,进行了基本的扫雷界面规划.

  8. Qt之指针与float--setNum使用

    案例: quint8 ad[8] = {0,100,150,200,0,220,230,250}; QString str; QString str2; ab = (float)(*((float * ...

  9. git学习心得总结

    最近学习git,应为git可以不需要服务器而在任意的Linux机器上管理代码,相对svn和cvs还是有它的优势的,所以我选用了git来管理我的小项目,以后在提供svn的管理. 在使用了一段时间后想写一 ...

  10. 适合PHP学习者的学习路线 10个PHP优化技巧

    适合PHP学习者的学习路线: (1) 熟悉HTML/CSS/JS..网页基本元素,完成阶段可自行制作简单的网页,对元素属性相对熟悉 (2) 理解动态语言的概念和运做机制,熟悉基本的PHP语法 (3) ...