一、Linux中find常见用法示例
·find    path    -option    [    -print ]    [ -exec    -ok    command ]    {} /;
#-print 将查找到的文件输出到标准输出
#-exec    command    {} /;       -----将查到的文件执行command操作,{} 和 /;之间有空格
#-ok 和-exec相同,只不过在操作前要询用户
====================================================
-name    filename               #查找名为filename的文件
-perm                         #按执行权限来查找
-user     username              #按文件属主来查找
-group groupname              #按组来查找
-mtime    -n +n                 #按文件更改时间来查找文件,-n指n天以内,+n指n天以前
-atime     -n +n                #按文件访问时间来查GIN: 0px">-perm                          #按执行权限来查找
-user     username              #按文件属主来查找
-group groupname              #按组来查找
-mtime    -n +n                 #按文件更改时间来查找文件,-n指n天以内,+n指n天以前
-atime     -n +n                #按文件访问时间来查找文件,-n指n天以内,+n指n天以前 
-ctime     -n +n                #按文件创建时间来查找文件,-n指n天以内,+n指n天以前 
-nogroup                      #查无有效属组的文件,即文件的属组在/etc/groups中不存在
-nouser                       #查无有效属主的文件,即文件的属主在/etc/passwd中不存
-newer    f1 !f2                找文件,-n指n天以内,+n指n天以前 
-ctime     -n +n                #按文件创建时间来查找文件,-n指n天以内,+n指n天以前 
-nogroup                      #查无有效属组的文件,即文件的属组在/etc/groups中不存在
-nouser                       #查无有效属主的文件,即文件的属主在/etc/passwd中不存
-newer    f1 !f2                #查更改时间比f1新但比f2旧的文件
-type      b/d/c/p/l/f          #查是块设备、目录、字符设备、管道、符号链接、普通文件
-size       n[c]                #查长度为n块[或n字节]的文件
-depth                        #使查找在进入子目录前先行查找完本目录
-fstype                       #查更改时间比f1新但比f2旧的文件
-mount                        #查文件时不跨越文件系统mount点
-follow                       #如果遇到符号链接文件,就跟踪链接所指的文件
-cpio                         #对匹配的文件使用cpio命令,将他们备份到磁带设备中
-prune                        #忽略某个目录
====================================================
$find    ~    -name    "*.txt"    -print      #在$HOME中查.txt文件并显示
$find    .     -name    "*.txt"    -print
$find    .     -name    "[A-Z]*"    -pri26nbsp;     #对匹配的文件使用cpio命令,将他们备份到磁带设备中
-prune                                #忽略某个目录
$find    .     -name    "[A-Z]*"    -print    #查以大写字母开头的文件
$find    /etc    -name    "host*"    -print #查以host开头的文件
$find    .    -name    "[a-z][a-z][0--9][0--9].txt"     -print    #查以两个小写字母和两个数字开头的txt文件
$find .    -perm    755    -print
$find    .    -perm -007    -exec ls -l {} /;    #查所有用户都可读写执行的文件同-perm 777
$find    . -type d    -print   打印目录结构
$find    .   !    -type    d    -print  打印非目录文件
find /usr/include -name '*.h' -exec grep AF_INEF6 {} /; 因grep无法递归搜索子目录,故可以和find相结合使用。 在/usr/include 所有子目录中的.h文件中找字串AF_INEF6
$find    .    -type l    -print
$find    .    -size    +1000000c    -print         #查长度大于1Mb的文件
$find    .    -size    100c          -print        # 查长度为100c的文件
$find    .    -size    +10    -print               #查长度超过期作废10块的文件(1块=512字节)
$cd /
$find    etc    home    apps     -depth    -print    | cpio    -ivcdC65536    -o    /dev/rmt0
$find    /etc -name "passwd*"    -exec grep    "cnscn"    {}    /;    #看是否存在cnscn用户
$find . -name "yao*"    | xargs file
$find    . -name "yao*"    |    xargs    echo     "" > /tmp/core.log
$find    . -name "yao*"    | xargs    chmod    o-w
======================================================
find    -name april*                        在当前目录下查找以april开始的文件
find    -name    april*    fprint file          在当前目录下查找以april开始的文件,并把结果输出到file中
find    -name ap* -o -name may*    查找以ap或may开头的文件
find    /mnt    -name tom.txt    -ftype vfat    在/mnt下查找名称为tom.txt且文件系统类型为vfat的文件
find    /mnt    -name t.txt ! -ftype vfat     在/mnt下查找名称为tom.txt且文件系统类型不为vfat的文件
find    /tmp    -name wa* -type l             在/tmp下查找名为wa开头且类型为符号链接的文件
find    /home    -mtime    -2                   在/home下查最近两天内改动过的文件
find /home     -atime -1                    查1天之内被存取过的文件
find /home -mmin     +60                    在/home下查60分钟前改动过的文件
find /home    -amin    +30                    查最近30分钟前被存取过的文件
find /home    -newer    tmp.txt               在/home下查更新时间比tmp.txt近的文件或目录
find /home    -anewer    tmp.txt              在/home下查存取时间比tmp.txt近的文件或目录
find    /home    -used    -2                    列出文件或目录被改动过之后,在2日内被存取过的文件或目录
find    /home    -user cnscn                  列出/home目录内属于用户cnscn的文件或目录
find    /home    -uid    +501                   列出/home目录内用户的识别码大于501的文件或目录
find    /home    -group    cnscn                列出/home内组为cnscn的文件或目录
find    /home    -gid 501                     列出/home内组id为501的文件或目录
find    /home    -nouser                      列出/home内不属于本地用户的文件或目录
find    /home    -nogroup                     列出/home内不属于本地组的文件或目录
find    /home     -name tmp.txt     -maxdepth    4    列出/home内的tmp.txt 查时深度最多为3层
find    /home    -name tmp.txt    -mindepth    3    从第2层开始查
find    /home    -empty                       查找大小为0的文件或空目录
find    /home    -size    +512k                 查大于512k的文件
find    /home    -size    -512k                 查小于512k的文件
find    /home    -links    +2                   查硬连接数大于2的文件或目录
find    /home    -perm    0700                  查权限为700的文件或目录
find    /tmp    -name tmp.txt    -exec cat {} /;
find    /tmp    -name    tmp.txt    -ok    rm {} /;
find     /    -amin     -10         # 查找在系统中最后10分钟访问的文件
find     /    -atime    -2           # 查找在系统中最后48小时访问的文件
find     /    -empty                # 查找在系统中为空的文件或者文件夹
find     /    -group    cat          # 查找在系统中属于 groupcat的文件
find     /    -mmin    -5           # 查找在系统中最后5分钟里修改过的文件
find     /    -mtime    -1          #查找在系统中最后24小时里修改过的文件
find     /    -nouser               #查找在系统中属于作废用户的文件
find     /    -user     fred         #查找在系统中属于FRED这个用户的文件
查当前目录下的所有普通文件 
--------------------------------------------------------------------------------
# find . -type f -exec ls -l {} /; 
-rw-r--r--      1 root       root          34928 2003-02-25    ./conf/httpd.conf 
-rw-r--r--      1 root       root          12959 2003-02-25    ./conf/magic 
-rw-r--r--      1 root       root            180 2003-02-25    ./conf.d/README 
查当前目录下的所有普通文件,并在- e x e c选项中使用ls -l命令将它们列出
=================================================
在/ l o g s目录中查找更改时间在5日以前的文件并删除它们:
$ find logs -type f -mtime +5 -exec    -ok    rm {} /;
=================================================
查询当天修改过的文件
[root@book class]# find    ./    -mtime    -1    -type f    -exec    ls -l    {} /;
=================================================
查询文件并询问是否要显示
[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]#
=================================================
查询并交给awk去处理
[root@book class]# who    |    awk    '{print $1"/t"$2}'
cnscn     pts/0
=================================================
awk---grep---sed
[root@book class]# df    -k |    awk '{print $1}' |    grep    -v    'none' |    sed    s"///devg"
文件系统
sda2
sda1
[root@book class]# df    -k |    awk '{print $1}' |    grep    -v    'none'
文件系统
/dev/sda2
/dev/sda1
1)在/tmp中查找所有的*.h,并在这些文件中查找“SYSCALL_VECTOR",最后打印出所有包含"SYSCALL_VECTOR"的文件名
A) find    /tmp    -name    "*.h"    | xargs    -n50    grep SYSCALL_VECTOR
B) grep    SYSCALL_VECTOR    /tmp/*.h | cut     -d':'    -f1| uniq > filename
C) find    /tmp    -name "*.h"    -exec grep "SYSCALL_VECTOR"    {}    /; -print
2)find / -name filename -exec rm -rf {} /;
     find / -name filename -ok rm -rf {} /;
3)比如要查找磁盘中大于3M的文件:
find . -size +3000k -exec ls -ld {} ;
4)将find出来的东西拷到另一个地方
find *.c -exec cp '{}' /tmp ';'
如果有特殊文件,可以用cpio,也可以用这样的语法:
find dir -name filename -print | cpio -pdv newdir
6)查找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命令的用法
1. 基本用法:
      find / -name 文件名
     find ver1.d ver2.d -name '*.c' -print    查找ver1.d,ver2.d *.c文件并打印
     find . -type d -print 从当前目录查找,仅查找目录,找到后,打印路径名。可用于打印目录结构。
2. 无错误查找:
      find / -name access_log 2 >/dev/null
3. 按尺寸查找:
      find / -size 1500c (查找1,500字节大小的文件,c表示字节)
      find / -size +1500c (查找大于1,500字节大小的文件,+表示大于)    
      find / -size +1500c (查找小于1,500字节大小的文件,-表示小于)    
4. 按时间:
      find / -amin n 最后n分钟 
      find / -atime n 最后n天
      find / -cmin n 最后n分钟改变状态
      find / -ctime n 最后n天改变状态
5. 其它:
      find / -empty 空白文件、空白文件夹、没有子目录的文件夹
      find / -false 查找系统中总是错误的文件
      find / -fstype type 找存在于指定文件系统的文件,如type为ext2
      find / -gid n 组id为n的文件
      find / -group gname 组名为gname的文件
      find / -depth n 在某层指定目录中优先查找文件内容
      find / -maxdepth levels 在某个层次目录中按递减方式查找
6. 逻辑
      -and 条件与 -or 条件或
7. 查找字符串
      find . -name '*.html' -exec grep 'mailto:'{}

************************************************************

引自:http://blog.csdn.net/zlb_xidian/article/details/5781479


相关文章推荐


★Linux环境变量的设置和查看方法

★Linux命令速查手册

★关于linux系统中命令的使用详解

★简单而常用的shell 命令

★rpm常用命令集合

★[常用命令]diff

★vi指令大全

★LINUX/UNIX vi全屏幕编辑器

★Linux操作系统Ifconfig命令详细解析

★linux top命令详解

★chmod命令使用详解

★Linux主要shell命令详解

★linux ps命令使用详解

★Linux下设置和修改IP


Linux部分精彩文章推荐

★Linux系统初学者的常见问题解决集结

★Linux挂载U盘

★linux 下的挂载

★redhat和ubuntu系统下挂载ntfs文件系统的方法(转载)

★疯狂挂载:Linux连接常用外部设备的方法

★ubuntu 重装系统备份数据   ubuntu安装kde桌面

★ubuntu全局配置文件

★ubuntu安装rpm的方法

★ubuntu设置全攻略

★Linux 常用C函数说明-文件权限控制篇

★rpm deb命令集合

★rc.local自启动学习

★init.d,rc.d详解 Linux运行时详解

★linux下tar gz bz2 tgz z等众多压缩文件的解压方法

★tar命令用法详述

★使用tar进行磁带备份的命令汇总

★LINUX:解压问题tar: Child returned status 1

★Linux系统服务自启动设置_Tomcat

★Linux操作系统下SSH默认22端口修改方法

★Linux启动级别:init 0,1,2,3,4,5,6

★linux服务开机启动和运行级别

★linux服务自动启动功能

★新手学堂:Linux操作系统的启动步骤说明

★xinit启动X Window System过程初探

★构建小型Linux跟文件系统镜像(Ext2 或 Ext3)

★linux内核源码目录结构

★简述 Linux 文件系统的目录结构

★Linux目录结构及解释

★Linux 内核源代码的结构

★linux文件系统的目录结构

★linux 端口 操作

★Linux操作系统下软件的安装与卸载

★vim 实用的经验

★网络管理:超级详细Tcpdump 的用法

★Linux系统下网卡网络配置基础

★用vsFTPd自架Linux网络安装服务器,以及Redhat局域网安装的解决办法

★网络管理:超级详细Tcpdump 的用法

★[转]tcpdump 教程 用法 使用

★Linux下telnet配置

★linux 任务计划 cron

★YUM 库的安装

★Linux环境变量的设置和查看方法

★Linux命令速查手册

★关于linux系统中命令的使用详解

★简单而常用的shell 命令

★rpm常用命令集合

★[常用命令]diff

★vi指令大全

★LINUX/UNIX vi全屏幕编辑器

★Linux操作系统Ifconfig命令详细解析

★linux top命令详解

★chmod命令使用详解

★Linux主要shell命令详解

★linux ps命令使用详解

★Linux下设置和修改IP

★Linux中find用法整理

★Fedora 中的 Yum 命令详解

★rpm常用命令集合

★Linux cat 命令用法

★chmod命令详细用法

★linux redhat命令大全

★Linux操作系统下/etc/hosts文件

★LINUX PATH环境变量

★如何安装无签名认证的rpm包

★LINUX关于休眠、待机和睡眠的问题

★initrd.img处理

★Linux字符集的修改方法

★Awk学习笔记

★shell取得文件行数6法

★正则表达式

★shell中单引号、双引号、反引号、反斜杠的使用

★Linux开机过程(转)

★LINUX中注销其他已登陆帐户

★学习 Linux LVM

★shell 中的参数替换

mkswap 把一个分区格式化成为swap交换区

★rsh的配置

修复GRUB

★Linux自动注销登录的帐户

★linux下的/dev/shm/  以及与swap目录的区别

★Redhat Linux配置远程桌面

★Linux截图工具import使用说明

★Linux、UNIX下磁带机的管理和使用

★Linux 磁带机备份完全攻略

★gnome桌面环境 kde桌面环境的区别

★linux i18n修改,中文版英文版体现

★linux命令-locale字符显示

★linux命令-locale字符显示

★RedHat 8.0软件包组--桌面类

★让英文版的LINUX 支持中文显示

★Linux  shell内核使用

★在RedHat Enterprise Linux 上Oracle 9i的安装配置与调优

★Linux下安装mysql后无法启动的解决方法

★百度最全的LINUX和Redhat学习教程下载帖大全

★Redhat linux 安装 gcc编译器,Gcc源码包,rpm包安装方法!

★RHCE题库

★Redhat Enterprise Linux 6 正式版已经发布!

★VMWare虚拟机安装RedHat Linux全过程

Linux中find用法整理相关推荐

  1. Linux中EOF用法

    Linux中EOF用法 理解:EOF是END Of File的缩写,表示自定义终止符.既然自定义,那么EOF就不是固定的,可以随意设置别名,在linux按ctrl-d就代表EOF. EOF一般会配合c ...

  2. Linux中wait用法

    Linux中wait用法: 系统中的僵尸进程都要由wait系统调用来回收. 函数原型: #include<sys/types.h> #include<sys/wait.h> p ...

  3. Linux中find用法

    Linux中find常见用法示例 ·find   path   -option   [   -print ]   [ -exec   -ok   command ]   {} \; #-print 将 ...

  4. linux密码叹号,Linux中“!”感叹号用法技巧大全

    这篇文章主要给大家介绍了关于Linux中"!"你不知道的惊叹用法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习 ...

  5. linux中daemonize用法,daemonize Unix系统后台守护进程管理软件

    在我们的工作中,很多时候都需要在linux中后台运行程序, 方法1: nohup & 方法2: daemonize Unix系统后台守护进程管理软件 优点:更加正规 后台运⾏更稳定 git c ...

  6. get在linux中的用法,在Linux中使用GetKeyState(VK_CAPITAL)1

    #include int main() { if ( !GetKeyState(VK_CAPITAL) & 1 ) { printf("caps off"); } else ...

  7. Linux中SCP用法

    在linux中,两台服务器如何互传文件? 如果想拷贝本地文件到另外一台ssh终端,可以使用以下命令: scp +包名 +远程主机名+存放的绝对路径 如 scp shopfront-0.0.1-SNAP ...

  8. linux中gawk用法,Linux - gawk 命令

    gawk 是 awk 的 GUN 版 =========================================== 是一种<模式扫描和处理>语言.它搜索一个或多个文件,查看这些文 ...

  9. linux中mfsort用法,Linux命令――sort

    sort以文件的每一行为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出. 用法:sort [OPTION]... [FILE]... 参 数: -b   ...

最新文章

  1. java - 把日志生成到指定目录
  2. 从sqlserver中数据写入mysql_[SQL Server]SQL Server数据库中如何返回INSERT INTO语句插入/写入数据后的记录值(比如ID等)?...
  3. ITK:多输入不同的类型
  4. 系统架构师学习笔记-开发管理
  5. dbutils java_Dbutils工具类的使用
  6. 墨迹天气回应IPO失败:不会因一次失利而止步
  7. 单片机工作笔记001---了解单片机MCS51
  8. Spring JMX之二:远程访问MBean(spring通过annotation暴露MBean)
  9. c++ const 修饰变量位置含义
  10. rtc校准算法_STM32实时时钟RTC日历算法
  11. 微信公众号 返回40163
  12. 解决异常:Premature end of chunk coded message body: closing chunk expected
  13. #linux# gcc编译优化-O0 -O1 -O2 -O3 -OS说明
  14. 华为鸿蒙系统有没有畅玩7c,华为荣耀畅玩7C有什么新功能
  15. java scp发送文件到服务器,Java实现往远程服务器传输文件
  16. 改进YOLOv7系列:首发结合最新Transformer视觉模型MOAT结构:交替移动卷积和注意力带来强大的Transformer视觉模型,超强的提升
  17. 追忆第一次南下深圳有哪些重大抉择(二)?
  18. 【Vue3源码学习】响应式源码解析:reactive、effect、ref
  19. gem意思_GEM什么意思
  20. snort 联动iptables 配置为IPS,NIDS

热门文章

  1. 蚂蚁金服双 11 大促全面揭秘:百万支付、容器化和平台智能化
  2. 摩拜不死,已入美团!
  3. virsh 关机_kvm 虚拟化 virsh shutdown 无法关闭虚拟机
  4. mysql连表查询效率,我就不信你还听不明白了!
  5. MySQL-InnoDB-事务
  6. 211学校计算机报考人数信息,速查!这些985 211学校已发布考研调剂信息
  7. matlab gui 图像增强,基于MATLAB GUI的图像增强技术的实现
  8. processing作品代码_创意编程 | Processing的初步学习
  9. android9 system_server 访问sd卡_Leez学院丨手把手教你栗子板Android9固件编译
  10. apex图表使用饼图居中_还在用单饼图展示Excel数据?一分钟学会制作复合饼图