<p>如何利用find命令查找文件? Linux面试题<br />
find命令会在指定目录及其子目录下查找符合条件的特定文件。此命令的最大用处是当忘了文件的正确所在,而想找到该文件。<br />
<br />
命令格式<br />
<br />
find 目录名 条件 <br />
<br />
目录名 ? 欲开始寻找的目录所在。find会寻找此目录及其子目录。可以有多个目录名称,只要目录与目录之间用空格分开即可。<br />
<br />
条件 ? 欲搜索文件的条件,可包含文件名称、属主、最后修改时间等等。<br />
<br />
条件列表说明<br />
<br />
-name name 指定要被寻找的文件或目录名称,<br />
<br />
可用通配符,如, -name ‘*.c’<br />
<br />
-print 将符合条件的路径打印出来 <br />
-size n 寻找占用n个block的文件 <br />
-type x 以文件类型作为寻找条件。文件类型x如下:<br />
<br />
d ? 目录(directory), f ? 文件(file),<br />
<br />
b ? 块(block), c ? 字符(character),<br />
<br />
p ? 管道(pipe)<br />
<br />
-user user 寻找属于user所拥有的文件,<br />
<br />
user可为用户名或uid号<br />
<br />
-group group 寻找用户组为group的所有文件,<br />
<br />
group可为组名称或gid号<br />
<br />
-links n 寻找链接数等于n的所有文件 <br />
-atim n 寻找n天之前曾被存取的文件 <br />
-mtime n 寻找n天之前曾被修改的文件 <br />
-exec command {}; 用寻找到的文件作为执行command的对象,<br />
<br />
{}内存欲执行command时所需的参数<br />
<br />
<br />
条件的逻辑运算符:<br />
<br />
逻辑运算符 逻辑意义 举例 说明 <br />
! 非 !-name “*.c” 所有不以.c为扩展名的文件 <br />
-o 或 -size +10 -o -links 3 所有大于10block或链接数为3的文件 <br />
与 -size +10 -links 3 大于10block且链接数为3的文件 <br />
<br />
注:上表中的“+10”表示大于10,“-10”表示小于10。<br />
<br />
基本用法举例<br />
<br />
find /temp -name “abc*” -print 在/temp目录下查找文件名以abc开始的文件 <br />
find . -name test -print 在当前目录下查找文件名为test的文件 <br />
</p>