首页 理论教育 嵌入式Linux编程入门与开发实例:find命令示例

嵌入式Linux编程入门与开发实例:find命令示例

时间:2026-01-26 理论教育 小熊猫 版权反馈
【摘要】:find是Linux命令中最有用的命令之一,同时也是最混乱的一个。在Linux终端运行find.*-ls命令的结果如图4-41所示。图4-41 find.*-ls命令结果图在图4-41中可以看出,执行find.*-ls命令后,把当前目录下的所有文件和目录以列表形式显示。图4-42 find.-named*命令结果图find~-named*-execls-l{}\;命令。图4-44 find~-typed-namesoft命令结果图

find是Linux命令中最有用的命令之一,同时也是最混乱的一个。该命令很难,因为其语法与其他Linux命令的标准语法不同。但是,该命令功能很强大,因为其参数众多。

名称:find

使用权限:所有使用者

使用格式:find[目录][参数]

功能说明:find命令用于查找符合条件的文件或目录。任何位于参数之前的字符串都将被视为查找的目录。

参数介绍如下。

●-anewer[文件或目录]:查找其存取时间较指定[文件或目录]的存取时间更接近现在的文件或目录。

●-amin-n:查找在过去n分钟内被读取过的文件或目录,+n表示n分钟以前。

●-atime-n:查找在过去n天内被读取过的文件或目录,+n表示n天以前。

●-cmin-n:查找在过去n分钟内被修改过的文件或目录,+n表示n分钟以前。

●-ctime-n:查找在过去n天内被修改过的文件或目录,+n表示n天以前。

●-cnewer[文件或目录]:查找其更改时间较指定文件或目录的更改时间更接近现在的文件或目录。

●-depth:从指定目录下最深层的子目录开始查找。

●-empty:查找显示文件大小为0Byte的文件,或目录下没有任何子目录或文件的空目录。

●-ls:假设find指令的回传值为True,就将文件或目录名称列出到标准输出。

●-fls<列表文件>:此参数的效果和指定“-ls”参数类似,但会把结果保存为指定的列表文件。

●-name<表达式>:指定字符串作为查找文件或目录的表达式。

●-iname<表达式>:与-name类似,指定字符串作为查找文件或目录的表达式,区别在于-iname不区分大小写。

●-exec<执行指令>:假设find指令的回传值为True,就执行该指令,其中<执行指令>格式是<指令>{}\;。注意:{}和\;之间有空格。

●-ok<执行指令>:此参数的效果和指定“-exec”参数类似,但在执行指令之前会先询问用户,若回答“y”或“Y”,则放弃执行指令。

●-print:假设find指令的回传值为True,就将文件或目录名称列出到标准输出。格式为每列一个名称,每个名称之前皆有“./”字符串。

●-print0:假设find指令的回传值为True,就将文件或目录名称列出到标准输出。格式为全部的名称皆在同一行。

●-fprint<列表文件>:此参数的效果和指定“-print”参数类似,但会把结果保存成指定的列表文件。

●-fprint0<列表文件>:此参数的效果和指定“-print0”参数类似,但会把结果保存成指定的列表文件。

●-type<文件类型>:只查找符合指定的文件类型的文件。例如,<文件类型>取值b/d/c/p/l/f,分别表示查找为块设备、目录、字符设备、管道、符号链接和普通文件。

●-fstype<文件系统类型>:只查找该文件系统类型下的文件或目录。例如,<文件系统类型>可以是ext3。

●-inum<inode编号>:查找符合指定的inode编号的文件或目录。<inode编号>可以通过ls-l命令得到。

●-user<所有者名称>:查找符合指定的所有者名称的文件或目录。

●-group<群组名称>:查找符合指定的群组名称的文件或目录。

●-size<文件大小>:查找符合指定文件大小的文件,可以指定大于或者小于指定文件的大小。例如,find/-size+100c,该命令表示在/目录下查找文件大小在100B以上的文件,+表示大于,-表示小于,c表示字节。

●-help或-help:显示帮助信息。

●-version或-version:显示版本信息。(https://www.xing528.com)

注意:在find命令中可以使用通配符,并且多个参数之间可以同时使用。

【例4-35】find.-anewersoft命令。

在Linux终端运行find.-anewersoft命令的结果如图4-39所示。

在图4-39中可以看出,当前目录下存在soft目录、dest文件和source文件,执行find.-anewersoft命令后,会显示出比soft晚访问的文件和目录。

【例4-36】find.-depth命令。

在Linux终端运行find.-depth命令的结果如图4-40所示。

图示

图4-39 find.-anewersoft命令结果图

图示

图4-40 find.-depth命令结果图

在图4-40中可以看出,执行find.-depth命令后,先从当前目录下的最深层次目录开始查找,即先显示最深层次目录的文件及其目录。

【例4-37】find.*-ls命令。

在Linux终端运行find.*-ls命令的结果如图4-41所示。

图示

图4-41 find.*-ls命令结果图

在图4-41中可以看出,执行find.*-ls命令后,把当前目录下的所有文件和目录以列表形式显示。

【例4-38】find.-named*命令。

在Linux终端运行find.-named*命令的结果如图4-42所示。

在图4-42中可以看出,执行find.-name d*命令后,会把当前目录下以d开头的所有文件和目录显示出来;执行find.-inamed*命令后,会把当前目录下以d和D开头的所有文件和目录显示出来。

图示

图4-42 find.-named*命令结果图

【例4-39】find~-named*-execls-l{}\;命令。

在Linux终端运行find~-named*-execls-l{}\;命令的结果如图4-43所示。

图示

图4-43 find~-named*-execls-l{}\;命令结果图

在图4-43中可以看出,执行find~-named*-execls-l{}\;命令后,find命令返回True。执行ls-l命令,把在~目录下找到的以d开头的文件和目录显示出来。

【例4-40】find~-typed-namesoft命令。

在Linux终端运行find~-typed-namesoft命令的结果如图4-44所示。

在图4-44中可以看出,执行find~-typed-name soft命令后,会显示~目录下的所有soft目录。

图示

图4-44 find~-typed-namesoft命令结果图

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