find常用参数详解

                        find常用参数详解

                                              作者:尹正杰

    在linux系统中,在init 3模式情况下都是命令行模式,这个时候我们想要找到一个文件的就得依赖一个非常好用的命令find,也是我们要学些的命令哟

再Linux操作系统的世界里,有各个不同的发行版本,redhat,centos,ubantu,suse,debian,fedora等等,我们需要在这些不通的操作系统中找一个文件,那么

我们开始今天的命令吧!

在学find命令之前,我们一起了解一下模糊匹配的命令locate,locate指令和find找寻档案的功能类似,但locate是透过update程序将硬盘中的所有档案和目录资

料先建立一个索引数据库,在 执行loacte时直接找该索引,查询速度会较快,索引数据库一般是由操作系统管理,但也可以直接下达update强迫系统立即修改

索引数据库.我们可以理解成locate是一个模糊的匹配。

locate可以这么用:

[[email protected] ~]# updatedb    //更新所有数据库

[[email protected] ~]# locate -n 5 passwd   //在系统更新的数据库(这个数据库存的都是目录或者文件还有路径)中查找含有passwd字样的文件,并输出前5行
/etc/passwd
/etc/passwd-
/etc/passwd.OLD
/etc/pam.d/passwd
/etc/security/opasswd
[[email protected] ~]#

[[email protected] ~]# locate -i passwd //忽略文件的大小写,不管是大写还是小写都会被查出来的

[[email protected] ~]# locate passwd //查找还有passwd字样的文件,这个不包括大小写,我们可以通过下面返回结果来看那个搜索的文件比较多。

补充一下:

1.在这行中有个"|",表示将前面命令的输出结果让后面的命令去执行,如果有时间大家也可以学学shell,是一个很容易上手的脚本语言;

2."wc -l"统计文件的行数,包括空格行都统计的哟;

3.wc的语法:wc [参数] 文件

参数   含义

-c        显示文件的Bytes数(字节数)及文件名输出到屏幕上
-l        将每个文件的行数及文件名输出到屏幕上
-m      将每个文件的字符数及文件名输出到屏幕上,如果当前系统不支持多字节字符其将显示与-c参数相同的结果
-w      将每个文件含有多少个词及文件名输出到屏幕上

上面的location功能的确强大啊,find能找到的文件他都能找到呢,但是有的文件并不是我想要啊。假设我就想

找一下我的系统用户的配置文件的路径,没必要数出来156个参数啊,所以让我们精确查找一下文件吧;

find的语法使用格式:find [需要查找的路径(如果不写的话默认当前路径)][查找规则][查找完成后执行的动作]

下面让我们一起看看常用的方法吧:

1.查找系统用户存放文件【在跟目录下按名称查找】

怎么样,和locate相比更加精确吧,在这个5个文件找出系统用户存放的目录和在152个文件找出来这个文件要简单的多吧。

2.在几个不同的目录中查找处我的网页文件

3.该命令还支持通配符哟,如单个字符“?”,多个字符"*"

单个字符:

多个字符:

4.附加条件参数”-a “,“ -o ” ,“  –not”的使用

使用 -a这个参数可以链接2个不同的条件且这2个条件必须要满足!

用用-o这个参数链接2个不同的条件仅满足其中一个条件即可!

用-not表示对这2个条件取反

5.根据文件时间戳的相关属性来查找文件

查找一天内在/tem目录下没有访问过的文件

查找一天内在/tmp目录下访问过的文件

6.根据文件权限查找用-perm这个参数

查找该/tem权限是755的文件

7.使用exec这个参数对find的结果进行处理

首先看一下我的家目录/root下有一个文件

其次,让我们用find这个命令去做一件事情,

学东西要学会举一反三,我要删除30天之前的文件怎么搞呢?先闭上眼睛想一想,然后看看你跟我的操作是一样的吗?

看~已经成功删除了,之前的那些文件啦~那么你做到了吗?

8.根据文件的大小来查找文件内容

查找/root目录下等于2M的文件

