首页 > 编程知识 正文

使用find命令查找文件,linux系统find命令

时间:2023-05-05 14:10:54 阅读:34865 作者:3386

在Linux系统中,find是一个比较常用的命令,find命令在目录结构中搜索文件,执行指定的操作,了解其格式和用法对我们非常有用。

find是Linux的重要命令,因为Linux下有所有文件,并且需要搜索和创建一些文件。 Linux下的find命令在目录结构中搜索文件并执行指定的操作。 提供了相当多的搜索条件,很强大。 如果不指定搜索目录,find将扫描整个系统。 即使系统包含网络文件系统,find命令也对该文件系统有效。 许多人倾向于在后台运行非常消耗资源的find命令,因为这可能需要很长时间来遍历大型文件系统。

命令功能

用于在文件树中查找文件并进行适当的处理。 (可能会访问磁盘。

1.find命令格式

find pathname-options [-print-exec-ok . ]

2 .命令参数

用pathname: find命令搜索到的目录路径。 例如,表示当前目录,/表示系统根目录;

-print:find命令将匹配文件输出到标准输出。

-exec:find命令对匹配的文件执行此参数提供的shell命令,以执行搜索完成后的操作。 相应命令的形式例如为

-exec ls -l {} ;

注意; 之间的空间;

-ok:的工作方式与-exec相同,只是在更安全的模式下运行参数提供的shell命令,并提示用户在运行每个命令之前确定是否运行。 形式如下。

-确定ls-l { } ;

3 .命令选项

-选项:

-按-name :文件名查找文件;

-perm :根据文件权限搜索文件;

-prune:使用此选项可防止在当前指定的目录中找到find命令。 如果同时使用-depth选项,find命令将忽略-prune。

-user :按文件所有者搜索文件;

-group:按文件所属的组搜索文件;

-mtime - n n:根据文件的修改时间搜索文件。 -n表示文件的修改时间在当前n天以内,n表示文件的修改时间在当前n之前。 find命令还具有-atime和-ctime选项,但与-m time选项相同。

-nogroup :查找没有有效所属组的文件。 也就是说,/etc/groups中不存在该文件所属的组。

-nouser :查找没有有效所有者的文件。 也就是说,/etc/passwd中不存在该文件的所有者。

查找结果

查找结果

-newer file1:查找更改时间最接近文件file1的更改时间的文件;

-type :查找以下类型的文件:

b -块设备文件d -目录c -字符设备文件; p -管道文件l符号链接文件f -普通文件

-size n [c]表示要以字节为单位搜索的字节为n的文件,n (表示大于n字节的文件),-n (表示小于n字节的文件);

-depth :搜索文件时,首先在当前目录中搜索文件,然后在该子目录中搜索。

-fstype :查找文件系统类型中的文件,该文件通常包含有关此系统中的文件系统的信息(位于配置文件/etc/fstab中)。

-mount :查找文件时不跨越文件系统的mount点;

- follow :如果find命令检测到符号链接文件,则跟踪链接到的文件;

-cpio :对匹配文件使用cpio命令将这些文件备份到磁带设备。

4 .命令功能

用于在文件树种中搜索文件并进行适当的处理。 (可能会访问磁盘。

5 .总结

综上所述,Linux上的find命令提供了相当多的搜索条件,选择很多,功能非常强大。 即使系统包含网络文件系统(NFS ),find命令在该文件系统上仍然有效,并且只有您具有相应的权限。 因此,在运行非常消耗资源的find命令时,很多人倾向于在后台运行。 这是因为遍历大文件系统可能需要很长时间。 这里指的是30G以上的文件系统。

(上例中的命令参数pathname很少显示,缺省为当前路径。)

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。