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命令二、使用方式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 命令的用法在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公式是一种数据分析方法,可以在Excel等电子表格软件中使用。
通过Find公式,用户可以快速且准确地查找特定文本或数值,并返回相关的结果。
本文将详细介绍Find公式的使用方法和应用场景。
一、Find公式的语法和参数Find公式的语法如下:=FIND(要查找的文本,搜索的位置,起始点)其中,要查找的文本表示用户要查找的特定字符或字符串,搜索的位置表示在哪个单元格中进行查找,起始点表示要从哪个位置开始查找。
举个例子:假如有一个表格,其中包含有数百个单元格,我们需要查找其中包含“apple”的单元格,可以使用以下公式:=FIND("apple",A1)其中,“apple”表示要查找的文本,A1表示搜索的位置,起始点默认为1。
这个公式会在A1单元格中查找是否包含有“apple”这个词,如果找到,返回该单元格中该词的起始位置。
二、Find公式的使用方法1. 查找特定文本Find公式最常用的场景之一就是查找特定的文本或字符。
当我们需要在电子表格中查找某个关键词时,可以采用以下步骤:1)决定要查找的文本,例如“apple”2)决定要搜索的位置,在Excel中,可以使用Ctrl + F快捷键打开查找对话框,然后在下拉菜单中选择“sheet”或“workbook”即可对整张表或整个工作簿进行搜索。
3)在起始点处输入“1”,表示从第一个字符开始查找,或者输入其他数字指定起始位置。
4)将Find公式输入在单元格中,例如A1单元格,公式为:=FIND("apple",A1)5)按下Enter键,等待查找结果。
2. 返回指定长度的字符串除了查找特定文本,Find公式还可以用来返回指定长度的字符串。
例如,我们需要从一个大文本中截取前5个字符,就可以使用以下公式:=LEFT(A1,5)其中LEFT函数表示截取字符串的左边,A1表示大文本的单元格,5表示要截取的字符数。
c++_string_find使用正则表达式_概述说明

c++ string find使用正则表达式概述说明1. 引言部分内容:1.1 概述:本篇长文旨在介绍使用正则表达式进行字符串查找的方法,主要针对C++语言中的string类进行讲解。
正则表达式是一种强大的工具,可以用于匹配和处理各种复杂的字符串模式。
在C++中,我们可以利用string类提供的find函数与正则表达式相结合,实现更加灵活和高效的字符串查找操作。
1.2 文章结构:文章将分为以下几个章节进行讲解:引言、C++字符串简介、C++中的find函数、正则表达式在C++中的应用场景以及结论与总结。
每个章节都会详细介绍相关知识点,并通过示例代码进行说明,以便读者更好地理解和应用。
1.3 目的:本文的目的是帮助读者了解C++中string类提供的find函数,并掌握如何使用正则表达式进行字符串查找。
通过学习本文内容,读者将能够更加灵活地处理和操作字符串,同时也能够了解到正则表达式在实际开发中的一些应用场景。
无论是初学者还是有一定经验的程序员,都能从本文中获得一些有价值的知识和技巧。
以上就是“1. 引言”部分的详细内容。
2. C++字符串(string)2.1 简介C++中的字符串是一种常用的数据类型,用于存储和操作文本数据。
字符串在程序开发中起着重要作用,可以处理用户输入、文件读写和数据处理等任务。
2.2 字符串基本操作C++中的字符串类名为"string",位于命名空间std中。
使用字符串前需要包含头文件<string>。
在C++中,我们可以使用常规的方式来创建和操作字符串。
例如,可以通过赋值运算符将一个字符串赋值给另一个字符串,使用加号实现字符串的连接,并通过下标或at()函数访问指定位置上的字符。
下面是一些常见的字符串操作函数:- length(): 返回字符串长度。
- size(): 返回同length()一样的结果,即字符串长度。
- empty(): 判断字符串是否为空。
find函数的使用

