linux下find命令详解

合集下载

find 命令用法

find 命令用法

find 命令用法find命令用法一、概述find命令是Linux系统中非常常用的一个命令,用于查找文件或目录。

它可以根据指定的条件搜索文件,并将符合条件的文件输出到标准输出设备。

本文将详细介绍find命令的用法。

二、基本语法find命令的基本语法如下:find [路径] [表达式] [操作]三、路径路径指定了find命令的搜索范围,可以是文件系统中的任意目录。

如果不指定路径,则默认为当前目录。

四、表达式表达式是用于指定搜索条件的部分,可以包括以下内容:1. 文件名匹配:使用-name选项,后面跟上要匹配的文件名,支持使用通配符。

例如,要查找所有以".txt"结尾的文件,可以使用以下命令:find /path/to/search -name "*.txt"2. 文件类型匹配:使用-type选项,后面跟上要匹配的文件类型。

常用的文件类型包括f(普通文件)、d(目录)、l(符号链接)等。

例如,要查找所有目录,可以使用以下命令:find /path/to/search -type d3. 文件大小匹配:使用-size选项,后面跟上要匹配的文件大小。

可以使用正负号来表示不同的条件,例如+表示大于,-表示小于等。

例如,要查找所有大于1MB的文件,可以使用以下命令:find /path/to/search -size +1M4. 时间匹配:使用-mtime和-atime选项,后面跟上要匹配的时间。

可以使用正负号来表示不同的条件,例如+表示大于,-表示小于等。

例如,要查找最近7天内修改过的文件,可以使用以下命令:find /path/to/search -mtime -7五、操作操作是对搜索到的文件进行处理的部分,可以包括以下内容:1. 打印:使用-print选项,将搜索到的文件输出到标准输出设备。

例如,要将搜索到的文件打印出来,可以使用以下命令:find /path/to/search -name "*.txt" -print2. 删除:使用-delete选项,将搜索到的文件删除。

find的使用方法

find的使用方法

find的使用方法find命令是在Linux系统中常用的文件搜索工具之一,它能够根据指定的条件在指定的目录下查找文件。

本文将介绍find命令的使用方法,包括基本语法和常用参数,以及一些实际应用场景。

一、基本语法find命令的基本语法如下所示:find [路径] [表达式]其中,路径表示要搜索的目录路径,可以是绝对路径或相对路径。

表达式用于指定搜索的条件,可以根据文件名、大小、权限等属性进行搜索。

二、常用参数find命令提供了许多参数,下面列举了一些常用的参数:1. -name:根据文件名进行搜索,可以使用通配符进行模糊匹配。

例如,要查找以.txt结尾的文件,可以使用以下命令:find /path/to/dir -name "*.txt"2. -type:根据文件类型进行搜索,常见的类型包括f(普通文件)、d(目录)、l(符号链接)等。

例如,要查找所有目录,可以使用以下命令:find /path/to/dir -type d3. -size:根据文件大小进行搜索,可以指定文件的大小范围。

例如,要查找大于10MB的文件,可以使用以下命令:find /path/to/dir -size +10M4. -mtime:根据文件的修改时间进行搜索,可以指定时间范围。

例如,要查找最近7天内修改过的文件,可以使用以下命令:find /path/to/dir -mtime -75. -perm:根据文件的权限进行搜索,可以指定权限的组合。

例如,要查找具有可执行权限的文件,可以使用以下命令:find /path/to/dir -perm /u=x,g=x,o=x三、实际应用1. 查找指定文件:可以使用-name参数结合通配符来查找指定文件。

例如,要查找所有以.log结尾的文件,可以使用以下命令:find /path/to/dir -name "*.log"2. 查找空文件:可以使用-size参数来查找空文件。

linux的find用法

linux的find用法

linux的find用法Linux中的find命令是一个非常强大的工具,用于在文件系统中文件和目录。

它可以根据不同的条件来查找文件,比如按名称、大小、权限等。

以下是find命令的用法及其参数解析。

基本用法:find 命令的基本语法是:find [path] [expression]path:指定要的路径。

expression:指定要应用的表达式。

例如,要在当前目录中查找所有的文件,可以使用以下命令:find . -type f这将递归地当前目录下的所有文件,并打印出它们的路径。

find 命令的参数:1. -name:按名称查找文件。

例如,要在当前目录中查找名为app.log的文件,可以使用以下命令:find . -name app.log2. -type:按类型查找文件。

-type f:查找普通文件。

-type d:查找目录。

-type l:查找符号链接。

-type b:查找块设备文件。

-type c:查找字符设备文件。

-type s:查找套接字文件。

-type p:查找FIFO文件。

3. -size:按大小查找文件。

-size [+,-]n:查找大于(+)或小于(-)n个512字节块的文件。

-size n[cwbkMGTP]:查找大于(+)或小于(-)n个单位(字节、块、KB、MB、GB、TB、PB)的文件。

5. -perm:按权限查找文件。

-perm mode:以mode权限查找文件。

6. -exec:对结果执行命令。

7. -user:按所有者查找文件。

-user username:查找属于username的文件。

8. -group:按组查找文件。

-group groupname:查找属于groupname的文件。

9. -maxdepth:指定递归的最大深度。

-maxdepth n:最多递归到n层目录。

10. -mindepth:指定递归的最小深度。

-mindepth n:从第n层目录开始递归。

find 命令的用法

find 命令的用法

find 命令的用法在Linux系统中,find命令是一个强大的工具,它用于在文件系统中进行搜索。

find命令可以根据文件属性、文件名、大小、创建时间、修改时间等来查找文件。

本文将详细介绍find命令的用法,帮助您更好地利用这个工具。

