linuxfind排除目录,Linuxfind命令详解,查找时非管道排除目录

linuxfind排除目录,Linuxfind命令详解,查找时非管道排除目录

2023年7月26日发(作者:)

linuxfind排除⽬录,Linuxfind命令详解,查找时⾮管道排除⽬录find是linux 命令,它将档案系统内符合 expression 的档案列出来。你可以指要档案的名称、类别、时间、⼤⼩、权限等不同资讯的组合,只有完全相符的才会被列出来。find 根据下列规则判断 path 和 expression,在命令列上第⼀个 – ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。find命令的参数pathname: find命令所查找的⽬录路径。例如⽤.来表⽰当前⽬录,⽤/来表⽰系统根⽬录。-print: find命令将匹配的⽂件输出到标准输出。-exec: find命令对匹配的⽂件执⾏该参数所给出的shell命令。相应命令的形式为’command’ { } ;,注意{ }和;之间的空格。-ok: 和-exec的作⽤相同,只不过以⼀种更为安全的模式来执⾏该参数所给出的shell命令,在执⾏每⼀个命令之前,都会给出提⽰,让⽤户来确定是否执⾏。# -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天以前-empty #空的档案-gid n or -group name : gid 是 n 或是 group 名称是 name-ipath p,-path p #路径名称符合 p 的档案,ipath 会忽略⼤⼩写-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 #使查找在进⼊⼦⽬录前先⾏查找完本⽬录-newer file1 ! file2 #查更改时间⽐f1新但⽐f2旧的⽂件-type b/d/c/p/l/f #查是块设备/⽬录/字符设备/管道/符号链接/普通⽂件-size n[c] #查长度为n块[或n字节]的⽂件-depth #使查找在进⼊⼦⽬录前先⾏查找完本⽬录-fstype #查位于某⼀类型⽂件系统中的⽂件,这些⽂件系统类型通常可 在/etc/fstab中找到-follow #如果遇到符号链接⽂件,就跟踪链接所指的⽂件-cpio #对匹配的⽂件使⽤cpio命令,将这些⽂件备份到磁带设备中。-mount #查⽂件时不跨越⽂件系统mount点-prune #忽略某个⽬录,使⽤这⼀选项可以使find命令不在当前指定的⽬录中查找,如果同时使⽤-depth选项,那么-prune将被find命令忽略。现在来详细说说-prunefind [-path ..] [expression] 在路径列表的后⾯的是表达式-path "/usr/kinggoo" -prune -o -print 是 -path "/usr/kinggoo"-a -prune -o -print 的简写表达式按顺序求值, -a 和 -o 都是短路求值,与 shell 的 && 和 || 类似如果 -path "/usr/kinggoo" 为真,则求值 -prune , -prune 返回真,与逻辑表达式为真;否则不求值 -prune,与逻辑表达式为假。如果 -path "/usr/kinggoo" -a -prune 为假,则求值 -print ,-print返回真,或逻辑表达式为真;否则不求值 -print,或逻辑表达式为真。如果要加其他选项需要加在-o之后(下⾯会有例⼦)find /usr/kinggoo -path "/usr/kinggoo/T" -prune -o -print这个表达式组合特例可以⽤伪码写为if -path "/usr/kinggoo/T" then-pruneelse-print避开多个⽂件夹find /usr/kinggoo ( -path /usr/kinggoo/T -o -path /usr/kinggoo/file1 ) -prune -o -print圆括号表⽰表达式的结合。 表⽰引⽤,即指⽰ shell 不对后⾯的字符作特殊解释,⽽留给 find 命令去解释其意义详细例⼦:[root@kinggoo svnconf]# find ../svnconf ( -path ../svnconf/qiyemoban ) -prune -o -print../svnconf../svnconf/txt../svnconf/../svnconf/../svnconf/../svnconf/android_../svnconf/NULL../svnconf/../svnconf/../svnconf/../svnconf/android_发现了吧 上⾯没有qiyemoban这个⽂件夹了,其实他没有被打印出来,[root@kinggoo svnconf]# lsandroid_ NULL qiyemoban txtandroid_ 查找某⼀确定⽂件,-name、-type等选项加在-o 之后例:[root@kinggoo svnconf]# find ../svnconf ( -path ../svnconf/qiyemoban ) -prune -o -name "txt" -print../svnconf/txt[root@kinggoo svnconf]# find ../svnconf ( -path ../svnconf/qiyemoban ) -prune -o -type d -print../svnconf # 当然只有⾃⼰是⽬录了,为了演⽰使⽤的是../上⼀级在指定当前⽬录 只是我懒。跟find正常命令⼀样即可望有帮助!- THE END -

发布者:admin,转转请注明出处:http://www.yc00.com/web/1690361716a337875.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信