以下文章来源于felix021 ,作者felix021
== 1 ==
在面试应聘者的时候,我常常会问:
在 Linux 下,如何删除一个目录下的所有 log 文件?
不知道是不是我人畜无害的围笑给了应聘者我很好应付的错觉
以至于应聘者全都回答:rm *.log
追问:该目录下可能有很多子目录(还可能是多级),如何把子目录里的 log 文件也删掉呢?
答:rm -r *.log
== 2 ==
令我很意外的是,只有很少的应聘者能想到 find 命令。
而且想到的人也很少有记得具体用法的。
目前为止只有一个应聘者能够给出完整的命令:
find -name *.log -exec rm -f {} ;
注:这里的两个斜杠都不是笔误。这里除了 -exec ...,也可以用 -delete,或者用管道结合 xargs 来完成;又或者 ls -r | grep 也行。
我觉得 find 应该不算一个很罕见的命令?
我们有一台