一、基本用法find命令的基本语法如下:find [路径] [选项] [表达式]其中,路径表示搜索的起始位置,可以是整个文件系统,也可以是某个目录。

选项是各种可用的搜索选项,表达式则是搜索条件。

例如,要在整个文件系统中查找所有扩展名为.txt的文件,可以使用以下命令:find / -name "*.txt"如果要查找当前目录及其子目录中大小大于10MB的文件,可以使用以下命令:find . -size +10M二、常用选项1. -name:按照指定的模式查找文件名。

例如,-name "*.txt" 表示查找所有扩展名为.txt的文件。

2. -type:指定要搜索的文件类型。

例如,-type f 表示只搜索普通文件,-type d 表示只搜索目录。

3. -size:按照指定的大小查找文件。

例如,-size +10M 表示查找大小大于10MB的文件,-size -10k 表示查找大小小于10kb的文件。

4. -mtime:按照修改时间查找文件。

+n 表示查找修改时间在n 天以内的文件,-n 则表示查找修改时间在n天之前的文件。

5. -print:将匹配的文件输出到终端。

如果不指定该选项,find 命令只会输出匹配的文件路径。

6. -exec:对匹配的文件执行指定的命令。

可以用来对找到的文件进行操作,如重命名、复制、删除等。

三、高级用法find命令还支持许多高级功能,如递归搜索、忽略大小写、通配符转义等。

1. 递归搜索:使用-depth选项,可以指定搜索子目录。

例如,find / -name "*.txt" -depth可以递归地在整个文件系统中查找所有扩展名为.txt的文件。

linux中find的用法

linux中find的用法

linux中find的用法在Linux中,find命令是非常常用的一个命令,它可以让用户在文件系统中查找指定的文件或者目录。

该命令的使用方法非常灵活,可以基于文件名、文件类型、文件大小、文件权限等多个条件进行查找。

下面我们来详细的介绍一下find的用法。

一、基本用法以下是find命令的基本用法:find [path] [expression]其中,path表示要查找的目录路径,expression则是查找时的表达式。

例如,我们要在当前目录中查找所有以.txt结尾的文件,可以使用以下命令:find . -name "*.txt"上述命令中,`.`表示当前目录,`-name`表示按照文件名进行查找,而`"*.txt"`则表示查找以`.txt`结尾的所有文件。

二、按照类型查找find命令可以按照文件的类型进行查找。

以下是一些常见的文件类型:- f:普通文件- d:目录文件- l:符号链接文件- c:字符设备文件- b:块设备文件- p:命名管道文件- s:套接字文件例如,我们想要查找当前目录下的所有目录文件,可以使用以下命令:find . -type d上述命令中,`-type`表示按照类型进行查找,其中`d`表示目录文件。

三、按照大小查找find命令可以按照文件的大小进行查找。

以下是一些常见的大小单位:- b:512字节块- c:字节- w:2字节的字- k:1024字节的千字节- M:1048576字节的兆字节- G:1073741824字节的吉字节例如,我们想要查找当前目录下大小为1MB以上的文件,可以使用以下命令:find . -size +1M上述命令中,`-size`表示按照文件大小进行查找,其中`+`表示条件是大于,`1M`表示1MB。

四、按照权限查找find命令可以按照文件的权限进行查找。

以下是一些常见的权限类型:- a:所有用户- u:文件所有者- g:与文件所有者同属同一组的用户- o:不属于文件所有者所在组的其他用户例如,我们想要查找当前目录下所有权限为“只有文件所有者可写”的文件,可以使用以下命令:find . -perm -u+w上述命令中,`-perm`表示按照权限进行查找,其中`-u+w`表示文件所有者可写。

linux中find命令的作用

linux中find命令的作用

linux中find命令的作用find命令是Linux系统中常用的命令之一,它的主要作用是文件和目录。

find命令具有强大的功能,可以根据指定的条件在指定的文件夹及其子文件夹中查找文件,可以根据文件的类型、大小、权限、创建或修改时间等多种条件进行。

在本文中,我们将详细介绍find命令的一些常用选项和使用方法。

find命令的基本语法如下:```shellfind [path...] [expression]```- path:指定要的路径,可以是一个或多个文件夹,如果不指定,默认为当前路径。

- expression:指定的条件。

下面是一些常用的find命令选项和使用方法:1.根据文件名我们可以使用find命令来根据文件名来文件,通过使用`-name`选项,并指定要的文件名或通配符。

例如,要在当前文件夹及其子文件夹中名为`file.txt`的文件,可以使用以下命令:```shellfind . -name file.txt```2.根据文件类型可以使用`-type`选项来根据文件的类型来文件。

常见的文件类型有`f`表示普通文件,`d`表示目录,`l`表示符号链接等。

例如,要当前文件夹及其子文件夹中的所有目录,可以使用以下命令:```shellfind . -type d```3.根据文件大小通过使用`-size`选项,可以根据文件的大小来文件。

可以使用`+`或`-`符号来指定文件的大小范围。

例如,要大小大于1MB的文件,可以使用以下命令:```shellfind . -size +1M```4.根据文件权限可以使用`-perm`选项来根据文件的权限来文件。

可以使用数字或符号来指定文件的权限。

例如,要所有具有可写权限的文件,可以使用以下命令:```shellfind . -perm /u+w```5.根据文件的创建或修改时间```shell```6.删除符合条件的文件通过使用`-delete`选项,可以删除符合条件的文件。

linux系统find用法

linux系统find用法

linux系统find用法Linux系统中的find命令是一个非常强大和常用的工具,它可以帮助用户在文件系统中查找文件和目录。

find命令支持各种不同的选项和参数,可以根据文件名、文件类型、文件大小、文件权限等条件来进行查找。

一、基本用法1. 查找文件:最简单的用法是通过文件名来查找文件。