find函数的使用摘要:find函数的使用一、find函数的基本概念二、find函数的语法规则1.参数介绍2.返回值说明三、find函数的应用场景1.查找字符串2.查找文件3.查找目录四、find函数的示例代码与解析1.查找字符串示例2.查找文件示例3.查找目录示例五、find函数的注意事项1.字符串查找注意事项2.文件查找注意事项3.目录查找注意事项六、find函数的扩展与优化1.使用正则表达式进行查找2.限制查找结果的数量3.实现递归查找正文:一、find函数的基本概念find函数是一种在Python中用于查找指定元素的工具,它可以应用于字符串、文件和目录的查找。
find函数的使用场景广泛,可以简化查找操作,提高编程效率。
二、find函数的语法规则1.参数介绍find函数的参数如下:- target:要查找的元素或目标,可以是字符串、文件或目录。
- path:表示目标所在的路径,可以是相对路径或绝对路径。
- pattern:可选参数,用于正则表达式查找。
2.返回值说明find函数在找到目标后,返回目标的索引。
如果没有找到目标,返回-1。
三、find函数的应用场景1.查找字符串在使用find函数查找字符串时,可以指定字符串中的某个子串或特定字符。
例如,在一段文本中查找某个关键词。
2.查找文件find函数可以用于查找文件,可以根据文件名、扩展名或内容进行查找。
例如,在指定目录下查找某个扩展名的文件。
3.查找目录find函数可以用于查找目录,可以根据目录名或子目录进行查找。
例如,在指定目录下查找某个子目录。
四、find函数的示例代码与解析1.查找字符串示例```pythontext = "Hello, world!"index = text.find("world")print(index) # 输出:6```2.查找文件示例```pythonimport osdirectory = "/path/to/your/directory"file_name = "example.txt"for filename in os.listdir(directory):if filename == file_name:print(os.path.join(directory, filename))break```3.查找目录示例```pythondirectory = "/path/to/your/directory"subdirectory = "subdirectory_name"for root, dirs, _ in os.walk(directory):if subdirectory in dirs:print(os.path.join(root, subdirectory))break```五、find函数的注意事项1.字符串查找注意事项- 区分大小写:find函数在进行字符串查找时,区分大小写。
find的用法归纳总结

find的用法归纳总结一、简介Find命令是在Linux和Unix-like操作系统中常用的一条命令,用于在指定目录下查找文件或目录。
它可以根据特定的搜索条件快速定位目标文件,并返回相关信息。
Find命令强大且灵活,可以根据多种规则进行查找,比如按照文件名、修改时间、文件大小等进行筛选。
本文将对Find命令的常用用法进行归纳总结。
二、基本语法Find命令的基本语法如下:find [path...] [expression]其中,path表示要开始搜索的路径,默认为当前工作目录;expression表示查询条件和动作。
三、按名称查找1. 按准确文件名查找如果需要精确地按照某个文件名来查找,可以使用以下形式的命令: find path -name filename其中,path为指定的搜索路径,filename为要匹配的具体文件名称。
该方式区分大小写。
2. 按通配符模式查找通配符模式可实现模糊匹配,比如想要查询所有以"file"开头的txt文件,可以使用以下形式的命令:find path -name 'file*.txt'在该例子中,'*'代表任意字符序列。
通过配合正确使用通配符可以更加灵活地查找指定类型或者格式的文件。
四、按文件属性查找1. 按文件类型查找可以指定特定类型的文件进行查找。
以下是一些常见的文件类型:-type d:仅查找目录;-type f:仅查找普通文件;-type l:仅查找符号链接;-type b:仅查找块设备文件;-type c:仅查找字符设备文件;为了指定某种特定类型,只需在命令中加入对应的标志即可。
2. 按时间戳查找Find命令支持根据不同时间戳来进行查询。
以下是几个常用的选项:-mtime n:在n天之内修改过的文件;-mmin n:在n分钟之内修改过的文件;使用这些选项可以快速筛选出最近被修改过或者访问过的文件。
3. 按大小查找如果需要按照文件大小进行查询,Find命令提供了以下选项:-size n[cwbkMG]:搜索指定大小范围内的文件;在其中,n表示大小值,后面紧跟一个字符表示单位(如c表示字节)以确定具体范围。
find查询命令正则表达式

