linux find查找命令技巧

linux查找命令很多,其中最复杂和常用的就是find命令。

which      查看可执行文件的位置
whereis    查看文件的位置
locate     配合数据库查看文件位置
find       实际搜寻硬盘查询文件名称

 find命令的一般格式:
find pathname -options [-print -exec -ok ...]

pathname: find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。

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

-exec: find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为'command' { } ;,注意{ }和;之间的空格。

-ok: 和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。

find选项和示例说明:
-name  按照文件名查找文件。

-type 查找某一类型的文件,诸如:

b - 块设备文件。
d - 目录。
c - 字符设备文件。
p - 管道文件。
l - 符号链接文件。
f - 普通文件。

-perm  按照文件权限来查找文件。

-prune 使用这一选项可以使find命令不在当前指定的目录中查找,如果同时使用-depth选项,那么-prune将被find命令忽略。

-user  按照文件属主来查找文件。

-nouser 查找无有效属主的文件,即该文件的属主在/etc/passwd中不存在。

-group 按照文件所属的组来查找文件。

-nogroup 查找无有效所属组的文件,即该文件所属的组在/etc/groups中不存在。

-mtime -n +n 按照文件的更改时间来查找文件, - n表示文件更改时间距现在n天以内,+ n表示文件更改时间距现在n天以前。

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

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

-newer   f1 !f2               #查更改时间比f1新但比f2旧的文件

-size n:[c] 查找文件长度为n块的文件,带有c时表示文件长度以字节计。

-depth:在查找文件时,首先查找当前目录中的文件,然后再在其子目录中查找。

-mount:在查找文件时不跨越文件系统mount点。

-follow:如果find命令遇到符号链接文件,就跟踪至链接所指向的文件。

-mindepth 指定最小深度

-maxdepth 指定最大深度
-empty 查找空文件

(1)查找当前目录下文件名,并忽略大小写
find . -iname mysql.log

 (2)在第二层子目录和第四层子目录之间查找passwd文件。
find / -mindepth 3 -maxdepth 5 -name passwd

 (3)在find命令上查找文件上执行命令。
find . -iname mysql.log -exec md5sum {} \;

(4)查找当前目录下5个最大的文件
find . -type f -exec ls -s {} \; | sort -n -r | head -5

(5)查找更改时间在5日内文件
find /var/log -mtime -5

(6)查找比某个文件新或旧的文件
find -newer log2012.log ! -newer log2017.log

(7)查找当前目录下大于1M字节文件
find . -size +1000000c

时间: 2024-12-27 07:41:22

linux find查找命令技巧的相关文章

Linux 文件查找命令which 详解

某个文件不知道放在哪里了,通常可以使用下面的一些命令来查找: which  查看可执行文件的位置 whereis 查看文件的位置 locate   配合数据库查看文件位置 find   实际搜寻硬盘查询文件名称 附:Linux文件查找命令find详解   which 命令详解 which命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果.也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令. 1.命令格式: whic

Linux文件查找命令find,xargs详述【转】

转自:http://blog.csdn.net/cxylaf/article/details/4069595  转自http://www.linuxsir.org/main/?q=node/137 Linux文件查找命令find,xargs详述 总结:zhy2111314来自:LinuxSir.Org整理:北南南北摘要: 本文是find 命令的详细说明,可贵的是针对参数举了很多的实例,大量的例证,让初学者更为容易理解:本文是zhyfly兄贴在论坛中:我对本文进行了再次整理,为方便大家阅读: 目录

linux中grep 命令技巧一则

经常用grep命令查找文件内容,如果是git管理的代码会有很多的无用信息,比如有 No such file or directory 错误 其实搜索时候加入-s即可  代码如下 复制代码 grep –r ./* –s 在abc*目录下的所有xml文件中查找字符串xyz,命令如下:  代码如下 复制代码 find abc* -name '*.xml' | xargs grep -s 'xyz'

Linux中文件的五个查找命令总结_unix linux

Linux的查找命令有5个,分别如下:     which:在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果:     type:用于区分某个命令到底是由shell自带的,还是由shell外部的独立二进制文件提供的.如果一个命令是外部命令,那么使用-p参数,会显示该命令的路径,相当于which命令.type命令其实不能算查找命令:     whereis:只能用于程序名的搜索,而且只搜索二进制文件(参数-b).man说明文件(参数-m)和源代码文件(参数-s):    

Linux文件的五个查找命令详解

一. Linux查找命令一览 Linux的查找命令有5个,分别如下: which:在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果: type:用于区分某个命令到底是由shell自带的,还是由shell外部的独立二进制文件提供的.如果一个命令是外部命令,那么使用-p参数,会显示该命令的路径,相当于which命令.type命令其实不能算查找命令: whereis:只能用于程序名的搜索,而且只搜索二进制文件(参数-b).man说明文件(参数-m)和源代码文件(参数-s):

分享20个Unix/Linux 命令技巧_linux shell

让我们用这些Unix/Linux命令技巧开启新的一年,提高在终端下的生产力.我已经找了很久了,现在就与你们分享. > /path/to/file.log # 或使用如下格式 : > /path/to/file.log # 然后删除它 rm /path/to/file.log 如何记录终端输出? 试试使用script命令行工具来为你的终端输出创建输出记录. script my.terminal.sessio 输入命令: ls date sudo service foo stop 要退出(结束sc

linux命令技巧

 技巧: 用 cat 合并文件 您常常需要将几个文件处理成一个文件并将这种处理的结果保存到一个单独的输出文件. cat ("concatenate"的缩写)命令在其输入上接受一个或多个文件并将它们作为一个单独的文件打印到它的输出.例如, cat chapter01 chapter02 chapter03 > book 将三个chapterXX 文件保存在一个单独的book 文件中. 输入文件按照它们在 cat 命令后的排列顺序被打印,因此,要调换信息的顺序,就必须先调换输入文

Linux的五个查找命令

最近,我在学习Linux,下面是一些笔记. 使用电脑的时候,经常需要查找文件. 在Linux中,有很多方法可以做到这一点.国外网站LinuxHaxor总结了五条命令,你可以看看自己知道几条.大多数程序员,可能经常使用其中的2到3条,对这5条命令都很熟悉的人应该是不多的. 1. find find是最常见和最强大的查找命令,你可以用它找到任何你想找的文件. find的使用格式如下: $ find <指定目录> <指定条件> <指定动作> - <指定目录>: 所

linux文件搜索查找命令

linux文件搜索查找命令 1.grep 功能描述 grep 命令在一个或多个文件中查找与指定模式匹配的字符串.如果模式里包含有空格,必须用引号括起来.grep的模式只能是一个被引号括起来的字符串或者是一个单词,后面紧跟着的参数都被当作文件名.grep命令把结果输出到标准输出上,并不改变被搜索的源文件. 命令格式 grep pattern filename filename2 ... grep有几个选项比较常用的 -i    查找时忽略大小写进行比较 -n    显示找到的行在文件中的行号 -v