查找家目录下大于2M的文件

查找当前目录下小雨1M的文件

好了,举例子就到这里了,我把下面的参数留给你~你跟进上面的参数也应该可以参加用下面的参数了:

1.命令格式:

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

2.命令功能:

用于在文件树种查找文件,并作出相应的处理

3.命令参数:

pathname: find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。 
-print: find命令将匹配的文件输出到标准输出。 
-exec: find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为‘command‘ {  } \;,注意{   }和\;之间的空格。 
-ok: 和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。

4.命令选项:

-name   按照文件名查找文件。
-perm   按照文件权限来查找文件。
-prune  使用这一选项可以使find命令不在当前指定的目录中查找,如果同时使用-depth选项,那么-prune将被find命令忽略。
-user   按照文件属主来查找文件。
-group  按照文件所属的组来查找文件。
-mtime -n +n  按照文件的更改时间来查找文件, - n表示文件更改时间距现在n天以内,+ n表示文件更改时间距现在n天以前。find命令还有-atime和-ctime 选项,但它们都和-m time选项。
-nogroup  查找无有效所属组的文件,即该文件所属的组在/etc/groups中不存在。
-nouser   查找无有效属主的文件,即该文件的属主在/etc/passwd中不存在。
-newer file1 ! file2  查找更改时间比文件file1新但比文件file2旧的文件。
-type  查找某一类型的文件,诸如:
b - 块设备文件。
d - 目录。
c - 字符设备文件。
p - 管道文件。
l - 符号链接文件。
f - 普通文件。
-size n:[c] 查找文件长度为n块的文件,带有c时表示文件长度以字节计。-depth:在查找文件时,首先查找当前目录中的文件,然后再在其子目录中查找。
-fstype:查找位于某一类型文件系统中的文件,这些文件系统类型通常可以在配置文件/etc/fstab中找到,该配置文件中包含了本系统中有关文件系统的信息。
-mount:在查找文件时不跨越文件系统mount点。
-follow:如果find命令遇到符号链接文件,就跟踪至链接所指向的文件。
-cpio:对匹配的文件使用cpio命令,将这些文件备份到磁带设备中。

另外,下面三个的区别:

-amin n   查找系统中最后N分钟访问的文件
-atime n  查找系统中最后n*24小时访问的文件
-cmin n   查找系统中最后N分钟被改变文件状态的文件
-ctime n  查找系统中最后n*24小时被改变文件状态的文件
-mmin n   查找系统中最后N分钟被改变文件数据的文件
-mtime n  查找系统中最后n*24小时被改变文件数据的文件

时间: 12-19

find常用参数详解的相关文章

cat常用参数详解

cat常用参数详解 作者:尹正杰 最近,我的一个朋友对linux特别感兴趣,于是我觉得每天交给他一个命令的使用,这样一个月下来也会使用30个命令,基本的操作他应该是没啥问题啦,接下来让我们看看 今天的命令吧. 还记得我们昨天学的命令吗?让我们一起看看我的目录下有是吗文件或者目录吧: 通过昨天学的命令,我们看出来了log.txt是我最近修改的一个文件,那么如何去看这个文件的内容呢?让我们一起学习cat吧 一.Cat的基本用法就是cat + [参数(这个参数是可以省略的)] + 文件名称. 例如:

linux命令之ls命令及常用参数详解

1.  ls命令解释 ls英文全称为list,列表列出的意思.作用是列出目录中的内容 2.  命令格式 Ls [参数] [目录] 3.  命令常用参数 不带参数:默认列出目录下的所有文件名 -l:       列出目录下子目录和文件的详细信息(注,ll相当于ls –l) -a:       列出目录下所有东西,包括隐藏的 -t         按最后修改时间排序 -S         按文件大小排序.(大写的S) -r         排序时按倒序. 4.  命令实例 实例一:默认不带参数 其中

httpd-2.2配置文件常用参数详解

ServerRoot "/etc/httpd" 配置httpd进程的根目录(运行目录) PidFile run/httpd.pid 定义httpd的pid文件 Timeout 60 定义客户程序和服务器连接的超时间隔,超过这个时间间隔(秒)后服务器将断开与客户机的连接. KeepAlive Off 定义是否启用保持连接,默认关闭状态.由于http是无状态协议,一次请求(建立一次TCP连接)只能获取一个资源,当页面中包含多个资源的时候,就需要多次请求(建立多次TCP连接),这样导致服务器

inotify之inotifywait命令常用参数详解

[[email protected] inotify-tools-3.14]# cd /usr/local/inotify-3.14/ [[email protected] inotify-3.14]# ./bin/inotifywait --help -r|--recursive   Watch directories recursively. #递归查询目录 -q|--quiet      Print less (only print events). #打印监控事件的信息 -m|--mon

Samba配置文件常用参数详解-OK

Samba的主配置文件叫smb.conf,默认在/etc/samba/目录下. smb.conf含有多个段,每个段由段名开始,直到下个段名.每个段名放在方括号中间.每段的参数的格式是:名称=指.配置文件中一行一个段名和参数,段名和参数名不分大小写. 除了[global]段外,所有的段都可以看作是一个共享资源.段名是该共享资源的名字,段里的参数是该共享资源的属性. Samba安装好后,使用testparm命令可以测试smb.conf配置是否正确.使用testparm –v命令可以详细的列出smb.

Linux文件管理常用命令常用参数详解

目录管理 1.LS [参数] [目标目录] LS 列出目录下子目录和文件 -a 列出所有目录和文件包括隐藏目录 -l 列出文件详细信息:自左到右文件类型,权限,属主,属组,大小,时间,文件名 -h 列出可以读懂的格式文件大小 -S 根据文件大小排序 -s 列出文件块大小 -t 根据时间排序排序 -r 以相反顺序排序 2.mkdir 创建空目录 rmdir 删除空目录 可以一次创建多个目录 -v 显示创建目录详细信息 -p 递归创建子目录 mkdir -vp /tmp/{x,y/m} mkdir

6.跟我学solr---请求参数详解

简介 前面我们在讲SolrRequestHandler和QueryResponseWriter的时候提到过两个参数'qt'和'wt",这两个参数是分别用于选择对应的SolrRequestHandler和QueryResponseWriter的.solr定义了很多类似的参数,它们都分别属于某个大类中,例如"qt"和"wt"就属于CoreQueryParameters.下面罗列一下solr的所有参数列表,来源于solr官网.下面笔者会一一给大家讲解这些参数的作

logback logback.xml常用配置详解(二)<appender>

logback 常用配置详解(二) <appender> <appender>: <appender>是<configuration>的子节点,是负责写日志的组件. <appender>有两个必要属性name和class.name指定appender名称,class指定appender的全限定名. 1.ConsoleAppender: 把日志添加到控制台,有以下子节点: <encoder>:对日志进行格式化.(具体参数稍后讲解 ) &

ASP.NET性能监视参数详解

性能监视器- Performance Monitor 性能监视器是Windows自带的系统资源和性能监视工具. 性能监视器能够量化地提供CPU使用率, 内存分配状况, 异常派发情况, 线程调度频率等信息. ASP.NET能够提供每秒钟的请求数目, 请求响应时间等等. 性能监视器能够监视一段时间内上述资源的利用情况, 提供平均值和峰值. 性能监视器有助于获取关于性能的具体指标, 监视问题出现时系统资源的变化情况. 通过检查性能监视器中一些重要计数器的变化情况, 往往能够找到一些比较有用的线索. 比

logback 常用配置详解(二) &lt;appender&gt;

logback 常用配置详解(二) <appender> <appender>: <appender>是<configuration>的子节点,是负责写日志的组件. <appender>有两个必要属性name和class.name指定appender名称,class指定appender的全限定名. 1.ConsoleAppender: 把日志添加到控制台,有以下子节点: <encoder>:对日志进行格式化.(具体参数稍后讲解 ) &