linux文件查找

    linux的核心思想是“一切皆文件”;所有的设备、系统配置等都是以文件形式来存储,能够准确的找到文件,才能够对该文件做修改等操作;所以文件的搜寻、查找对于系统的维护与管理至关重要

    1、which:查找可执行文件位置

        which会由PATH定义的路径中找出系统命令对应的可执行文件位置,并返回第一次找到的结果

    用法:

        which [optinos] Command...

    常用选项:

        -a:列出所有由PATH定义路径找出的文件位置

    2、whereis查找文件位置

        whereis只能用于程序名的搜索,而且只能搜索二进制文件、man说明文件和源代码文件,默认返回所有信息

        whereis会从数据库中查找,该数据库并不是实时更新的,默认该数据库一周更新一次;有时会找到已经被删除的文件或者找不到刚建立的文件

        用法:

            whereis [optinos] [directory] FILENAME...

        常用命令:

            -b:查找可执行文件

            -m:查找帮助文件

            -s:查找源代码文件

            -u:搜索默认路径下除可执行文件、帮助文件、源代码文件以外的其他文件

            -B:指定搜索可执行文件的路径

            -M:指定搜索帮助文件的路径

            -S:指定搜索源代码文件的路径

    3、locate:根据数据库查找文件

        locate是通过update程序将硬盘中的所有文件先建立一个索引数据库,在执行locate时直接找索引,查询速度快,但并非实时查找;数据库一般由操作系统管理,系统会在每天通过crontab程序来更新此数据库,也可以使用updatedb命令手动更新此数据库

        用法:

            locat [options] [pattern]...

        常用选项:

            -i:忽略大小写

            -r:使用正则表达式

            -q:不显示任何错误信息

    4、find:遍历查找

        find在目录结构中搜索文件,并执行指定的操作。find命令提供了相当多的查找条件,实时查找,功能强大,因为find是遍历查找指定目录的所有文件,所以速度慢,消耗资源,因为遍历一个大文件系统可能会花费很长的时间

        用法:

            find [PATH] [options] [expression]...

        常用选项:

            -name FILENAME:对文件名做精确匹配,支持文件名通配

            -iname FILENAME:文件名匹配时不区分大小写

            -regex PATTERN:对文件名匹配时使用正则表达式

            -user USERNAME:根据文件属主查找

            -group GROUPNAME:根据文件属组查找

            -uid UID:根据UID查找

            -gid GID:根据GID查找

            -nouser:查找没有属主的文件

            -nogroup:查找没有属组的文件

            -type:根据文件类型查找

                d:目录(directory)

                f:普通文件(file)

                c:字符设备文件(character)

                b:块设备文件(block)

                l:符号链接文件(symbolic link file)

                p:管道文件(pipe)

                s:套接字文件(socket)

            -size:根据大小查找(默认大小为字节)

                [+ | -]#:K,M,G

                    +#M:大于#M的文件

                    -#M:小于#的文件

            -mtime:根据修改时间查找

            -ctime:根据状态时间查找

            -atime:根据访问时间查找

                [+距现在几天前 | -距现在几天以内]#

            -mmin:根据分钟查找,表示有多少分钟访问过或没有访问

            -amin:根据分钟查找

            -cmin:根据分钟查找

                [+ | -]#

            -perm MODE:根据权限查找(使用8进制数字表示)

                MODE:精确匹配

                /MODE:任意一位权限匹配即符合条件

                -MODE:文件权限完全包含此MODE时才符合条件

        组合条件:

            -a:与

            -o:或

            -not:非

        后续处理:

            默认为-print:显示

            -ls:类似ls -l的形式显示文件的详细信息

            -ok Command {} \;:使用shell命令对查找到的文件做后续处理,{}引用找到的文件

            -exec Command {} \;:同-ok,-ok的每一个操作都需要用户确认,-exec不需要

            | xargs Command:从标准输出读取文件,比-ok,-exec功能强大,本身可以不适用引用符,也不需要\;结尾

本文出自 “杆儿男” 博客,请务必保留此出处http://wtime.blog.51cto.com/8829658/1537625

linux文件查找,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。