Linux下find命令详情

Linux下find命令在目录结构中搜索文件,并执行指定的操作。
linux下find命令提供了相当多的查找条件,功能很强大,所以它的选项也很多,其中有许多的选项都值得我们深入的了解学习。

命令格式:find pathname -options [-print -exec -ok ...]
    命令功能:用于在文件树中查找文件,并作出相应的处理(可能访问磁盘)
    命令参数:
        pathname:find命令所查找的目录路径。例如,用.来表示当前目录,用/来表示系统根目录。
        -print:find命令将匹配的文件输出到标准输出。
        -exec:find命令对匹配的文件执行该参数所给出的shell命令。
        -ok:和-exec的作用相同,只是以一种更安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。

下面就进入find命令选项的功能详情:
1、-name    按照文件名查找文件
   文件名选项是find命令最常用的选项,可以单独使用该选项,也可以其他选项一起使用。  可以使用某种文件名模式来匹配文件,注意要用引号将文件名模式引起来。  不管当前路径是什么,可用~作为 ‘pathname‘参数,波浪号~代表了你的$HOME目录。

例如:

想要在当前目录及子目录中查找所有的‘ *.log‘文件,可用: 
    

想要的当前目录及子目录中查找文件名以一个大写字母开头的文件,可用:
    

想要在/etc目录中查找文件名以host开头的文件,可用:
    

想要查找$HOME目录中的文件,可用:
   

2、-perm    按照文件权限查找文件
   按文件权限模式来查找文件的话。最好使用八进制的权限表示法。 
   在当前目录下查找文件权限位为644的文件,可用:
   

3、-prune   忽略某个目录
   使用-prune选项来指出需要忽略的目录。如果同时使用了-depth选项,那么-prune选项就会被find命令忽略。

在file1目录下查找文件,但不希望在file1/file3目录下查找,可以用:

4、-user    按照文件属主来查找文件
   -nouser   查找无有效属主的文件

在$HOME目录中查找文件属主为yangning的文件

为了查找属主帐户不存在的文件,可以使用-nouser选项。
   在/home目录下查找所有的这类文件
   如:find /home -nouser -print
5、-group   按照文件所属的组来查找文件
      -nogroup  查找五有效所属组的文件
   就像user选项一样,针对文件所属于的用户组。

在/apps目录下查找属于gem用户组的文件,可以用: 
   find /apps -group gem -print 
   要查找没有有效所属用户组的所有文件,可以使用nogroup选项。
   从文件系统的根目录处查找这样的文件,可用:
   find / -nogroup -print
6、-type       查找某一类型的文件
   b  --   块设备文件
   d  --   目录
   c  --   字符设备文件
   p  --   管道文件
   l  --   符号链接文件
   f  --   普通文件
   在当前目录下查找所有的目录

在/etc目录下查找所有的符号链接文件

7、-size n: [c]          查找文件长度为n块的文件,带c时文件长度以字节计
   在当前目录下查找文件长度大于1000字节的文件,可用:

在当前目录下查找长度超过10块的文件(一块等于512字节) 
     

8、-depth   查找文件时,首先查找当前目录中的文件,然后在其子目录中查找
   从文件系统的根目录开始,查找一个名为CON.FILE的文件。   
   

它将首先匹配所有的文件然后再进入子目录中查找

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

10、-mtime -n +n   按照更改时间查找文件
        -atime -n +n   按照访问时间查找文件
        -ctime -n +n   按照改变时间查找文件
    用减号-来限定更改时间在距今n日以内的文件,而用加号+来限定更改时间在距今n日以前的文件。
    希望在系统根目录下查找更改时间在10日以内的文件,可以用:
   

以上是我对find指令一些选项的学习总结,难免有疏漏,见谅!!!!

时间: 2024-12-26 23:29:55

Linux下find命令详情的相关文章

(转)Linux下PS命令详解

