当前位置: > 教程 > 服务器 >

find命令的一点注意事项
栏目分类:服务器   发布日期:2019-12-08   浏览次数:

其实也不是find命令的问题,以前总写不对find命令,今天才发现原因在哪里了。 如果文件不够多我们也不使用find命令; find命令的结果是文件名,要想知道自己find的结果是否正确,一般管道输出给ls 于是命令很容易写成: find .... | ls -lh 结果看到的总是目

其实也不是find命令的问题,以前总写不对find命令,今天才发现原因在哪里了。 如果文件不够多我们也不使用find命令; find命令的结果是文件名,要想知道自己find的结果是否正确,一般管道输出给ls 于是命令很容易写成: find .... | ls -lh 结果看到的总是目录内的所有内容,似乎是find失效,为什么呢? 命令应该写成: find ... | xargs ls -lh 看到了吧,就一个xargs只差,把所有的罪过都错给了find命令了

下面写几个find命令已做纪念:

查找大于30k,并且小于30M的文件:ffind . -type f -size +30k -size -30M |xargs ls -lh

注意:

size的单位有: cbkMG , 里面的“k”是小写的,M、G是大写的 两个size条件之间是“并且”的关系,如果需要“或”关系,可以使用 “-or” 链接两个条件 查找小于30k,或者大于30M的文件:find . -type f -size -30k -or -size +30M |xargs ls -lh

查找小于30k,或者大于30M,或者文件名以“abc”开头的文件:find . -type f -size -30k -or -size +30M -name -or "abc*" |xargs ls -lh

查找小于30k,或者大于30M,并且文件名以“abc”开头的文件:find . -type f -size -30k -or -size +30M -name "abc*" |xargs ls -lh

注意:

“-or”命令只对后面的一个过滤器有效

相关热词:

下一篇:没有了
js特效 教程 资源 资讯