语法

find path -option [ -print ] [-exec -ok command ] {} \;

find . -maxdepth 1 -type f -exec mv {} /tmp \;

  --> -maxdepth 1                    - 表示查找深度为1。
  --> -exec mv {} /tmp \;    - 运行mv命令。
  --> {}                                         - 字符 '{}' 代表find到的所有内容。
  --> /tmp                                     - 表示移动到/tmp目录
  --> \;                                     - 结束 /bin/mv 命令。

参数说明

-mount,  -xdev   只检查和指定目录在同一个文件系统下的文件,避免列出其它文件系统中的文件
-amin n          在过去 n 分钟内被读取过
-anewer file     比文件 file 更晚被读取过的文件
-atime n         在过去n天内被读取过的文件
-cmin n          在过去 n 分钟内被修改过
-cnewer file     比文件 file 更新的文件
-ctime n         在过去n天内被修改过的文件
-empty           空的文件-gid n or -group name : gid 是 n 或是 group 名称是 name
-path p          路径名称符合 p 的文件,ipath 会忽略大小写
-name name       文件名称符合 name 的文件。iname 会忽略大小写
-size n          文件大小 是 n 单位,b 代表 512 位元组的区块,c 表示字元数,k 表示 kilo bytes,w 是二个位元组。-type c : 文件类型是 c 的文件。

-type 的类型

  d 目录文件, c 字型装置文件, f  一般文件,s socket
  p 具名贮列, b 区块装置文件, l  符号连结

其他说明

mtime      当文件的「内容数据」更改时,就会更新这个时间。内容数据指的是文件的内容,而不是文件的属性或权限。
ctime 当该文件的状态改变时,就会更新这个时间,举例来说,像是权限与属性被更改了,都会更新这个时间。
atime 当“该文件的内容被读取”时,就会更新这个读取时间。我们使用cat去读取/etc/man.config,就会更新该文件atime.

常用例子

列出当前目录下三层深度的文件
find . -maxdepth -type f
查找 /etc 下 rpm 目录
find /etc/ -name rpm -type d
在查找的结果中直接以命令操作
find /tmp/ -mtime + -exec rm -rf {} \;
在/etc 目录中查找 passwd 文件,并以长格式显示
find /etc/ -name "passwd" |xargs ls -l
在 etc 目录下查找大于 1k 并且小于 10k 的文件
find /etc -size +1k -a -size -10k
查找3天内的未修改的文件
find /var/log -type f -mtime -3
查找10天以上没动过的文件
find /var/log -type f -mtime + -a -atime + -a -ctime +
查找空目录并删除
find . -type d -empty -exec rmdir {} \;
find . -type d -empty |xargs rmdir
修改文件和目录权限
find ./ -type d |xargs -i chmod {}
find ./ -type f |xargs -i chmod {}
查找大文件
find . -type f -exec stat -c "%s %n" {} \; | sort -nr | head -
注 : sort [] 文件名 -r 反向排序 -n 以数值型进行排序,默认使用字符串类型,head [] 显示文件头 默认显示前 行,-n 文件名 显示前 行