使用find命令的基本语法是:find 路径-name 文件名。

例如,要在当前目录及其子目录中查找名为"test.txt"的文件,可以使用以下命令:find . -name test.txt这条命令将在当前目录及其子目录中查找名为"test.txt"的文件,并显示出所有符合条件的文件的路径。

2. 查找目录:和查找文件类似,也可以使用find命令来查找目录。

使用find命令查找目录的基本语法是:find 路径-type d -name 目录名。

例如,要在当前目录及其子目录中查找名为"test"的目录,可以使用以下命令:find . -type d -name test这条命令将在当前目录及其子目录中查找名为"test"的目录,并显示出所有符合条件的目录的路径。

3. 查找指定类型的文件:find命令支持通过文件类型来查找文件。

使用find命令查找指定类型的文件的基本语法是:find 路径-type 文件类型。

例如,要在当前目录及其子目录中查找所有的文本文件,可以使用以下命令:find . -type f -name "*.txt"这条命令将在当前目录及其子目录中查找所有的文本文件,并显示出所有符合条件的文件的路径。

4. 递归查找:默认情况下,find命令会递归查找指定路径下的所有子目录。

如果不希望递归查找,可以加上-maxdepth参数来限制查找的深度。

例如,要在当前目录中查找名为"test.txt"的文件,但不查找子目录,可以使用以下命令:find . -maxdepth 1 -name test.txt这条命令将在当前目录中查找名为"test.txt"的文件,但不会查找子目录。

find指令用法

find指令用法

find指令用法find指令是Linux系统中常用的一种通用搜索工具,可以用于查找文件和目录。

使用方式:1. 基本语法:find [路径] [表达式]例如:find /home/user/ -name '*.txt' -print其中,“/home/user/”为要搜索的路径,“-name”是匹配的表达式,“*.txt”代表文件名以.txt结尾,“-print”表示将搜索结果输出到屏幕上。

2. 按文件类型搜索:(1)搜索所有文件:find /home/user/ -type f -print其中,“-type f”表示搜索文件类型为“普通文件”。

(2)搜索所有目录:find /home/user/ -type d -print其中,“-type d”表示搜索文件类型为“目录”。

(3)搜索所有链接文件:find /home/user/ -type l -print 其中,“-type l”表示搜索文件类型为“链接文件”。

3. 按文件大小搜索:(1)搜索大于指定大小的文件:find /home/user/ -size +10M -print其中,“+10M”表示搜索大小大于10MB的文件。

(2)搜索小于指定大小的文件:find /home/user/ -size -10M -print其中,“-10M”表示搜索大小小于10MB的文件。

4. 按修改时间搜索:(1)搜索最近N天内修改的文件:find /home/user/ -mtime -N -print其中,“-mtime -N”表示搜索最近N天内被修改过的文件。

(2)搜索最近N天外修改的文件:find /home/user/ -mtime +N -print其中,“-mtime +N”表示搜索最近N天外修改的文件。

5. 按用户和组搜索:(1)搜索属于某个用户的文件:find /home/user/ -user username -print其中,“-user username”表示搜索属于用户名为“username”的文件。

如何使用find命令在Linux中搜索文件和

如何使用find命令在Linux中搜索文件和

如何使用find命令在Linux中搜索文件和目录在Linux中,find命令是一个非常强大的文件搜索工具,它可以帮助我们在文件系统中查找指定条件的文件和目录。

本文将介绍如何使用find命令来搜索文件和目录。

一、基本语法find命令的基本语法如下:find [路径] [条件选项] [操作选项]其中,路径表示待搜索的起始位置,可以是目录或者文件;条件选项用于指定搜索条件;操作选项用于对搜索结果进行操作。

二、根据名称搜索文件1. 根据文件名搜索要在指定路径下搜索文件名为filename的文件,可以使用以下命令:find /path/to/search -name "filename"例如,要在当前目录下搜索名为test.txt的文件,可以使用以下命令:find . -name "test.txt"以上命令将在当前目录以及子目录中查找test.txt文件。

2. 模糊搜索文件名如果我们只知道文件名的部分内容,可以使用模糊搜索来匹配文件名。

find命令支持通配符匹配,如?和*。

表示匹配单个字符,*表示匹配零个或多个字符。

例如,要搜索以test开头的文件,可以使用以下命令:find . -name "test*"以上命令将搜索所有以test开头的文件。

三、根据类型搜索文件1. 根据文件类型搜索find命令可以根据文件类型来搜索文件。

常见的文件类型包括普通文件(f)、目录(d)、链接文件(l)、字符设备文件(c)、块设备文件(b)等。

要搜索某种特定类型的文件,可以使用以下命令:find /path/to/search -type 类型选项例如,要搜索所有目录文件,可以使用以下命令:find . -type d以上命令将搜索当前目录下的所有目录。

2. 根据文件大小搜索find命令可以根据文件的大小来搜索文件。

常用的文件大小选项有+和-,表示大于和小于某个指定大小。

Linux命令高级技巧使用find命令查找特定类型的文件

Linux命令高级技巧使用find命令查找特定类型的文件

Linux命令高级技巧使用find命令查找特定类型的文件在Linux系统中,Find命令是一个非常强大且常用的命令工具,它可以帮助用户快速、精确地查找特定类型的文件。

本文将介绍Linux命令高级技巧,以及如何使用Find命令来查找特定类型的文件。

I. Find命令的基本用法Find命令是一种非常强大的文件搜索命令,其基本用法如下所示:1. find [path] [options] [expression]在上述命令中,[path]表示要搜索的目录路径,[options]表示命令选项,[expression]表示要查找的文件类型或其他条件表达式。

下面将详细介绍Find命令的高级技巧。

II. 根据文件类型查找文件Find命令可以根据文件类型进行文件搜索。

