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命令二、使用方式2.1 基本用法2.2 根据不同条件查找文件2.2.1 根据文件名查找2.2.2 根据文件大小查找2.2.3 根据文件类型查找2.2.4 根据修改时间查找三、进阶应用3.1 结合其他命令实现多条件搜索3.2 执行特定操作四、总结一、什么是find命令在Linux和Unix系统中,find是一条非常有用的命令。

它的主要功能是按照用户指定的条件,在指定的路径下递归地搜索并定位文件。

无论是在个人电脑还是服务器上,我们经常会面临需要快速而准确地找到特定文件或目录的需求,使用find 命令可以轻松实现这一目标。

二、使用方式2.1 基本用法最简单的find命令使用方式如下:```find 路径条件参数搜索表达式```其中,路径表示你想要开始搜索的起始位置。

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

条件参数则可以根据实际需求选择不同的选项来限制搜索结果。

搜索表达式则表示了具体的搜索条件。

以搜索所有txt后缀的文件为例,命令如下:```find /home -name "*.txt"```2.2 根据不同条件查找文件2.2.1 根据文件名查找在搜索表达式中使用 `-name` 选项可以根据文件名进行搜索。

可以使用通配符来匹配不完整的文件名,例如`*`表示任意字符,`?`表示单个字符。

比如我们要搜索所有以“script”开头的shell脚本文件,可以使用以下命令:```find /home -name "script*.sh"```2.2.2 根据文件大小查找通过指定 `-size` 参数和相应的大小值来根据文件大小进行搜索。

这里可以使用大于(+)或小于(-)符号加上对应的数值单位(c代表字节,k代表千字节,M代表兆字节等)。

比如我们要搜索所有大于1MB的图片文件:```find /home -size +1M -name "*.jpg"```2.2.3 根据文件类型查找通过指定 `-type` 参数后跟特定的文件类型来根据文件类型进行搜索。

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参数来查找空文件。

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的文件。

find查找指令用法

find查找指令用法

find是一个在Unix 和Unix-like 操作系统(如Linux)中非常强大的命令行工具,用于在文件系统中搜索文件和目录。

它提供了大量的选项和参数,以便根据各种条件(如名称、大小、修改日期、权限等)来查找文件。

基本语法:find [path...] [expression]其中:•path:要搜索的目录路径。

如果省略,则默认为当前目录。

•expression:定义搜索条件的表达式。

这可以是基于名称、类型、大小、时间等的条件。

一些常用的选项和示例:按名称查找:find /path/to/search -name "filename"这会搜索/path/to/search目录(及其子目录)中名为filename的文件。

你可以使用通配符,如*.txt来匹配所有txt 文件。

2. 按类型查找(例如,只查找目录):find /path/to/search -type d这会搜索/path/to/search目录中的所有子目录。

3. 按大小查找:find /path/to/search -size +1M这会搜索/path/to/search目录中大于1MB 的所有文件。

4. 按修改时间查找:find /path/to/search -mtime -7这会搜索/path/to/search目录中在过去7 天内修改过的所有文件和目录。

5. 组合条件:你也可以组合多个条件来执行更复杂的搜索。

例如,要查找名为*.txt且在过去7 天内修改过的所有文件,你可以使用:find /path/to/search -name "*.txt" -mtime -7执行命令:find还允许你对搜索结果执行命令。

例如,要删除所有名为*.bak的文件,你可以使用:find /path/to/search -name "*.bak" -exec rm {} \;这里,{}是一个占位符,代表每个找到的文件,\;表示命令的结束。

find 命令用法

find 命令用法

find 命令用法Find 命令是 Linux 系统中非常常用的工具,它可以在指定路径及其子路径下搜索指定的文件。

Find 命令有许多用法,并且非常灵活,下面我们来详细介绍一下。

1. 最基础的用法最基础的 find 命令用法如下:```find [path] [expression]```其中 path 表示要搜索的路径,expression 表示搜索的条件表达式。

例如搜索当前目录下所有的 shell 脚本可以使用以下命令:```find . -name "*.sh"```其中点号表示当前目录,-name 表示按照文件名匹配条件,"*.sh" 表示文件名以 .sh 结尾。

