find 命令 find命令用法
大家好我是欣欣,find 命令,关于find命令用法很多人还不知道,那么现在让我们一起来看看吧!
find 命令 find命令用法
find 命令 find命令用法
1、查找目录下的所有文件中是否含有某个字符串find .|xargs grep -ri "IBM"查找目录下的所有文件中是否含有某个字符串,并且只打印出文件名find .|xargs grep -ri "IBM" -l1.正则表达式(1)正则表达式一般用来描述文本模式的特殊用法,由普通字符(例如字符a-z)以及特殊字符(称为元字符,如/、、?等)组成。
2、(2)基本元字符集及其含义^ :只匹配行首。
3、 如^a 匹配以a开头的行abc,a2e,a12,,......$ :只匹配行尾。
4、 如^a 匹配以a结尾的行bca,12a,,....... :匹配0个或多个此单字符。
5、 如(a) 匹配 空,a,aa,,....[] :只匹配[]内字符。
6、可以是一个单字符,也可以是字符序列,用","将里面要匹配的不同字符串分开。
7、也可以使用-来表示[]内字符序列的范围,如[1-5]表示[12345] :只用来屏蔽一个元字符的特殊含义。
8、 如,',",|,+,^,. 等.:(点)只匹配任意单字-follow 如果find命令遇到符号链接文件,就跟踪至链接所指向的文件。
9、pattern{n}:只用来匹配前面pattern出现的次数.n为次数。
10、如a{2}匹配aa.pattern{n,}:含义同上,但次数最少为n.如a{2,}匹配aa,,a,.....pattern{n,m}:含义同上,但次数在n和m之间。
11、如a{2,4}匹配aa,,a三个(3)举例说明:^$ :匹配空行^.$ :匹配包含一个字符的行.pas :匹配以.pas结尾的所有字符或文件[0123456789]或[0-9] :定要匹配任意一个数字[a-z] :任意小写字母[A-Za-z] :任意大小写字母[S,s] :匹配大小写S2.find介绍(1)查找具上述命令的意思是:有某些特征文件的命令,可遍历当前目录甚至于整个文件系统来查看某些文件或目录,其遍历大的文件系统时一般放在后台执行。
12、(2)find命令的一般形式find pathname -options [-print -exec -ok]-pathname :find命令所查找的目录路径。
13、如用"."来表示当前的目录,用/来表示系统根目录-print :find命令将匹配的文件输出到标准输出-exec: find命令对匹配的文件执行该参数所给出的shell命令,相应的命令形式为'command'{} ; (注意{}和之间的空格)-ok 和 -exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。
14、options有如下几种:-name :按照文件名查找文件-perm :按照文件权限来查找文件-user :按照文件属主来查找文件-group :按照文件所属的组来查找文件-mtime -n +n 按照文件的更改时间来查找文件,-n表示文件更改时间距现在n天以内,+n表示文件更改时间距现在n天以前。
15、find命令还有-atime 和-ctime选项,但它们都和-mtime选项相似。
16、-size n[c]查找文件长度为n块的文件,带有c时表示文件长度以字节计。
17、-nogroup 查找无有效所属组的文件,即该文件所属的组在/etc/groups中不存在-newer file1 !file2查找更改时间比文件file1新但比文件file2旧的文件-depth 先查找指定目录有无匹配文件,若无则再在子目录中查找e:字符设备文件p;管道文件l:符号链接文件f:普通文件(3)find命令举例find -name ".txt" -print 查找txt结尾的文件并输出到屏幕上find /cmd ".sh" -print 查找/cmd目录下所有sh文件,并输出find . -perm 755 -print 查找当前目录下权限为755的文件,并输出find `pwd` -user root -print 查找当前目录下属主为root的文件,并输出find ./ -group sunwill -print 查找当前目录下所属主是sunwill的文件find /var -mtime -5 -print 查找/var目录下更改时间为5天内的所有文件find /var -newer "myfile1" ! -newer "myfile2" -print 查找/var目录下比myfile1新,但是比myfile2旧的所有文件。
18、find /var -type d -print 查找/var目录下所有目录find /var -type l -print 查找/var目录下所有的符号链接文件。
19、find . -size +1000000c -print 查找当前目录下大于1000000字节的文件find / -name "con.file" -depth -print 查找根目录下有无"con.file",若无则在其子目录中查找find . -type f -exec ls -l {} ; 查找当前目录下是否有普通文件,若有则执行ls -l(4)xargs命令在 使用find命令的-exec选项处理匹配到的文件时,find命令将所有匹配到的文件一起传递给exec。
20、不幸的是,有些系统对能够传递给exec的命 令长度有限制,这样find命令运行几分钟之后就算出现溢出错误。
21、错误信息通常是“参数列太长”或“参数列溢出”。
本文到这结束,希望上面文章对大家有所帮助。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系 836084111@qq.com 删除。