下面是一些常见的文件类型查找示例:1. 查找所有的文本文件:find /path/to/search -type f -name "*.txt"2. 查找所有的图片文件:find /path/to/search -type f -name "*.jpg" -o -name "*.png"3. 查找所有的压缩文件:find /path/to/search -type f -name "*.zip" -o -name "*.tar.gz"以上示例中,“/path/to/search”是要进行搜索的目录路径。

通过使用-type选项指定文件类型为“f”,-name选项指定文件名的匹配模式,可以准确地查找到所需的文件。

III. 根据文件大小查找文件Find命令还可以根据文件大小进行文件搜索。

下面是几个常见的文件大小查找示例:1. 查找大于1MB的文件:find /path/to/search -type f -size +1M2. 查找小于10KB的文件:find /path/to/search -type f -size -10k在上述示例中,-size选项用于指定文件的大小范围。

如何使用find命令在Linux中查找并处理特定类型的文件

如何使用find命令在Linux中查找并处理特定类型的文件

如何使用find命令在Linux中查找并处理特定类型的文件在Linux操作系统中,"find"命令是一个非常强大且常用的工具,它可以帮助我们在文件系统中查找指定类型的文件,并进行相应的处理。

本文将介绍如何使用find命令在Linux中查找并处理特定类型的文件。

一、查找特定类型的文件使用find命令可以通过文件的类型、大小、权限等属性来查找文件。

下面是一些常见的用法:1. 查找所有的文件:```$ find /path/to/directory```上述命令将会在指定的目录下递归地查找所有的文件。

2. 查找特定类型的文件:```$ find /path/to/directory -type <file_type>```其中,<file_type>可以是下列之一:f(普通文件)、d(目录)、l (符号链接)、c(字符设备文件)、b(块设备文件)、s(套接字)、p(管道)。

3. 查找特定后缀名的文件:```$ find /path/to/directory -type f -name "*.ext"```上述命令将会查找指定目录下所有后缀名为".ext"的文件。

4. 查找大于或小于指定大小的文件:```$ find /path/to/directory -type f -size [+|-]<size>[cwbkMG]```其中,<size>可以是以字节、块、KB、MB、GB等为单位的文件大小。

二、在查找到的文件中执行特定操作在找到满足条件的文件后,我们可以对这些文件进行进一步的操作,例如,复制、移动、删除等。

下面是一些常见的用法:1. 打印文件路径:```$ find /path/to/directory -type f -name "*.ext" -print```上述命令将会打印出所有满足条件的文件的路径。

Linuxfind命令详解

Linuxfind命令详解

Linuxfind命令详解Linux下find命令在⽬录结构中搜索⽂件,并执⾏指定的操作。

Linux下find命令提供了相当多的查找条件,功能很强⼤find常见命令参数命令选项:-name 按照⽂件名查找⽂件。

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

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

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

-mtime -n +n 按照⽂件的更改时间来查找⽂件【-7 7天之内 +7 7天前】-nogroup 查找⽆效属组的⽂件,即该⽂件所属的组在/etc/groups中不存在。

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

-newer file1 ! file2 查找更改时间⽐⽂件file1新但⽐⽂件file2旧的⽂件。

-type 查找某⼀类型的⽂件,诸如:b - 块设备⽂件。

d - ⽬录。

c - 字符设备⽂件。

p - 管道⽂件。

l - 符号链接⽂件。

f - 普通⽂件。

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

-depth:在查找⽂件时,⾸先查找当前⽬录中的⽂件,然后再在其⼦⽬录中查找。

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

另外,下⾯三个的区别:-amin n 查找系统中最后N分钟访问的⽂件-atime n 查找系统中最后n*24⼩时访问的⽂件-cmin n 查找系统中最后N分钟被改变⽂件状态的⽂件-ctime n 查找系统中最后n*24⼩时被改变⽂件状态的⽂件-mmin n 查找系统中最后N分钟被改变⽂件数据的⽂件-mtime n 查找系统中最后n*24⼩时被改变⽂件数据的⽂件常⽤的命令展⽰查找普通⽂件/⽬录find /home/omd -type f (普通⽂件)find /home/omd -type d (查询⽬录)只显⽰1级⽬录⽂件且过滤⾃⾝find ./ -maxdepth 1 -type d ! -name "hhh"查找⼀天内被访问过(access)的⽂件find /home/omd/ -atime -1 -type f查询inode相同的⽂件find / -inum inode数字除了某个⽂件以为,其余的均删除find /home/omd/ -type f ! -name h.txt | xargs rm –fls | grep -v "h.txt" |xargs rm -rf (与上⾯类似,删除除了某个⽂件外的所有⽂件)删除⽬录下所有⽂件find /tmp/ -type f -exec rm -rf {} \;find /tmp/ -type f | xargs rm -rf查看当前路径下所有⽂件的信息:find /tmp/ -type f ! -name a |xargs rm –rffind ./ -type f -exec file {} \;查找指定时间内修改过的⽂件# 当前路径下访问⽂件超过2分钟⽂件find ./ -amin +2# 当前路径下访问⽂件刚好2分钟的⽂件find ./ -amin 2find ./ -cmin +2find ./ -mmin +2find ./ -mtime +2find ./ -ctime +2find ./ -mtime +2find ./ -ctime +2find / -ctime +20 最近修改⽂件时间20分钟以前find / -mtime +7 修改⽂件为7天之前的(最重要)find / -mtime 7 修改⽂件为第7天,就是往前推7天find / -mtime -7 修改⽂件为7天之内的按照⽬录或⽂件的权限来查找⽂件find /opt -perm 777按⼤⼩查找⽂件find / -size +10M |sort 【查找⼤于10M的⽂件】find / -size -10M |sort 【查找⼩于10M的⽂件】find / -size 10M |sort 【查找10M的⽂件】在test ⽬录下查找不在test4⼦⽬录之内的所有⽂件find ./test -path "test/test4" -prune -o -print【可以使⽤-prune选项来指出需要忽略的⽬录。