(转)Linux下PS命令详解 整理自:http://blog.chinaunix.net/space.php?uid=20564848&do=blog&id=74654 要对系统中进程进行监测控制,查看状态,内存,CPU的使用情况,使用命令:/bin/ps (1) ps :是显示瞬间进程的状态,并不动态连续: (2) top:如果想对进程运行时间监控,应该用 top 命令: (3) kill 用于杀死进程或者给进程发送信号: (4) 查看文章最后的man手册,可以查看ps的每项输出的含义

Linux下more命令C语言实现实践

1. more第一版 实现基础功能,显示每一页固定24行文本,"q Enter"退出, "Enter" 下一行, "space Enter"下一页. /************************************************************************* > File Name: more01.c > Author: qianlv > Mail: [email protected] &

Linux下chkconfig命令详解

Linux下chkconfig命令详解 chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息.谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接. 使用语法:chkconfig [--add][--del][--list][系统服务] 或 chkconfig [--level <等级代号>][系统服务][on/off/reset] chkconfig在没有参数运行时,显示用法.如果加上服务名,那么就检查这个服务是否在当前运行级启动.如果是,返

转载的 Linux下chkconfig命令详解

Linux下chkconfig命令详解 chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息.谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接. 使用语法: chkconfig [--add][--del][--list][系统服务] 或 chkconfig [--level <等级代号>][系统服务][on/off/reset] chkconfig 在没有参数运行时,显示用法.如果加上服务名,那么就检查这个服务是否在当前运行级启动.如果是

linux下常用命令备忘

转自:Linux 命令集锦 linux下查看监听端口对应的进程 # lsof -i:9000 # lsof -Pnl +M -i4 如果退格键变成了:"^h". 终端连接unix删除退格键,按住CTL键同时按delete Linux搜索 # find / -name "xxx.conf" 查看linux是32位还是64位的命令 #file /sbin/init #getconf LONG_BIT #getconf -a 在Linux和Windows下都可以用nslo

Linux 下 who 命令

命令: who: 常用选项 意义 -a 显示所有用户的所有信息 -m 显示运行该程序的用户 -p 只显示用户的登陆帐号和登陆用户的数量,该选项优先级高于其他任何选项 -r 显示当前用户的运行级别,是在那个级别运行的 -u 在登陆用户后面显示该用户最后一次对系统进行操作距今的时间 参数:注:格式有点乱, -a, --all : 系统引导 2014-05-30 00:32 运行级别 2 2014-05-30 00:32 登录 tty4 2014-05-30 00:32 932 id=4 登录 tty

linux下find命令的使用

find find命令是我们常用的查找文件的命令,它是一个非常强大的查找指令,但相对话费的时间会很长,并且非常消耗资源. 语法: find [路径] [参数] [表达式] [-exec -ok ...] 指令 {} \; {}     代表find找到的文件: \      禁止转义: {}  \; 之间是有空格的: ;      表示本指令结束 -exec  find命令对匹配的文件执行该参数所给出的shell命令: -ok    和-exec的作用相同,只不过是一种更为安全的模式来执行该参数

Linux下ls命令显示符号链接权限为777的探索

Linux下ls命令显示符号链接权限为777的探索 --深入ls.链接.文件系统与权限 一.摘要 ls是Linux和Unix下最常使用的命令之一,主要用来列举目录下的文件信息,-l参数允许查看当前目录下所有可见文件的详细属性,包括文件属性.所有者.文件大小等信息.但是,当其显示符号链接的属性时,无论其指向文件属性如何,都会显示777,即任何人可读可写可执行.本文从ls命令源码出发,由浅入深地分析该现象的原因,简略探究了Linux 4.10下的符号链接链接.文件系统与权限的源码实现. 关键词:Li

linux下scp命令详解

scp是 secure copy的缩写, scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令.linux的scp命令可以在linux服务器之间复制文件和目录. scp命令的用处: scp在网络上不同的主机之间复制文件,它使用ssh安全协议传输数据,具有和ssh一样的验证机制,从而安全的远程拷贝文件. scp命令基本格式: scp [-1246BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file] [-l limit] [-o s