linux下find命令详解
- 格式:doc
- 大小:43.00 KB
- 文档页数:8
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命令是在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命令是一个非常强大的工具,用于在文件系统中文件和目录。
它可以根据不同的条件来查找文件,比如按名称、大小、权限等。
以下是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 命令的用法在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命令是非常常用的一个命令,它可以让用户在文件系统中查找指定的文件或者目录。
该命令的使用方法非常灵活,可以基于文件名、文件类型、文件大小、文件权限等多个条件进行查找。
下面我们来详细的介绍一下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命令的作用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命令是一个非常强大和常用的工具,它可以帮助用户在文件系统中查找文件和目录。
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指令是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中搜索文件和目录在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命令来查找特定类型的文件。
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选项用于指定文件的大小范围。
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。