【概述】

find命令是Linux中一个很强大的查找命令,用于在目录结构中搜索文件并执行指定操作。只要具有相应的权限,即使系统中含有网络文件系统(NFS),find 命令在该文件系统中同样有效。由于find命令功能强大,常被用来在大文件系统中查找文件,这会话费很长时间,所以人们更倾向于把它放在后台执行。接下来我们看看find命令的具体用法。

【1】命令格式

find pathname -options[-print -exec -ok ...]

find 查找路径 -命令参数

【2】命令功能

find命令用于在文件树中查找文件,并做出相应的处理,这个过程中有可能会访问磁盘

【3】命令参数

pathname:find命令所查找的目录路径

例如用.来表示当前目录,用/来表示系统根目录

-print:find命令将匹配的文件输出到标准输出

-exec:find命令对匹配的文件执行该参数所给出的shell命令

相应命令的形式为'command' { } \;(注意{ }和\之间有空格)

-ok:和-exec的作用相同,只不过以一种更安全的模式来执行该参数所给出的shell命令

在执行每一个命令之前,都会给出提示,让用户来确定是否执行

【4】命令选项

1.根据时间查找文件  -atime/-ctime/-mtime/-newer/-anewer/-used

-atime  -n +n          按文件访问时间来查找文件,-n指n天以内,+n指n 天以前

-ctime  -n +n          按文件创建时间来查找文件,-n指n天以内,+n指n 天以前

-mtime  -n +n         按文件更改时间来查找文件,-n指n天以内,+n指n 天以前

-newer file1 ! file2    查找更改时间比文件file1新但比文 件file2旧的文件

eg.

-amin  -10     // 查找在系统中最后10分钟访问的文件

-amin  +30     // 查找最近30分钟前被存取过的文件

-atime   -2     // 查找在系统中最后48小时访问的文件

-atime  -1     // 查找1天之内被存取过的文件

-mmin   +60      // 查找60分钟前改动过的文件

-mmin  -5     // 查找在系统中最后5分钟里修改过的文件

-mtime  -2      // 查找最近两天内改动过的文件

-mtime  -1     // 查找在系统中最后24小时里修改过的文件

-newer   tmp.txt      // 查找更新时间比tmp.txt近的文件或目录    -anewer   tmp.txt      // 查找存取时间比tmp.txt近的文件或目录

-used  -2     //列出文件或目录被改动过之后,在2日内被存取过的文件或目录

由此可以看出,min是分钟,time是小时,a访问,c改变状态,m改变数据

2.根据文件名查找文件-name

-name   filename       查找名为filename的文件

eg.

-name   "*.txt"     // 查找.txt文件并显示

-name   "[A-Z]*"     // 查找以大写字母开头的文件

-name   "host*"     // 查找以host开头的文件

-name   "[a-z][a-z][0–9][0–9].txt"     // 查找以两个小写字母和两个数字开头的txt文件

-name april*     // 查找以april开始的文件

-name   april*   fprint file     // 查找以april开始的文件,并把结果输出到file中

-name ap* -o -name may*     // 查找以ap或may开头的文件

-name tom.txt   -ftype vfat     // 查找名称为tom.txt且文件系统类型为vfat的文件

-name t.txt ! -ftype vfat     // 查找名称为tom.txt且文件系统类型不为vfat的文件

-name wa* -type l     // 查找名为wa开头且类型为符号链接的文件

3.根据文件权限查找文件    -perm

-perm     按执行权限来查找

eg.

-perm  700     // 查找权限为700的文件或目录

-perm  777     // 查找所有用户都可读写执行的文件

4.根据文件属主查找文件    -user/nouser

-user  username     按文件属主来查找

eg.

find    /   -user    fred     // 查找在系统中属于FRED这个用户的文件

find   /home   -user  cnscn     // 列出/home目录内属于用户cnscn的文件或目录

find   /home   -nouser     // 列出/home内不属于本地用户的文件或目录

5.根据文件所属组查找文件    -group/-nogroup

-group groupname     按文件所属组来查找

eg.

find    /   -group   cat     //  查找在系统中属于 groupcat的文件

find   /home   -group   cnscn     // 列出/home内组为cnscn的文件或目录

find   /home   -nogroup     // 列出/home内不属于本地组的文件或目录

6.根据文件类型查找文件   -tpye

-type    b /d /c /p /l /f /s      查找是块设备、目录、字符设备、管道、符号链接、普通、socket文件

eg.

-type  d     // 查找当前目录下的目录

-type  c     // 查找当前目录下的字符设备文件

-type  l     // 查找当前目录下的符号链接文件

7.根据文件大小查找文件   -size

-size  n[c]     查找长度为n块[或n字节]的文件

eg.

-size   +1000000ct     // 查找长度大于1Mb的文件

-size   100ct     // 查找长度为100c的文件

-size   +10     // 查找长度超过期作废10块的文件(1块=512字节)

-size   +512k     // 查找大于512k的文件

-size   -512k     // 查找小于512k的文件

当然了,find命令也可以和其他的命令一起复合使用,例如:

a.查当前目录下的所有普通文件

# find . -type f -exec ls -l {} \;

b.在/ l o g s目录中查找更改时间在5日以前的文件并删除

$ find logs -type f -mtime +5 -exec   -ok   rm {} \;

c.查询当天修改过的文件

[root@book class]# find   ./   -mtime   -1   -type f   -exec   ls -l   {} \;

d.查询文件并询问是否要显示