使用find命令在Linux系统中查找文件和

使用find命令在Linux系统中查找文件和

使用find命令在Linux系统中查找文件和目录在Linux系统中,find命令是一个用于在文件系统中查找文件和目录的强大工具。

它可以根据文件名、大小、权限、时间戳等多个条件来进行搜索。

本文将介绍如何使用find命令来查找文件和目录,并给出一些常用的示例。

一、基本语法find命令的基本语法如下:```find [path] [expression]```其中,`path`表示要搜索的路径或目录,若不指定则默认为当前目录;`expression`为用于指定搜索条件的表达式。

二、查找文件1. 根据文件名查找要根据文件名查找文件,可以使用`-name`参数,如下所示:```find /path/to/search -name "filename"```其中,`/path/to/search`为要搜索的路径,`filename`为要查找的文件名,支持通配符的使用。

示例1:查找当前目录下以".txt"结尾的文件```find . -name "*.txt"```2. 根据文件类型查找使用`-type`参数可以根据文件类型进行查找,常用的类型有`f`(普通文件)和`d`(目录)。

示例2:查找当前目录下的所有目录```find . -type d```3. 根据文件大小查找使用`-size`参数可以根据文件大小进行查找,支持使用`+`(大于)和`-`(小于)符号。

示例3:查找当前目录下大于100MB的文件```find . -size +100M```4. 根据权限查找使用`-perm`参数可以根据文件权限进行查找,可以使用八进制数或符号表示。

示例4:查找当前目录下所有用户可写的文件```find . -perm /o+w```5. 根据时间戳查找使用`-mtime`参数可以根据文件的修改时间进行查找,可以使用`+`(更早)和`-`(更晚)符号。

示例5:查找当前目录下最近7天内修改过的文件```find . -mtime -7```三、查找目录1. 查找空目录使用`-empty`参数可以查找空目录,即不包含任何文件或子目录的目录。

find指令用法

find指令用法

find指令用法find命令是一个强大且常用的Linux命令,用于在指定目录下查找文件。

它可以根据多个条件进行,并可以对结果进行多种操作。

在本文中,我们将详细介绍find命令的各种用法。

find命令的一般语法如下:```find [路径] [表达式] [动作]```其中,路径是指要的起始目录,默认为当前目录。

表达式用于定义的条件,而动作则用于对结果进行操作。

1.基本用法最简单的用法是在指定目录下文件,不设置任何条件。

例如,要在当前目录下所有文件,可以使用以下命令:```find .```这将打印出当前目录以及当前目录下的所有子目录和文件。

2.根据文件名find命令可以根据文件名进行。

可使用通配符进行模式匹配。

例如,要所有以.txt结尾的文件,可以使用以下命令:```find . -name "*.txt"```这将在当前目录及其子目录中所有以.txt结尾的文件。

3.根据文件类型find命令还可以根据文件类型进行。

可以使用以下参数来指定要的文件类型:- `-type f`:普通文件。

- `-type d`:目录。

- `-type l`:符号链接。

- `-type c`:字符设备文件。

- `-type b`:块设备文件。

- `-type s`:套接字文件。

- `-type p`:命名管道。

例如,要所有目录,可以使用以下命令:```find . -type d```4.根据文件大小find命令可以通过文件的大小进行。

可以使用以下参数来指定文件大小的范围:- `-size n`:大小为n个块的文件,可以使用`c`表示字节,`k`表示千字节,`M`表示兆字节。

- `-size +n`:大小大于n个块的文件。

- `-size -n`:大小小于n个块的文件。

例如,要大于1MB的文件,可以使用以下命令:```find . -size +1M```5.根据时间戳find命令还可以根据文件的时间戳进行。

linux中的find命令参数详解

linux中的find命令参数详解

linux中的find命令参数详解Linux中的find命令包括了很多的参数选项,下面由小编为大家整理了linux中的find命令参数的相关知识,希望对大家有帮助!linux中的find命令参数详解find命令参数1.使用name选项文件名选项是find命令最常用的选项,要么单独使用该选项,要么和其他选项一起使用。

可以使用某种文件名模式来匹配文件,记住要用引号将文件名模式引起来。

不管当前路径是什么,如果想要在自己的根目录$HOME中查找文件名符合*.log的文件,使用~作为&#39;pathname&#39;参数,波浪号~代表了你的$HOME目录。

find ~ -name &quot;*.log&quot; -print想要在当前目录及子目录中查找所有的&lsquo; *.log&lsquo;文件,可以用:find . -name &quot;*.log&quot; -print想要的当前目录及子目录中查找文件名以一个大写字母开头的文件,可以用:find . -name &quot;[A-Z]*&quot; -print想要在/etc目录中查找文件名以host开头的文件,可以用:find /etc -name &quot;host*&quot; -print想要查找$HOME目录中的文件,可以用:find ~ -name &quot;*&quot; -print 或find . -print要想让系统高负荷运行,就从根目录开始查找所有的文件。