常用命令--find的更多相关文章

  1. Linux 常用命令(持续补充)

    常用命令: command &:将进程放在后台执行 ctrl + z:暂停当前进程 并放入后台 jobs:查看当前后台任务 bg( %id):将任务转为后台执行 fg( %id):将任务调回前 ...

  2. LVM基本介绍与常用命令

    一.LVM介绍LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制LVM - 优点:LVM通常用于装备大量磁盘的系统,但它同样适 ...

  3. Linux学习笔记(一):常用命令

    经过统计Linux中能够识别的命令超过3000种,当然常用的命令就远远没有这么多了,按照我的习惯,我把已经学过的Linux常用命令做了以下几个方面的分割: 1.文件处理命令 2.文件搜索命令 3.帮助 ...

  4. git常用命令(持续更新中)

    git常用命令(持续更新中) 本地仓库操作git int                                 初始化本地仓库git add .                       ...

  5. 【原】npm 常用命令详解

    今年上半年在学习gulp的使用,对npm的掌握是必不可少的,经常到npm官网查询文档让我感到不爽,还不如整理了一些常用的命令到自己博客上,于是根据自己的理解简单翻译过来,终于有点输出,想学习npm这块 ...

  6. npm常用命令

    npm常用命令 环境:win7 npm 是什么 NPM(node package manager),通常称为node包管理器.顾名思义,它的主要功能就是管理node包,包括:安装.卸载.更新.查看.搜 ...

  7. Git 常用命令

    一.初始環境配置 git config --global user.name "John Doe"git config --global user.email johndoe@ex ...

  8. linux iptables常用命令之配置生产环境iptables及优化

    在了解iptables的详细原理之前,我们先来看下如何使用iptables,以终为始,有可能会让你对iptables了解更深 所以接下来我们以配置一个生产环境下的iptables为例来讲讲它的常用命令 ...

  9. Linux常用命令(一)

    Linux常用命令 1. pwd查看当前路径(Print Working Directory)    [root@CentOS ~]# pwd/root 2. cd .. 返回上一级 .. 表示上一级 ...

  10. 版本控制-svn服务器搭建和常用命令(centos 6.3)

    Svn是比较优秀的版本控制工具,虽然功能和性能上无法和Git媲美,但由于其容易搭建和使用的特性,所以在各个小公司还是很受欢迎的.使用Git可参考<版本控制-Git服务器搭建和常用命令使用> ...

随机推荐

  1. 关于分布式唯一ID,snowflake的一些思考及改进(完美解决时钟回拨问题)

    1.写唯一ID生成器的原由 在阅读工程源码的时候,发现有一个工具职责生成一个消息ID,方便进行全链路的查询,实现方式特别简单,核心源码不过两行,根据时间戳以及随机数生成一个ID,这种算法ID在分布式系 ...

  2. Oracle ORA-01033: ORACLE initialization or shutdown in progress 错误解决办法. 重启服务

    今天用Oracle突然出现Oracle ORA-01033: ORACLE initialization or shutdown in progress. 想起前两天删掉了几个DBF文件,幸好还没有清 ...

  3. 认识Mybatis

    什么是Mybatis? MyBatis 是一款优秀的基于Java的持久层框架(来源于“internet”和“abatis”的组合),它支持定制化 SQL.存储过程以及高级映射. MyBatis 避免了 ...

  4. 【学习总结】GirlsInAI ML-diary day-21-初识 Numpy, Matplotlib, Seanborn [柱状图、折线图、箱图]

    [学习总结]GirlsInAI ML-diary 总 原博github链接-day21 初识 Numpy, Matplotlib, Seanborn [柱状图.折线图.箱图] 一.Titanic练习赛 ...

  5. python 面向对象(类)--学习笔记

    面向对象是一种编程方式, 主要集中在类和对象的两个概念 python 中的类符合封装, 继承, 多态的特征 类 是一个模板, 是n多函数的集成 对象 是类的实例化 类的成员分为三大类:字段.方法.属性 ...

  6. Linux下svn回滚

    方法1: 用svn merge 1) 先 svn up,保证更新到最新的版本,如20: 2) 然后用 svn log ,查看历史修改,找出要恢复的版本,如10 .如果想要更详细的了解情况,可以使用sv ...

  7. vsftpd配置详解

    匿名用户权限控制: anonymous_enable=YES #是否启用匿名用户 no_anon_password=YES #匿名用户login时不询问口令 anon_upload_enable=(y ...

  8. ARC102E - Stop. Otherwise... 组合计数

    枚举 \(i\),然后可以把 \(j\) 和 \(i - j\) 绑定成一对.把一对看成一个整的元素,与别的没有被绑定的数一起来参与选择就可以了. 但是由于实际上一对中的数是可以二选一的,所以不妨令 ...

  9. v-for中的key的使用【key的作用主要是是为了高效的更新虚拟DOM】

    vue中列表循环需加:key="唯一标识" 唯一标识可以是item里面id index等,因为vue组件高度复用增加Key可以标识组件的唯一性,为了更好地区别各个组件 key的作用 ...

  10. LVS负载均衡中arp_ignore和arp_annonuce参数配置

    先简单的介绍下关于LVS负载均衡 LVS(Linux  Virtual Server)Linux服务器集群系统 针对高可伸缩,高可用服务的需求,给予IP层和内容请求分发的负载均衡调度解决方法,并在Li ...