[root@book class]# find   ./   -mtime   -1   -type f   -ok   ls -l   {} \;          < ls … ./classDB.inc.php > ? y        -rw-r–r–    1 cnscn    cnscn       13709   1月 12 12:22 ./classDB.inc.php        [root@book class]# find   ./   -mtime   -1   -type f   -ok   ls -l   {} \;          < ls … ./classDB.inc.php > ? n        [root@book class]#

e.比如要查找磁盘中大于3M的文件:

find . -size +3000k -exec ls -ld {} ;

f.将find出来的东西拷到另一个地方

find *.c -exec cp ‘{}’ /tmp ‘;’

g.查找2004-11-30 16:36:37时更改过的文件

# A=`find ./ -name "*php"` |   ls -l –full-time $A 2>/dev/null | grep "2004-11-30 16:36:37"

linux+find参数详解,Linux下find命令详解相关推荐

  1. android 命令使用详解,Android下pm 命令详解

    作者:Sam (甄峰) sam_code@hotmail.com Sam在看相关PackageManager代码时,无意中发现Android 下提供一个pm命令,通常放在/system/bin/下.这 ...

  2. linux下dd命令详解

    linux下dd命令详解    名称: dd 使用权限: 所有使用者dd 这个指令在 manual 里的定义是 convert and copy a file 使用方式: dd [option] 如果 ...

  3. linux vsftpd用法,Linux_LINUX系统下vsftpd 命令详解,FTP命令是Internet用户使用最频 - phpStudy...

    LINUX系统下vsftpd 命令详解 FTP命令是Internet用户使用最频繁的命令之一,不论是在DOS还是UNIX操 作系统下使用FTP,都会遇到大量的FTP内部命令. 熟悉并灵活应用FTP的内 ...

  4. linux下scp命令详解

    http://www.cnblogs.com/xuxm2007/archive/2010/08/04/1792179.html linux下scp命令详解 http://www.9usb.net/20 ...

  5. linux下tree命令详解

    From:http://blog.163.com/ly_89/blog/static/186902299201161302812880/ linux下tree命令详解---linux以树状图逐级列出目 ...

  6. linux cat命令缩写,linux下cat命令详解

    cat 能够一同显现多个文件的内容,比方咱们能够在一个cat指令上一同显现两个文件的内容;那么你知道linux下cat命令详解么?接下来是小编为大家收集的linux下cat命令详解,欢迎大家阅读: l ...

  7. linux中的ps fx命令,Linux下ps命令详解 Linux下ps命令的详细使用方法

    Linux下ps命令详解 1. 运行(正在运行或在运行队列中等待) 2. 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号) 3. 不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断 ...

  8. linux 命令xargs,Linux下xargs命令详解

    Linux下xargs命令详解 1. 简介   之所以能用到这个命令,关键是由于很多命令不支持|管道来传递参数,而日常工作中有有这个必要,所以就有了xargs命令,例如: find /sbin -pe ...

  9. linux的ftp命令大全文库,linux下ftp命令详解

    linux下ftp命令详解 (11页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 19.9 积分 登录FTP服务器的命令格式:ftp [-v][-d][- ...

  10. linux环境下ps命令行,Linux下ps命令详解

    下ps命令详解Linux上进程有5种状态: 1. 运行(正在运行或在运行队列中等待)2. 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号)3. 不可中断(收到信号不唤醒和不可运行, 进程必须 ...

最新文章

  1. 重磅!谷歌刚刚发布Objectron新数据集,可完美检测3D目标,超过4百万幅图像和15K视频剪辑!...
  2. html 重置画布坐标系,html5清空画布方法(三种)
  3. 用耳朵“打字”| 这个设备可以让患者实现用耳朵进行交流
  4. 企业组网安全如何保障?SDWAN提供怎样的安全服务?
  5. Python求解线性方程组
  6. BZOJ2342[Shoi2011]双倍回文——回文自动机
  7. python 字符串 数组 判断,Python的字符串的数组指数
  8. CSDNmarkdown编辑器报错KaTeX parse error: \cr valid……
  9. 不停机上线服务_手机停机也能迅速交话费!微信和三大运营商联手开了“绿色通道”...
  10. ZOJ 3490 String Successor
  11. centos java7安装_Centos7 JDK7安装配置
  12. 转速器盘课程设计 大批量
  13. ERP之什么是物料编码?
  14. bootstrap菜单html,Bootstrap实现下拉菜单效果
  15. 【Python-利用动态二维码传输文件(三)】动态二维码展示界面制作,涉及PIL库、threading库、os库、time库和tkinter库的Tk、Label组件
  16. 荣耀20青春版曝光用屏幕指纹,网友:不是侧边指纹更快吗?
  17. Ubuntu18.04 配置nvidia 460驱动、cuda10.1和cudnn7.6.5
  18. 前端大串讲,狂神,狂神和飞哥
  19. Python4班平均成绩统计_医学统计软件应用——SPSS(四) 配对样本及两独立样本t检验...
  20. ardunio 字符串分割

热门文章

  1. 安卓手机运行linux声音,Android中手机声音调节步骤
  2. 游戏服务器显示OV,云顶之弈:这才是版本答案,连神超都开始连败开局了,学会就上分...
  3. 2016 大学老友小聚
  4. Java JPA快速入门介绍
  5. (qt)qml与html通信(QWebChannel的使用)
  6. python中wordcloud生成词云_python使用WordCloud生成词云
  7. JAVASEday03
  8. 抓取屏幕与毛玻璃效果
  9. 有了这些互动小游戏,知识竞赛更精彩了
  10. 王权富贵:jupter添加python环境