find查询命令正则表达式今⽇内容find正则表达式Linux 三剑客之 grep内容详细⼀、find 按名称或属性查询⽂件按名称查询find [查找⽬录] [参数] []通配符: * 表⽰匹配多个字符表⽰匹配⼀个字符忽略⼤⼩写: -ifind /etc -name '*.repo'find /etc -iname '*Host'[root@localhost ~]# find /etc/yum.repos.d -name '*.repo'/etc/yum.repos.d/CentOS-Base.repo/etc/yum.repos.d/CentOS-CR.repo[root@localhost ~]# find /etc -iname 'Hos*'/etc/host.conf/etc/hosts按照时间查询+ 表⽰⼏天之前; - 表⽰⼏天以内-mtime : 按⽂件内容被修改时间-ctime : 按⽂件属性被修改时间-atime : 按⽂件最新被访问时间find /etc -mtime +5find /etc -ctime -3find /etc -atime -5[root@localhost ~]# find /root -mtime -3/root/root/anaconda-ks.cfg/root/.bash_history[root@localhost ~]# find /root -ctime -3/root/root/.bash_logout/root/.bash_profile按⽂件⼤⼩查询+ 为⼤于; - 为⼩于;没符号是等于;数字后⾯跟单位(M, b, k..)`b' for 512-byte blocks`c' for bytes`w' for two-byte words`k' for Kilobytes (units of 1024 bytes)`M' for Megabytes (units of 1048576 bytes)`G' for Gigabytes (units of 1073741824 bytes)find /etc -size +5M[root@localhost ~]# find /etc -size 2M/etc/selinux/targeted/contexts/files/file_contexts.bin[root@localhost ~]# find /etc -size +100k/etc/pki/ca-trust/extracted/java/cacerts/etc/pki/ca-trust/extracted/openssl/ca-bundle.trust.crt按所属⽤户查找# 查找所有所属主是 root 的⽂件find /etc -user root[root@localhost etc]# find /var/spool/ -user root/var/spool/lpd/var/spool/mail/var/spool/anacron按所属组查找# 查找所有所属组是 root 的⽂件find /etc -group root[root@localhost etc]# find /var/log -group root/var/log/tallylog/var/log/grubby_prune_debug/var/log/lastlog按照⽂件类型查询命令: find /root -type []# ⽂件类型:普通⽂件: f⽂件夹: d链接⽂件: l设备⽂件:磁盘⽂件: b字符⽂件: c套接字⽂件: s管道⽂件: p[root@localhost test]# echo {1..4}.txt | xargs touch[root@localhost test]# find /test -type f/test/1.txt/test/2.txt/test/3.txt/test/4.txt[root@localhost test]# find /test -type d/test/index1/test/index2按 index node 号查找find /root -inum [][root@localhost test]# find /test -inum 202280969/test/10.txt按权限查找find /root -perm [][root@localhost test]# find /test -perm 644/test/1.txt/test/2.txt/test/3.txt/test/4.txt[root@localhost test]# find /test -perm 755/test/index1/test/index2其它参数-a : 并且(可以省略,默认时并且)-o : 或者-maxdepth : 查询的⽬录深度(必须放置与第⼀个参数位)-exec : 将find处理好的结果交给其它命令继续处理(结果以 {} 表⽰)知识储备知识储备:# dd 可以造出指定⼤⼩的⽂件,造出来的⽂件是⽤ '@' 符号填充dd : ⽣成⽂件(⽣成指定⼤⼩的⽂件)if :从什么地⽅读of : 写⼊到什么⽂件bs : 每次写⼊多少内存的内容count : 写⼊多少次dd if=/dev/zero of=5.txt bs=1M count=5知识储备| :前⾯⼀个命令的结果交给后⾯⼀个命令处理xargs :把处理的⽂本变成以空格分割的⼀⾏`` : 提前执⾏命令,然后将结果交给其他命令来处理[root@localhost test]# echo {a..d} | xargs mkdirdrwxr-xr-x. 2 root root 6 Dec 20 20:25 adrwxr-xr-x. 2 root root 6 Dec 20 20:25 bdrwxr-xr-x. 2 root root 6 Dec 20 20:25 cdrwxr-xr-x. 2 root root 6 Dec 20 20:25 dtar -czPf /tmp/etcv2.tar.gz `find /etc/ -type f | xargs`实操案例1:查询/etc⽬录下hosts⽂件[root@localhost ~]# find /etc/ -name 'hosts'/etc/hosts案例2:查询/etc⽬录下名称中包含hosts⽂件[root@localhost ~]# find /etc/ -name '*hosts*'案例3:要求把/etc⽬录下,所有的普通⽂件打包压缩到/tmp⽬录[root@localhost /tmp]# tar -czPf /tmp/etcv2.tar.gz `find /etc/ -type f | xargs`⼆、Linux 三剑客之 grepLinux三剑客之⼀,⽂本过滤器(根据⽂本内容过滤⽂件)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Sed基础用法篇刚开始接触linux,其实还是老实用vim来编辑文件,不过同样的过程重复多次,你就要想办法简化你的过程。
sed绝对是一个好的命令或者工具,你不需要用vim打开文件就可以直接编辑(推荐掌握以下用法)。
1、删除行首空格sed 's/^[ ]*//g' filenamesed 's/^ *//g' filenamesed 's/^[[:space:]]*//g' filename2、行后和行前添加新行行后:sed 's/pattern/&\n/g' filename行前:sed 's/pattern/\n&/g' filename&代表pattern3、使用变量替换(使用双引号)sed ‐e "s/$var1/$var2/g" filename4、在第一行前插入文本sed ‐i '1 i\插入字符串' filename5、在最后一行插入sed ‐i '$ a\插入字符串' filename6、在匹配行前插入sed ‐i '/pattern/ i "插入字符串"' filename7、在匹配行后插入sed ‐i '/pattern/ a "插入字符串"' filename8、删除文本中空行和空格组成的行以及#号注释的行grep ‐v ^# filename | sed /^[[:space:]]*$/d | sed /^$/d9、要将目录/modules下面所有文件中的zhangsan都修改成list,可用如下命令:(注意备份原文件)sed ‐i 's/zhangsan/list/g' `grep zhangsan ‐rl /modules`Linux命令FIND详解由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时间来了解一下。
即使系统中含有网络文件系统( NFS),find命令在该文件系统中同样有效,只你具有相应的权限。
在运行一个非常消耗资源的find命令时,很多人都倾向于把它放在后台执行,因为遍历一个大的文件系统可能会花费很长的时间(这里是指30G字节以上的文件系统)。
一、find 命令格式1、find命令的一般形式为;find pathname ‐options [‐print ‐exec ‐ok ...]2、find命令的参数;pathname: find命令所查找的目录路径。
例如用.来表示当前目录,用/来表示系统根目录。
‐print: find命令将匹配的文件输出到标准输出。
‐exec: find命令对匹配的文件执行该参数所给出的shell命令。
相应命令的形式为'command' { } \;,注意{ }和\;之间的空格。
‐ok: 和‐exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。
3、find命令选项‐name按照文件名查找文件。
‐perm按照文件权限来查找文件。
‐prune使用这一选项可以使find命令不在当前指定的目录中查找,如果同时使用‐depth选项,那么‐prune将被find命令忽略。
‐user按照文件属主来查找文件。
‐group按照文件所属的组来查找文件。
‐mtime ‐n +n按照文件的更改时间来查找文件, ‐ n表示文件更改时间距现在n天以内,+ n表示文件更改时间距现在n天以前。
find命令还有‐atime和‐ctime 选项,但它们都和‐m time选项。
‐nogroup查找无有效所属组的文件,即该文件所属的组在/etc/groups中不存在。
‐nouser查找无有效属主的文件,即该文件的属主在/etc/passwd中不存在。
‐newer file1 ! file2查找更改时间比文件file1新但比文件file2旧的文件。
‐type查找某一类型的文件,诸如:b ‐ 块设备文件。
d ‐ 目录。
c ‐ 字符设备文件。
p ‐ 管道文件。
l ‐ 符号链接文件。
f ‐ 普通文件。
‐size n:[c] 查找文件长度为n块的文件,带有c时表示文件长度以字节计。
‐depth:在查找文件时,首先查找当前目录中的文件,然后再在其子目录中查找。
‐fstype:查找位于某一类型文件系统中的文件,这些文件系统类型通常可以在配置文件/etc/fstab中找到,该配置文件中包含了本系统中有关文件系统的信息。
‐mount:在查找文件时不跨越文件系统mount点。
‐follow:如果find命令遇到符号链接文件,就跟踪至链接所指向的文件。
‐cpio:对匹配的文件使用cpio命令,将这些文件备份到磁带设备中。
另外,下面三个的区别:(amin,cmin,mmin以此类推)‐atime n查找系统中最后n*24小时访问的文件‐ctime n查找系统中最后n*24小时被改变文件状态的文件‐mtime n查找系统中最后n*24小时被改变文件数据的文件4、使用exec或ok来执行shell命令使用find时,只要把想要的操作写在一个文件里,就可以用exec来配合find查找,很方便的在有些操作系统中只允许‐exec选项执行诸如l s或ls ‐l这样的命令。
大多数用户使用这一选项是为了查找旧文件并删除它们。
建议在真正执行rm命令删除文件之前,最好先用ls 命令看一下,确认它们是所要删除的文件。
exec选项后面跟随着所要执行的命令或脚本,然后是一对儿{ },一个空格和一个\,最后是一个分号。
为了使用exec选项,必须要同时使用print选项。
如果验证一下find命令,会发现该命令只输出从当前路径起的相对路径及文件名。
例如:为了用ls ‐l命令列出所匹配到的文件,可以把ls ‐l命令放在find命令的‐exec选项中# find . ‐type f ‐exec ls ‐l { } \;‐rw‐r‐‐r‐‐ 1 root root 34928 2003‐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上面的例子中,find命令匹配到了当前目录下的所有普通文件,并在‐exec选项中使用ls ‐l 命令将它们列出。
在/logs目录中查找更改时间在5日以前的文件并删除它们:$ find logs ‐type f ‐mtime +5 ‐exec rm { } \;记住:在shell中用任何方式删除文件之前,应当先查看相应的文件,一定要小心!当使用诸如mv或rm命令时,可以使用‐exec选项的安全模式。
它将在对每个匹配到的文件进行操作之前提示你。
在下面的例子中, find命令在当前目录中查找所有文件名以.LOG结尾、更改时间在5日以上的文件,并删除它们,只不过在删除之前先给出提示。
$ find . ‐name "*.conf" ‐mtime +5 ‐ok rm { } \;按y键删除文件,按n键不删除。
任何形式的命令都可以在‐exec选项中使用。
在下面的例子中我们使用grep命令。
find命令首先匹配所有文件名为“ passwd*”的文件,例如passwd、passwd.old、passwd.bak,然后执行grep命令看看在这些文件中是否存在一个sam用户。
# find /etc ‐name "passwd*" ‐exec grep "sam" { } \;sam:x:501:501::/usr/sam:/bin/bash二、find命令的例子;1、查找当前用户主目录下的所有文件:下面两种方法都可以使用$ find $HOME ‐print$ find ~ ‐print2、让当前目录中文件属主具有读、写权限,并且文件所属组的用户和其他用户具有读权限的文件;$ find . ‐type f ‐perm 644 ‐exec ls ‐l { } \;3、为了查找系统中所有文件长度为0的普通文件,并列出它们的完整路径;$ find / ‐type f ‐size 0 ‐exec ls ‐l { } \;4、查找/var/logs目录中更改时间在7日以前的普通文件,并在删除之前询问它们;$ find /var/logs ‐type f ‐mtime +7 ‐ok rm { } \;5、为了查找系统中所有属于root组的文件;$find . ‐group root ‐exec ls ‐l { } \;‐rw‐r‐‐r‐‐ 1 root root 595 10月 31 01:09 ./fie16、find命令将删除当目录中访问时间在7日以来、含有数字后缀的admin.log文件。
该命令只检查三位数字,所以相应文件的后缀不要超过999。
先建几个admin.log*的文件 ,才能使用下面这个命令$ find . ‐name "admin.log[0‐9][0‐9][0‐9]" ‐atime ‐7 ‐ok rm { } \;7、为了查找当前文件系统中的所有目录并排序;$ find . ‐type d | sort8、为了查找系统中所有的rmt磁带设备;$ find /dev/rmt ‐print三、xargsxargs ‐ build and execute command lines from standard input在使用find命令的‐exec选项处理匹配到的文件时, find命令将所有匹配到的文件一起传递给exec执行。
但有些系统对能够传递给exec的命令长度有限制,这样在find命令运行几分钟之后,就会出现溢出错误。
错误信息通常是“参数列太长”或“参数列溢出”。
这就是xargs命令的用处所在,特别是与find命令一起使用。
find命令把匹配到的文件传递给xargs命令,而xargs命令每次只获取一部分文件而不是全部,不像‐exec选项那样。
这样它可以先处理最先获取的一部分文件,然后是下一批,并如此继续下去。
在有些系统中,使用‐exec选项会为处理每一个匹配到的文件而发起一个相应的进程,并非将匹配到的文件全部作为参数一次执行;这样在有些情况下就会出现进程过多,系统性能下降的问题,因而效率不高;而使用xargs命令则只有一个进程。