Linux中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选项,将搜索到的文件删除。
Linux命令高级技巧使用find命令进行文件搜索和批量操作

Linux命令高级技巧使用find命令进行文件搜索和批量操作Linux命令高级技巧:使用find命令进行文件搜索和批量操作Linux操作系统作为一种强大而且灵活的操作系统,提供了各种各样的命令行工具来进行文件管理和操作。
其中,find命令是一个非常有用的工具,它能够帮助我们快速进行文件搜索和批量操作。
在本文中,我们将学习如何使用find命令来提高我们的Linux命令行技巧。
一、find命令的基本用法find命令是一个非常灵活的工具,它可以根据给定的条件来搜索文件和目录。
它的基本用法如下:```find [搜索路径] [搜索条件] [执行操作]```其中,[搜索路径]表示要搜索的目录,可以是绝对路径,也可以是相对路径。
[搜索条件]表示要匹配的条件,可以是文件名、文件类型、文件大小等等。
[执行操作]表示对匹配到的文件执行的操作,可以是显示文件名、删除文件等等。
下面是一些常用的find命令的示例:1. 在当前目录下搜索文件名为"test.txt"的文件:```find . -name test.txt```这个命令会在当前目录及其子目录下搜索文件名为"test.txt"的文件,并显示匹配到的文件名。
2. 在指定目录下搜索特定文件类型的文件:```find /home -type f -name "*.txt"```这个命令会在/home目录下搜索文件类型为普通文件且文件名以".txt"结尾的文件,并显示匹配到的文件名。
3. 在指定目录下搜索特定大小的文件:```find /var -size +10M```这个命令会在/var目录下搜索文件大小大于10MB的文件,并显示匹配到的文件名。
二、find命令的进阶用法除了基本的用法外,find命令还提供了一些进阶的用法,帮助我们更精确地搜索和操作文件。
下面是一些常用的进阶用法示例:1. 使用逻辑运算符进行组合搜索条件:```find /tmp -type f -name "*.txt" -o -name "*.log"```这个命令会在/tmp目录下搜索文件类型为普通文件且文件名以".txt"或".log"结尾的文件,并显示匹配到的文件名。
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命令是一个非常强大的工具,用于在文件系统中文件和目录。
它可以根据不同的条件来查找文件,比如按名称、大小、权限等。
以下是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 命令的用法在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命令是非常常用的一个命令,它可以让用户在文件系统中查找指定的文件或者目录。
该命令的使用方法非常灵活,可以基于文件名、文件类型、文件大小、文件权限等多个条件进行查找。
下面我们来详细的介绍一下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`表示文件所有者可写。
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命令是一个非常强大和常用的工具,它可以帮助用户在文件系统中查找文件和目录。
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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Linux中find常见用法·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 #按文件访问时间来查GIN: 0px">-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]*" -print #查以大写字母开头的文件$find /etc -name "host*" -print #查以host开头的文件$find . -name "[a-z][a-z][0–9][0–9].txt" -print #查以两个小写字母和两个数字开头的txt文件$find . -perm 755 -print$find . -perm -007 -exec ls -l {} \; #查所有用户都可读写执行的文件同-perm 777$find . -type d -print$find . ! -type d -print$find . -type l -print$find . -size +1000000c -print #查长度大于1Mb的文件$find . -size 100c -print # 查长度为100c的文件$find . -size +10 -print #查长度超过期作废10块的文件(1块=512字节)$cd /$find etc home apps -depth -print |cpio -ivcdC65536 -o /dev/rmt0$find /etc -name "passwd*" -execgrep "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 /home -perm 0700 查权限为700的文件或目录find /tmp -name tmp.txt -exec cat {} \;find /tmp -name tmp.txt -ok rm {} \;find / -amin -10 # 查找在系统中最后10分钟访问的文件find / -atime -2 # 查找在系统中最后48小时访问的文件find / -empty # 查找在系统中为空的文件或者文件夹find / -group cat # 查找在系统中属于groupcat的文件find / -mmin -5 # 查找在系统中最后5分钟里修改过的文件find / -mtime -1 #查找在系统中最后24小时里修改过的文件find / -nouser #查找在系统中属于作废用户的文件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 129592003-02-25 ./conf/magic-rw-r–r– 1 root root 1802003-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 -typef -exec ls -l {} \;=================================================查询文件并询问是否要显示[root@book class]# find ./ -mtime -1 -typef -ok ls -l {} \;< ls … ./classDB.inc.php > ? y-rw-r–r– 1 cnscn cnscn 13709 1月 12 12:22 ./classDB.inc.php[root@book class]# find ./ -mtime -1 -typef -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"。