2. 搜索特定类型的文件Find 命令可以通过 -type 参数来指定搜索特定类型的文件。

例如搜索当前目录下所有的目录可以使用以下命令:```find . -type d```其中 -type d 表示搜索类型为目录的文件。

3. 搜索指定时间的文件Find 命令可以通过 -mtime、-atime 和 -ctime 参数来搜索指定时间的文件。

例如搜索 10 天内修改过的文件可以使用以下命令:```find . -mtime -10```其中 -mtime -10 表示搜索最近 10 天内修改过的文件。

4. 搜索指定大小的文件Find 命令可以通过 -size 参数来搜索指定大小的文件。

例如搜索大于 1M 的文件可以使用以下命令:```find . -size +1M```其中 -size +1M 表示搜索大小大于 1M 的文件。

5. 搜索指定权限的文件Find 命令可以通过 -perm 参数来搜索指定权限的文件。

例如搜索所有用户可执行的文件可以使用以下命令:```find . -perm /u+x```其中 -perm /u+x 表示搜索文件权限中用户可执行的文件。

6. 搜索指定用户或组的文件Find 命令可以通过 -user 和 -group 参数来搜索指定用户或组的文件。

Linux终端命令find查找文件和目录

Linux终端命令find查找文件和目录

Linux终端命令find查找文件和目录Linux系统是一种常用的操作系统,广泛应用于服务器和个人电脑。

在Linux系统中,终端命令是重要的操作工具之一。

本文将介绍Linux中的一个常用终端命令find,该命令用于查找文件和目录,并提供了一些实用的选项和示例。

一、find命令简介Find命令是Linux系统中用于查找文件和目录的重要命令之一。

它的基本语法如下:```shellfind [路径] [表达式选项]```其中,路径指定搜索的起始点,可以是目录名称或者路径名称;表达式选项用于设置查找的条件。

二、常用选项及示例1. 根据名称查找find命令可以通过名称查找文件和目录。

下面是一个简单的示例,查找当前目录下名称为test.txt的文件:```shellfind . -name test.txt```其中,`.`表示当前目录,-name用于指定名称为test.txt。

2. 根据类型查找除了根据名称查找,find命令还可以根据文件类型进行查找。

例如,查找当前目录下的所有目录:```shellfind . -type d```其中,-type用于指定查找的对象类型,d表示目录。

3. 根据大小查找通过find命令,还可以根据文件大小进行查找。

下面是一个示例,查找当前目录下大于1MB的文件:```shellfind . -size +1M```其中,+1M表示文件大小大于1MB。

4. 根据权限查找find命令可以根据文件权限进行查找。

例如,查找当前目录下所有拥有可执行权限的文件:```shellfind . -perm /u+x```其中,-perm用于指定文件权限,/u+x表示用户具有可执行权限。

5. 根据时间戳查找find命令还可以根据文件的时间戳进行查找。

下面是一个示例,查找当前目录下1天内修改过的文件:```shellfind . -mtime -1```其中,-mtime用于指定时间范围,-1表示1天内。

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"的文件,但不会查找子目录。

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