find / -name &quot;*&quot; -print如果想在当前目录查找文件名以一个个小写字母开头,最后是4到9加上.log结束的文件:命令:find . -name &quot;[a-z]*[4-9].log&quot; -print输出:[root@localhost test]# ll总计316-rw-r--r-- 1 root root 302108 11-13 06:03 log2012.log -rw-r--r-- 1 root root 61 11-13 06:03 log2013.log-rw-r--r-- 1 root root 0 11-13 06:03 log2014.log-rw-r--r-- 1 root root 0 11-13 06:06 log2015.log drwxr-xr-x 6 root root 4096 10-27 01:58 scf drwxrwxr-x 2 root root 4096 11-13 06:08 test3drwxrwxr-x 2 root root 4096 11-13 05:50 test4[root@localhost test]# find . -name &quot;[a-z]*[4-9].log&quot; -print./log2014.log./log2015.log./test4/log2014.log[root@localhost test]#find命令参数2.用perm选项按照文件权限模式用-perm选项,按文件权限模式来查找文件的话。

linux find命令用法

linux find命令用法

linux find命令用法`find`命令在Linux系统中用于搜索文件和目录。

它的用法非常灵活,可以根据各种条件来查找文件和目录。

下面是`find`命令的基本用法:```find [路径] [选项] [表达式]```- `[路径]`:指定要搜索的起始路径。

如果不指定,则默认从当前目录开始搜索。

- `[选项]`:`find`命令支持多种选项来控制搜索的行为,例如:- `-name`:按照文件名进行搜索,可以使用通配符来指定文件名模式。

- `-type`:指定搜索的文件类型,例如`f`表示普通文件,`d`表示目录。

- `-mtime`:按照文件的修改时间进行搜索,可以指定天数或使用`+`和`-`来表示相对时间。

- `-user`:按照文件所有者进行搜索。

- `-size`:按照文件大小进行搜索,可以指定文件大小范围。

- `-exec`:对搜索到的每个文件执行特定的命令。

-`[表达式]`:用于进一步筛选搜索结果的表达式。

表达式可以是逻辑操作符,比如`-a`表示与操作,`-o`表示或操作,以及用括号来改变优先级。

下面是一些常见的`find`命令示例:1. 查找当前目录及其子目录下所有名为`example.txt`的文件:```find . -name "example.txt"```2. 查找当前目录及其子目录下所有以`.jpg`为后缀的文件:```find . -name "*.jpg"```3. 查找当前目录及其子目录下所有大小大于1MB的文件:```find . -type f -size +1M```4. 查找当前目录及其子目录下最近7天内修改过的文件:```find . -type f -mtime -7```5. 查找当前目录及其子目录下所有属于`user1`用户的文件:```find . -type f -user user1```6. 查找当前目录及其子目录下所有目录:```find . -type d```7. 对搜索到的每个文件执行特定的命令(例如删除所有以`.tmp`为后缀的文件):```find . -type f -name "*.tmp" -exec rm {} \;```注意:`find`命令的选项和表达式非常多,上述示例只是其中的一小部分。

linux的find命令常见用法

linux的find命令常见用法

linux的find命令常见用法Linux的find命令是一种强大的文件搜索工具,可以在文件系统中查找与指定条件匹配的文件或目录。

它的使用方法相当灵活,下面将详细介绍find命令的常见用法,帮助你更好地掌握这个工具。

1. 简单用法find命令的基本用法是通过指定起始目录和匹配条件来搜索文件。

通常的命令格式是:find [起始目录] [匹配条件]例如,要在当前目录下搜索所有的txt文件,可以使用以下命令:find . -name "*.txt"上述命令中的`.`表示当前目录,`-name "*.txt"`表示文件名以`.txt`结尾。

2. 搜索指定类型的文件除了根据文件名进行匹配,find命令还支持根据文件类型进行搜索。

常见的文件类型选项包括:- `-type f`:搜索常规文件- `-type d`:搜索目录- `-type l`:搜索符号链接- `-type c`:搜索字符设备文件- `-type b`:搜索块设备文件- `-type s`:搜索套接字文件- `-type p`:搜索命名管道例如,要搜索所有的目录,可以使用以下命令:find . -type d3. 根据文件大小进行搜索find命令还可以根据文件的大小来搜索文件。

以下是一些常见的文件大小选项:- `-size n`:搜索大小为n块的文件(默认单位为512字节)- `-size +n`:搜索大小大于n块的文件- `-size -n`:搜索大小小于n块的文件- `-size n[cwbkMG]`:自定义单位搜索文件例如,要搜索所有大于1MB的文件,可以使用以下命令:find . -size +1M4. 根据文件时间进行搜索除了文件名和大小,find命令还可以根据文件的访问时间、修改时间和状态时间进行搜索。

以下是一些常见的时间选项:- `-atime n`:搜索最近n天访问过的文件- `-ctime n`:搜索最近n天状态发生过改变的文件- `-mtime n`:搜索最近n天修改过的文件- `-amin n`:搜索最近n分钟访问过的文件- `-cmin n`:搜索最近n分钟状态发生过改变的文件- `-mmin n`:搜索最近n分钟修改过的文件- `-newer file`:搜索比file更新的文件例如,要搜索最近7天内修改过的文件,可以使用以下命令:find . -mtime -75. 搜索空文件或空目录有时候我们需要搜索文件系统中的空文件或空目录。

linux系统的find用法

linux系统的find用法

linux系统的find用法在Linux系统中,find命令用于在目录树中查找文件,并可以对找到的文件执行一些操作。

以下是find命令的一些常见用法和选项:查找文件或目录:查找当前目录及其子目录下的所有文件:find .查找指定目录下的所有文件:find /path/to/directory查找名为filename的文件:find . -name filename使用通配符查找,如查找所有以.txt结尾的文件:find . -name "*.txt"根据文件类型查找:查找所有目录:find . -type d查找所有普通文件:find . -type f查找所有符号链接:find . -type l根据文件大小查找:查找大于1MB的文件:find . -size +1M查找小于1MB的文件:find . -size -1M查找恰好为1MB的文件:find . -size 1M根据文件时间查找:查找在过去7天内被修改过的文件:find . -mtime -7查找在7天前被修改过的文件:find . -mtime +7查找恰好在7天前被修改过的文件:find . -mtime 7执行命令:对找到的文件执行命令,如删除所有.bak文件:find . -name "*.bak" -exec rm {} \;在执行命令前进行确认,如删除所有.bak文件并询问:find . -name "*.bak" -ok rm {} \;逻辑运算符:查找名为file1或file2的文件:find . -name "file1" -o -name "file2"查找既是普通文件又大于1MB的文件:find . -type f -a -size +1M注意:find命令非常强大,但也具有潜在的危险性,特别是在使用-exec或-delete选项时。

