IT技术博客大学习 共学习 共进步

find命令的一点注意事项

PHPor 的Blog 2010-11-21 20:10:11 浏览 11,682 次
其实也不是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”命令只对后面的一个过滤器有效

建议继续学习

  1. vim几个小技巧(批量替换,列编辑) (阅读 37,262)
  2. ps - 按进程消耗内存多少排序 (阅读 12,522)
  3. 100个常用的linux命令 (阅读 11,442)
  4. Linux命令行里的“瑞士军刀” (阅读 11,441)
  5. 利用find和sed批量替换文件内容 (阅读 11,344)
  6. 每个程序员都应该知道的8个Linux命令 (阅读 10,584)
  7. 最受欢迎的10个 Linux 单行命令 (阅读 10,002)
  8. Linux date 命令获取某日期的前一天 (阅读 9,722)
  9. ps 命令常见用法 (阅读 9,321)
  10. linux下搜索find命令详解 (阅读 9,221)