分类:linux·find path -option [ -print ] [ -exec -ok command ] {} \;#-print 将查找到的文件输出到标准输出#-exec command {} \; -----将查到的文件执行command操作,{} 和 \;之间有空格#-ok 和-exec相同,只不过在操作前要询用户====================================================-name filename #查找名为filename的文件-perm #按执行权限来查找-user username #按文件属主来查找-group groupname #按组来查找-mtime -n +n #按文件更改时间来查找文件,-n指n天以内,+n指n天以前-atime -n +n #按文件访问时间来查-perm #按执行权限来查找-user username #按文件属主来查找-group groupname #按组来查找-mtime -n +n #按文件更改时间来查找文件,-n指n天以内,+n指n天以前-atime -n +n #按文件访问时间来查找文件,-n指n天以内,+n指n天以前-ctime -n +n #按文件创建时间来查找文件,-n指n天以内,+n指n天以前-nogroup #查无有效属组的文件,即文件的属组在/etc/groups中不存在-nouser #查无有效属主的文件,即文件的属主在/etc/passwd中不存-newer f1 !f2 找文件,-n指n天以内,+n指n天以前-ctime -n +n #按文件创建时间来查找文件,-n指n天以内,+n指n天以前-nogroup #查无有效属组的文件,即文件的属组在/etc/groups中不存在-nouser #查无有效属主的文件,即文件的属主在/etc/passwd中不存-newer f1 !f2 #查更改时间比f1新但比f2旧的文件-type b/d/c/p/l/f #查是块设备、目录、字符设备、管道、符号链接、普通文件-size n[c] #查长度为n块[或n字节]的文件-depth #使查找在进入子目录前先行查找完本目录-fstype #查更改时间比f1新但比f2旧的文件-type b/d/c/p/l/f #查是块设备、目录、字符设备、管道、符号链接、普通文件-size n[c] #查长度为n块[或n字节]的文件-depth #使查找在进入子目录前先行查找完本目录-fstype #查位于某一类型文件系统中的文件,这些文件系统类型通常可在/etc/fstab中找到-mount #查文件时不跨越文件系统mount点-follow #如果遇到符号链接文件,就跟踪链接所指的文件-cpio #查位于某一类型文件系统中的文件,这些文件系统类型通常可在/etc/fstab中找到-mount #查文件时不跨越文件系统mount点-follow #如果遇到符号链接文件,就跟踪链接所指的文件-cpio #对匹配的文件使用cpio命令,将他们备份到磁带设备中-prune #忽略某个目录====================================================$find ~ -name "*.txt" -print #在$HOME中查.txt文件并显示$find . -name "*.txt" -print$find . -name "[A-Z]*" -pri26nbsp; #对匹配的文件使用cpio命令,将他们备份到磁带设备中-prune #忽略某个目录=====================================================$find ~ -name "*.txt" -print #在$HOME中查.txt文件并显示$find . -name "*.txt" -print$find . -name "[A-Z]*" -print #查以大写字母开头的文件$find /etc -name "host*" -print #查以host开头的文件$find . -name 0"[a-z][a)z][0--9][0--9M.txt" -pri聮t #查以两个小写字母和两个数字开头的txt文件K$find . -perm 755 ࠭print$find . -perm -007 -exec ls -l {} ; #查所有用户都可读写执行的文件同-perm ?77$find . -tY`࠭ d -print$fi࠭d࠭ . ! -type d -print$find . -type l -print$find . -Size +10000Ȱ0c -p࠭int ¨ #࠭长度大于1Mb的䖇件$find 0. -size 100c -print # 查长度为100c的文件$f聩nd . -size +10 -ðrint #查长度超过期作废10块的文件(1块=512字节)$#d /$find etc home apps -depth -print |cpio -ivcdC675;6 -o /dev/rmt0࠭$find /etc -name "passwd*" -exec grep "cnscn" {} \; #看是否存在cnscn用户$find . -name "yao*" | xargs file$find . -name "yao*" | xargs echo "" > /tmp/core.log$find . -name "yao*" | xargs chmod o-w======================================================find -name april* 在当前目录下查找以april开始的文件find -name april* fprint file 在当前目录下查找以april开始的文件,并把结果输出到file中find -name ap* -o -name may* 查找以ap或may开头的文件find /mnt -name tom.txt -ftype vfat 在/mnt下查找名称为tom.txt且文件系统类型为vfat的文件find /mnt -name t.txt ! -ftype vfat 在/mnt下查找名称为tom.txt且文件系统类型不为vfat的文件find /tmp -name wa* -type l 在/tmp下查找名为wa开头且类型为符号链接的文件find /home -mtime -2 在/home下查最近两天内改动过的文件find /home -atime -1 查1天之内被存取过的文件find /home -mmin +60 在/home下查60分钟前改动过的文件find /home -amin +30 查最近30分钟前被存取过的文件find /home -newer tmp.txt 在/home下查更新时间比tmp.txt 近的文件或目录find /home -anewer tmp.txt 在/home下查存取时间比tmp.txt 近的文件或目录find /home -used -2 列出文件或目录被改动过之后,在2日内被存取过的文件或目录find /home -user cnscn 列出/home目录内属于用户cnscn 的文件或目录find /home -uid +501 列出/home目录内用户的识别码大于501的文件或目录find /home -group cnscn 列出/home内组为cnscn的文件或目录find /home -gid 501 列出/home内组id为501的文件或目录find /home -nouser 列出/home内不属于本地用户的文件或目录find /home -nogroup 列出/home内不属于本地组的文件或目录find /home -name tmp.txt -maxdepth 4 列出/home内的tmp.txt 查时深度最多为3层find /home -name tmp.txt -mindepth 3 从第2层开始查find /home -empty 查找大小为0的文件或空目录find /home -size +512k 查大于512k的文件find /home -size -512k 查小于512k的文件find /home -links +2 (查硬连掅数大于2的文件或目录find ࠭/ɨome -perm 0700 ¡Ơ查权限为700的文仴或目录find !/tmpʠ -name tmp.txt -exeC cat {} \;find /tmp -nime tmp.txt -ok rm {} \;find / -ami࠭ -10 # 查找࠭系统中最后10分钟访问的文件f)nD¡ / -átime -2 #Ġ查找在系统中最后48小时访问的文件find / -empty ° # 查找在系统中为空的文件或者文件夹find / -group cat # 查找在系统中属于 groupcat的文件find / -mmkn -5 # 查找在系统中最后5分钟里修改过的文件find / -mtime -1 #查找在系统中最后24小时里修改过的文件find / -nou3er ʠ #查找在系糟中属于作废用户的文件find / -user fred #查找在系统中属于FRED这个用户的文件查当前目录下的所有普通文件--------------------------------------------------------------------------------# find . -type f -exec ls -l {} \;-rw-r--r-- 1 root root 349282003-02-25 ./conf/httpd.conf-rw-r--r-- 1 root root 12959 2003-02-25 ./conf/magic -rw-r--r-- 1 root root 180 2003-02-25 ./conf.d/README 查当前目录下的所有普通文件,并在- e x e c选项中使用ls -l命令将它们列出=================================================在/ l o g s目录中查找更改时间在5日以前的文件并删除它们:$ find logs -type f -mtime +5 -exec -ok rm {} \;=================================================查询当天修改过的文件[root@book class]# find ./ -mtime -1 -type f -exec ls -l {} \;=================================================查询文件并询问是否要显示[root@book class]# find ./ -mtime -1 -type f -ok ls -l {} \; < ls ... ./classDB.inc.php > ? y-rw-r--r-- 1 cnscn cnscn 13709 1月 1212:22 ./classDB.inc.php[root@book class]# find ./ -mtime -1 -type f -ok ls -l {} \; < ls ... ./classDB.inc.php > ? n[root@book class]#=================================================查询并交给awk去处理[root@book class]# who | awk '{print $1"\t"$2}'cnscn pts/0=================================================awk---grep---sed[root@book class]# df -k | awk '{print $1}' | grep -v 'none'| sed s"/\/dev\///g"文件系统sda2sda1[root@book class]# df -k | awk '{print $1}' | grep -v 'none'文件系统/dev/sda2/dev/sda11)在/tmp中查找所有的*.h,并在这些文件中查找“SYSCALL_VECTOR",最后打印出所有包含"SYSCALL_VECTOR"的文件名A) find /tmp -name "*.h" | xargs -n50 grep SYSCALL_VECTORB) grep SYSCALL_VECTOR /tmp/*.h | cut -d':' -f1| uniq > filenameC) find /tmp -name "*.h" -exec grep "SYSCALL_VECTOR" {} \; -print2)find / -name filename -exec rm -rf {} \;find / -name filename -ok rm -rf {} \;3)比如要查找磁盘中大于3M的文件:find . -size +3000k -exec ls -ld {} ;4)将find出来的东西拷到另一个地方find *.c -exec cp '{}' /tmp ';'如果有特殊文件,可以用cpio,也可以用这样的语法:find dir -name filename -print | cpio -pdv newdir6)查找2004-11-30 16:36:37时更改过的文件# A=`find ./ -name "*php"` | ls -l --full-time $A 2>/dev/null | grep "2004-11-30 16:36:37"。

相关文档
最新文档