linux下查找文件命令find用法

linux下查找文件命令find用法

linux下查找文件命令find用法Linux下的查找文件命令find用法在Linux系统中,find命令是一个非常有用的工具,用于在指定目录及其子目录中查找文件。

它可以根据不同的条件来查找文件,并提供了一些附加功能来帮助用户更精确地定位目标文件。

1. 查找指定文件名的文件:可以使用以下命令格式来查找指定文件名(如file.txt)的文件:```find /path/to/directory -name file.txt```这将在指定目录`/path/to/directory`及其子目录中查找名为`file.txt`的文件。

2. 按文件类型查找:如果要按照文件类型来查找文件,可以使用`-type`参数。

例如,要查找所有的目录,可以使用以下命令:```find /path/to/directory -type d```类似地,要查找所有的普通文件,可以使用以下命令:```find /path/to/directory -type f```3. 使用通配符和正则表达式查找文件名:find命令还支持使用通配符和正则表达式来匹配文件名。

例如,要查找以`.txt`结尾的所有文本文件,可以使用以下命令:```find /path/to/directory -name "*.txt"```这里使用了通配符`*`来匹配任意字符序列。

4. 根据文件大小查找:可以使用`-size`参数来查找指定大小的文件。

例如,要查找大于10MB的文件,可以使用以下命令:```find /path/to/directory -size +10M```5. 根据文件修改时间查找:find命令还可以根据文件的修改时间来查找文件。

以下是一些常用的选项: - `-mtime n`:查找n天之前被修改的文件。

- `-mtime +n`:查找n天以上之前被修改的文件。

- `-mtime -n`:查找n天以内被修改的文件。

Linux系统Find命令详解

Linux系统Find命令详解

Linux系统Find命令详解Find命令:Find命令主要是⽤来在相应的⽬录下查找符合给定条件的⽂件。

# find [查找起始路径] [查找条件] [处理动作]find⽀持⽂件名的正则表达式查找,按⽂件修改时间查找,按⽂件⼤⼩查找,按⽂件权限查找,按⽂件类型查找等,查找到以后还⽀持直接对查找到的⽂件使⽤命令,功能⾮常强⼤Find命令选项参数使⽤:Name选项(iname是不区分⼤⼩写):⽂件名选项是find命令最常⽤的选项,要么单独使⽤该选项,要么和其他选项⼀起使⽤。

可以使⽤某种⽂件名模式来匹配⽂件,记住要⽤引号将⽂件名模式引起来。

不管当前路径是什么,如果想要在⾃⼰的家⽬录、$HOME中查找⽂件名符合*.log的⽂件,使⽤‘~’作为‘pathname’参数,波浪号~代表了你的$HOME⽬录。

# find ~ -name “*.log”当前⽬录:# find . –name “*.log”绝对路径:# find /etc -name “*.log”以⼀个⼤写字母开头的⽂件# find . –name “[A-Z]*”如果想在当前⽬录查找⽂件名以⼀个个⼩写字母开头,最后是4到9加上.log结束的⽂件:命令:# find . –name “[a-z]*[4-9].log”Perm选项:按照⽂件权限模式⽤-perm选项,按⽂件权限模式来查找⽂件的话。

最好使⽤⼋进制的权限表⽰法。

# find . -perm 755还有⼀种表达⽅法:在⼋进制数字前⾯要加⼀个横杠-,表⽰都匹配,如-007就相当于777,-005相当于555。

# find . -perm -005Prune选项:如果在查找⽂件时希望忽略某个⽬录,因为你知道那个⽬录中没有你所要查找的⽂件,那么可以使⽤-prune选项来指出需要忽略的⽬录。

在使⽤-prune选项时要当⼼,因为如果你同时使⽤了-depth选项,那么-prune选项就会被find命令忽略。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

linux下find命令详解
find命令是一个无处不在命令,是linux中最有用的命令之一。

find命令用于:在一个目录(及子目录)中搜索文件,你可以指定一些匹配条件,如按文件名、文件类型、用户甚至是时间戳查找文件。

一、find命令的一般形式
find [options] [查找路径] [查找条件] [处理动作]
查找路径:默认为当前目录
查找条件:默认为查找指定路径下的所有文件
处理动作:默认为显示
path:find命令所查找的目录路径。

例如用.来表示当前目录,用/来表示系统根目录
expression:expression可以分为——“-options [-print -exec -ok ...]”
-options:指定find命令的常用选项
-print:find命令将匹配的文件输出到标准输出,默认,可省略
-exec:find命令对匹配的文件执行该参数所给出的shell命令。

相应命令的形式为'command' { } \;,注意{ }和\;之间的空格
1、find ./ -size 0 -exec rm {} \;
删除文件大小为零的文件
rm -i `find ./ -size 0` 或 find ./ -size 0 | xargs rm -f &
为了用ls -l命令列出所匹配到的文件,可以把ls -l命令放在find命令的-exec选项中:
2、find . -type f -exec ls -l { } \;
在/logs目录中查找更改时间在5日以前的文件并删除它
们:
find /logs -type f -mtime +5 -exec rm { } \;
-ok:和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。

find . -name "*.conf" -mtime +5 -ok rm { } \;
在当前目录中查找所有文件名以.LOG结尾、更改时间在5日以上的文件,并删除它们,只不过在删除之前先给出提示
二、find命令的常用选项及实例
-a :组合条件“和”
-not:组合条件“非”
非A并且非B:非(A或B)
非A或非B:非(A并B)
-name
按照文件名查找文件。

find /dir -name filename 在/dir目录及其子目录下面查找名字为filename的文件
find . -name "*.c" 在当前目录及其子目录(用“.”表示)中查找任何扩展名为“c”的文件
-perm
按照文件权限来查找文件。

find . -perm 755在当前目录下查找文件权限位为755的文件,即文件属主可以读、写、执行,其他用户可以读、执行的文件
-prune
使用这一选项可以使find命令不在当前指定的目录中查找,如果同时使用-depth选项,那么-prune将被find命令忽略。

1、find /apps -path "/apps/bin" -prune -o -print在/apps目录下查找文件,但不希望在/apps/bin目录下查找
2、find /usr/sam -path "/usr/sam/dir1" -prune -o -print在/usr/sam 目录下查找不在dir1子目录之内的所有文件
-user
按照文件属主来查找文件。

find ~ -user sam在$HOME目录中查找文件属主为sam的文件-group
按照文件所属的组来查找文件。

find /apps -group gem在/apps目录下查找属于gem用户组的文件-mtime -n +n
按照文件的更改时间来查找文件, -n表示文件更改时间距现在n天以内,+n表示文件更改时间距现在n天以前。

1、find / -mtime -5在系统根目录下查找更改时间在5日以内的文件
2、find /var/adm -mtime +3在/var/adm目录下查找更改时间在3日以前的文件
-ctime 按照文件的创建时间来查找文件
查找/etc/目录下最近一周内其内容的,且不属于root或hadoop的文件
find /etc/ -ctime 7 -not -user root -a -not -user hadoop -atime 按照文件的访问时间来查找文件
查找当前系统上没有属主或属组,且最近1个月内层被访问过的文件
find / \( -nouser -o -nogroup \) -a -atime -31
-nogroup
查找无有效所属组的文件,即该文件所属的组在/etc/groups中不存在。

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

find /home -nouser
-newer file1 ! file2
查找更改时间比文件file1新但比文件file2旧的文件。

-type
查找某一类型的文件,诸如:
b:块设备文件。

d:目录。

c:字符设备文件。

p:管道文件。

l:符号链接文件。

f:普通文件。

1、find /etc -type d在/etc目录下查找所有的目录
2、find . ! -type d在当前目录下查找除目录以外的所有类型的文件
3、find /etc -type l在/etc目录下查找所有的符号链接文件
-size n:[c] 查找文件长度为n块的文件,带有c时表示文件长度以字节计。

find . -size +1000000c在当前目录下查找文件长度大于1 M字节的文件
find /home/apache -size 100c在/home/apache目录下查找文件长度恰好为100 字节的文件
find . -size +10在当前目录下查找长度超过10块的文件(一块等于512字节)
-depth:在查找文件时,首先查找当前目录中的文件,然后再在其子目录中查找。

find / -name "CON.FILE" -depth它将首先匹配所有的文件然后再进入子目录中查找
-mount:在查找文件时不跨越文件系统mount点。

find . -name "*.XC" -mount从当前目录开始查找位于本文件系统中文件名以XC结尾的文件(不进入其他文件系统)
-follow:如果find命令遇到符号链接文件,就跟踪至链接所指向的文件。

三、find与xargs
在使用find命令的-exec选项处理匹配到的文件时, find命令将所有匹配到的文件一起传递给exec执行。

但有些系统对能够传递给exec的命令长度有限制,这样在find命令运行几分钟之后,就会出现溢出错误。

错误信息通常是“参数列太长”或“参数列溢出”。

这就是xargs命令的用处所在,特别是与find命令一起使用。

find命令把匹配到的文件传递给xargs命令,而xargs命令每次只获取一部分文件而不是全部,不像-exec选项那样。

这样它可以先处理最先获取的一部分文件,然后是下一批,并如此继续下去。

在有些系统中,使用-exec选项会为处理每一个匹配到的文件而发起一个相应的进程,并非将匹配到的文件全部作为参数一次执行;这样在有些情况下就会出现进程过多,系统性能下降的问题,因而效率不高;
而使用xargs命令则只有一个进程。

另外,在使用xargs命令时,究竟是一次获取所有的参数,还是分批取得参数,以及每一次获取参数的数目都会根据该命令的选项及系统内核中相应的可调参数来确定。

来看看xargs命令是如何同find命令一起使用的,并给出一些例子。

1、find . -type f -print | xargs file查找系统中的每一个普通文件,然后使用xargs命令来测试它们分别属于哪类文件
2、find / -name "core" -print | xargs echo "" >/tmp/core.log在整个系统中查找内存信息转储文件(core dump) ,然后把结果保存到/tmp/core.log 文件中:
3、find . -type f -print | xargs grep "hostname"用grep命令在所有的普通文件中搜索hostname这个词
4、find ./ -mtime +3 -print|xargs rm -f -r删除3天以前的所有东西
(find . -ctime +3 -exec rm -rf {} \;)
5、find ./ -size 0 | xargs rm -f &删除文件大小为零的文件
find命令配合使用exec和xargs可以使用户对所匹配到的文件执行几乎所有的命令。

四、find与locate
locate:依赖于updatedb库,是模糊匹配.查找速度块,非实时查找
找passwd,/tmp/mypasswd/a.txt/ 也会被查出来
find: 速度慢,精确查找
本文出自“斜视天花板”博客,请务必保留此出处
/8601832/1370531。

相关文档
最新文档