find查命令的使用find命令详解
find 是 Linux 中常⽤且强⼤的搜索命令,不仅可以按照⽂件名搜索⽂件,还可以按照权限、⼤⼩、时间、inode 号等来搜索⽂件。需要注意的是 find 命令是直接在硬盘中进⾏搜索的,如果指定的搜索范围过⼤,find命令就会消耗较⼤的系统资源,导致服务器压⼒过⼤。所以,在使⽤ find 命令搜索时,不要指定过⼤的搜索范围。
find 命令的基本信息如下:
命令名称:find
英⽂原意:search for files in a directory hierarchy.
所在路径:/usr/bin/find
执⾏权限:所有⽤户
功能描述:在⽬录中查⽂件
命令格式: find ⽬录 查的条件
输出形式:输出形式很多,-print,-printf,-print0,-exec,-ok,-ls, 很多建议看看⼿册,这⾥主要说⼀下-exec
-exec find命令对匹配的⽂件执⾏该参数所给出的其他linux命令。相应命令的形式为’ 命令 - and’ {} ;,注意{ }和\;之间的空格。
-ok 和- exec的作⽤相同,只不过是交互式的,OK执⾏前会向你确认是不是要执⾏。
查条件:
● -name ‘名字’
● -type 类型(l 代表快捷⽅式,d 代表⽬录,f 代表⽂本⽂件,b -代表块设备⽂件)
● -user ⽤户名 属于哪个⽤户
● -size -+ ⼤⼩(k , M , G)
● -perm 按照⽂件权限来查⽂件
● -prune 使⽤这⼀选项可以使find命令不在当前指定的⽬录中查,如果同时使⽤了- depth选项,那
么-prune选项将被find命令忽略
● -user 按照⽂件属主来查⽂件
● -group 按照⽂件所属的组来查⽂件
● -uid n:⽂件的所属⽤户uid为n
● -user name:⽂件的所属⽤户为name
● -gid n:⽂件的所属组gid为n
● -group name:所属组为name的⽂件
● -nogroup:没有所属组的⽂件
● -nouser:没有所属⽤户的⽂件
● -mtime -n +n 按照⽂件的更改时间来查⽂件, -n表⽰⽂件更改时间距现在n天以内,+n表⽰⽂件更改时间距现在n天以前。find命令还有-atime和-ctime选项,但它们都和-mtime选项
● -mtime 根据⽂件修改时间
● -mtime +10 ⼗天之前创建或修改的数据
● -mtime -10 最近⼗天内创建或修改的数据
● -mtime +90 三个⽉之前创建或修改的数据
● -mount 在查⽂件时不跨越⽂件系统mount点
● -follow 如果find命令遇到符号链接⽂件,就跟踪⾄链接所指向的⽂件
例:查/etc ⽬录下所有以 .conf 结尾的⽂本⽂件: find /etc -name *.conf
扩展: 查并复制
命令格式: find ⽬录 查的条件 -exec 命令 { } ⽬标路径 \;
复制 /etc ⽬录下所有以.conf结尾的⽂本⽂件到 /mnt/findfilds ⽬录下(注意有分号!)
find /etc -name *.conf -exec cp {} /mnt/findfiles/ ;

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。