Linux下的文件查找命令--find

(   《文件有三个“时间”》:http://zhweizhi.blog.51cto.com/10800691/1775447           )

概述


find命令是通过遍历硬盘的方式查找指定名称的文件,因此其效率相比whereis 等指令,要慢许多。

下面介绍find命令的相关用法:

命令格式为:

find pathname [option] [action]

pathname(路径)

其中,pathname是要查找的路径(.表示当前路径,/表示根路径)

find . -name test.c 
表示在当前路径下查找名为test.c的文件

find / -name test.c
表示在系统根路径下查找名为test.c的文件

option(参数)

下面分类介绍一下常用的参数:

-name : 按文件名查找

如 :

find . -name hello.c     
表示在当前路径下查找名为hello.c的文件

-perm :按文件权限查找

这里 root权限为 0

如:

find . -perm 755 chmod -R 777
表示查找当前目录下所有权限为755的文件,并设置成777

-user 按照文件属主来查找

-group 按照文件所在的组查找

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

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

-newer file1 ! file2  查找更改时间比文件file1新,但比文件file2旧的文件。

-type  查找某一类型的文件

如:

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

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

例如:

 find /root -size -5557c -size +5555c -exec ls -ld {} \; 
 表示查找文件长度小于5557 大于5555 的文件(即长度为5556的文件)

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

-fstype:查找位于某一类型文件系统中的文件,这些文件系统类型通常可以在配置文件/etc/fstab中找到,该配置文件中包含了本系统中有关文件系统的信息。

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

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

-cpio:对匹配的文件使用cpio命令,将这些文件备份到磁带设备中。

-mtime -n +n  (mtime表示天数,此外还有诸如-mmin表示分钟等,其余两种时间同理)

-ctime -n +n

-atime -n +n

:按照文件的更改时间(三种)查找文件

如:

find /root -mmin 5

查找系统中最近5分钟访问的目录

action(操作)

查找完成后,可以立即执行指定的操作,下面举例:

find . -size -11c -size +9c -delete
 查找文件大小为10k的文件,并删除
时间: 2024-12-20 20:31:04

Linux下的文件查找命令--find的相关文章

linux下find(文件查找)命令的详解

文件查找命令locate和find详解 locate 配合数据库缓存,快速查看文件位置,非实时查找( 数据库查找) find 实际搜寻硬盘查询文件名称 ,实时查找 locate简介 locate命令其实是find -name的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库/var/lib/locatedb,这个数据库中含有本地所有文件信息.Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令查不到最新变动过的文件.为了避免这种情况,可以在

Linux下的文件查找命令——find

Linux下几个常见的文件查找命令: which       查看可执行文件的位置 whereis    寻找特定文件,查看文件的位置 locate       配合数据库查看文件位置 find          实际搜寻硬盘查询文件名称 通常情况下find命令并不是很常用,大家都优先使用whereis和locate命令来查找,因为whereis和locate命令都是利用数据库来查找文件所在,并没有实际查询硬盘,所以速度很快,节省时间.但是我们的find命令依然很强大,它的查找条件相当多,对于用

linux下的文件查找命令

文件查找:按照文件名或文件属性来搜索文件: 一)locate 模糊查找:        基于专用的数据库进行查找,数据库应该事先创建,并且定期更新:        可以使用updatedb命令手动更新locate数据库:        查找速度非常快,查找精确到非常有限: =============================================================二)find 精确查找:        查找精度高,速度略慢:        在指定的位置进行文件名或文

Linux下远程文件传输命令——scp

SCP- secure copy (remote file copy program) 命令原型:  scp [-1246BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file] [-l limit] [-o ssh_option] [-P port] [-S program] [[[email protected]]host1:]file1 ... [[[email protected]]host2:]file2 命令描述: scp用于通过网

Linux下的文件查找类命令(转载)

如何快速有效的定位文件系统内所需要查找的文件呢?Linux为我们提供了一些文件查找类的命令,我们需要掌握以下几个命令: http://blog.csdn.net/sailor201211/article/details/53290470 which 命令which会依照用户的PATH环境变量查找一个外部命令对应的可执行文件的路径.如: $ which gcc /usr/bin/gcc whereis 和which命令相比,whereis命令则可以定位一个外部命令的二进制文件.源代码文件及用户手册

linux环境下的文件查找命令--find

熟悉linux的伙伴都知道,在开源的linux环境中,最主要的思想就是一切皆文件,linux中的任何东西都可被看作文件,那么我们在使用这些文件的时候就面临一个问题如何查找一个文件,在这里我以CentOS6.5虚拟机为例,做演示. Linux下有多种查找文件指令:find.whereis.which和locate. ● which:查看可执行文件的位置 ● whereis:查看文件的位置 ● locate:配合数据库查看文件 ● find:实际搜寻硬盘查询 其中find是最常用和最强大的查找命令.

Linux的下的文件查找命令find

Linux下有几种查找文件命令: Which 查看可执行文件的位置. whereis 查看文件的位置. locate 配合数据库查看文件位置. find 实际搜寻硬盘查询文件名称. 每种命令都有他特定的功能, which命令的作用是,在PATH变量指定的路径中,搜索某个系 统命令的位置,并且返回第一个搜索结果. whereis命令只能用于程序名的搜索,而且只搜索二进制文件 (参数-b).man说明文件(参数-m)和源代码文件(参数-s). locate 让使用者可以很快速的搜寻档案系统内是否有指

Linux 下基本的查找命令和查看信息

查找命令和硬件信息查看是日常系统管理.维护最常的操作.下面就 Linux 的基本查找命令做一个简要的比较,并列举一些常用的硬件信息查看命令. man 常用选项 -k 知道功能.不知道名称 -f 知道名称.不知道功能 各种查找命令比较 whereis 查找命令的可执行文件.源文件.man page路径 whatis 读取命令的描述 apropos 基于功能的查找 which 找出将要运行的命令的版本 locate 搜索文件名数据库 find 根据指定的查询条件搜索文件 find . -type f

Linux下的搜索查找命令的详解(find)

4.find Linux下find命令在目录结构中搜索文件,并执行指定的操作.Linux下find命令提供了相当多的查找条件,功能很强大.由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时间来了解一下.即使系统中含有网络文件系统( NFS),find命令在该文件系统中同样有效,只你具有相应的权限. 在运行一个非常消耗资源的find命令时,很多人都倾向于把它放在后台执行,因为遍历一个大的文件系统可能会花费很长的时间 4.1.命令格式: find pathname -opt