Linux系统文件查找命令find的基本使用及其高级用法

在Linux系统维护工作时,经常会查找文本文件。

例如:假如:web服务器经常出现延迟,或者经常会出现一些参数的错误信息。

1、考虑带宽问题

2、考虑我的配置文件问题:

例如:是不是被其它人更改过所造成的参数、延迟等信息,这样我们就会用到find命令来查找文件的相关信息,并加以修改。

如果我们做系统运维这方面的工作时,会经常用到find命令来帮助我们完成文件的查找工作,所以我们要认真学习find命令的使用及其相关的高级用法:

文件查找:locate、find

locate: 非实时,模糊匹配,查找是根据全系统文件数据库进行的; # updatedb, 手动生成文件数据库

find: 实时 精确 支持众多查找标准 遍历指定目录中的所有文件完成查找,速度慢;

查找路径:默认为当前目录 查找标准:默认为指定路径下的所有文件 处理运作:默认为显示

1、find命令的一般形式为;

find 查找路径 查找标准 查找到以后的处理运作 find pathname -options [ -exec -ok …]

2、find命令的参数;

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

3、find命令选项

-name :按照文件名查找文件 For example:在/etc目录下查找文件名passwd的文件 # find /etc -name ‘passwd’ -iname:按照文件名查找文件,且不区分大小写 For example:在/etc目录下查找文件名passwd的文件 # find /etc -iname ‘passwd’

-user:按照文件属主来查找文件 For example:在/tmp目录下查找属主为hdoop的文件或目录 # find /etc -user hdoop

-group :按照文件所属的组来查找文件 For example:在/tmp目录下查找属组为hbase的文件或目录 # find /tmp -group hbase

-uid:UID:当某个用户被删除,用户所属的文件UID没有被删除,在这个情况下就可以使用此选项 For example:用户hdoop的UID为600,如果将hdoop用户删除,那如何在/tmp查找文件或目录的属主为hdoop以前的文件呢 # find /tmp -uid 600

-gid:GID:当某个组被删除,用户所属的文件GID没有被删除,在这个情况下就可以使用此选项 For example:组hbase的GIDD为666,如果将hbase组删除,那如何在/tmp查找文件或目录的属组为hbase以前的文件呢 # find /tmp -gid 666

-nouser:查找没有有效所属主的文件,即该文件所属的主在/etc/passwd中不存在 For example:查找/tmp目录没有属主的文件 # find /tmp -nouser

-nogrouop:查找没有有效所属组的文件,即该文件所属的组在/etc/groups中不存在。 # find /tmp -nogroup

-type:以文件类型查找文件 在Linux文件系统中常用到的文件类型有: b:块设备文件 d:目录 c:字符设备文件 p:管道文件 l:符号链接文件 f:普通文件 s:套接字设备文件 p:管道设备文件 For example:查找/tmp目录下所有普通文件 # find /tmp -type f

-size: [+|-]文件大小查找文件 默认单位是字节,当我们去找10M的文件时,所有9点几兆的文件都满足条件。 #k:(#代表数字) #M:(#代表数字) #G:(#代表数字) For example:查找/tmp目录下文件大小为10MB的文件 # find /tmp -size 10M 组合条件: -a:与条件 -o:或条件 -not:非条件 For example:查找/tmp目录下没有属主并且类型为目录的文件 # find /tmp -nouser -a -type d -ls 假如把-a换成-o选项:则说明没有属主或是目录文件,两个选项满足一个即可。 # find /tmp -not -type d 说明在/tmp目录查找非目录类型的文件 查找/tmp目录下,非目录类型,并且还不是套接字类型的文件 # find /tmp -not -type d -a -not -type s # find /tmp -not \( -type -d -o -type -s \) 两者都可以实现目的:

理想的路总是为有信心的人预备着

Linux系统文件查找命令find的基本使用及其高级用法

相关文章:

你感兴趣的文章:

标签云: