服务器 频道

Solaris 10中文件查找全攻略(图)

6. 使用混合查找方式查找文件

    find命令可以使用混合查找的方法,例如我们想在/tmp目录中查找大于200字节并且在24小时内修改的某个文件,我们可以使用两个查找选项链接起来组合成一个混合的查找方式。
    find /tmp -size +200c -atime 1

    在计算机语言里,使,or 分别表示“或”的关系。在Solaris系统的查找命令中一样通用。
    还有这样的例子:
    find / -user fre -or -user geoge

    我们可以解释为在/tmp目录中查找属于fre或者geoge这两个用户的文件。
    在find命令中还可以使用“非”的关系来查找文件,如果我们要在/tmp目录中查找所有不属于pand的文件,使用一个简单的命令

    find /tmp ! -user pand

7. 查找并显示文件的方法

    查找到某个文件是我们的目的,我们更想知道查找到的文件的详细信息和属性,如果我们采取现查找文件,在使用LS命令来查看文件信息是相当繁琐的,现在我们也可以把这两个命令结合起来使用。
    find / -name " ssh_config " -ls
    系统查找到ssh_config文件后立即在屏幕上显示ssh_config文件信息。如图4 。

图4查找并显示文件的方法

8 find命令其他应用

    假设您想要删除 home 目录中的大部分 .txt 文件,但希望能够逐个文件地执行该操作。像 UNIX 中的 rm 命令那样的删除操作是很危险的,因为当使用像 find 这样的自动化处理方式来查找文件时,它可能一不小心会删除重要的文件,您也许希望在删除这些系统查找到的文件之前对其进行仔细检查。下面的命令列出了您的 home 目录中所有的 .txt 文件。要删除这些文件,必须在 find 命令通过列出文件名提示您确认操作时输入 Y 或者 y: $ find $HOME/. -name *.txt -ok rm {} \; 它列出了查找到的每个文件,并且系统将暂停以等待您输入 Y 或者 y。如果您按下 Enter 键,系统将不会删除该文件。

    您可以使用 find 命令来清除目录或子目录中在正常使用过程中生成的临时文件,这样可以节省磁盘空间。要实现该操作,请使用下面的命令: $ find . \( -name a.out -o -name '*.o' -o -name 'core' \) -exec rm {} \; 括号中的文件掩码 标识出了需要删除的文件类型,每个文件掩码的前面都有 -name。该列表可以扩展为包括您需要清除的系统中的任何临时文件类型。在代码的编译和连接过程中,程序员及其工具会生成示例中的那些文件类型:a.out、*.o 和 core。其他的用户通常也会生成类似的临时文件,可以使用如 *.tmp、*.junk 等文件掩码来对命令进行相应的编辑。find 命令允许您复制目录中的全部内容,同时保持每个文件和子目录的权限、时间和所有权。要完成该操作,需要组合使用 find 和 cpio命令。
0
相关文章