Linux下的文件搜索、查找、查看

Linux下的文件搜索、查找、查看
最新回答
丶小嘴灬乱亲

2020-12-21 10:20:58

Linux下的文件搜索、查找、查看:



一、搜索命令:find用于查找各种文件的命令




  • 根据文件或目录名称搜索:find [搜索目录] [-name/-iname] [搜索字符]



    • -name和-iname区别在于区分大小写;[*a]以a结尾的文件;[a???] "?"代表单个字符

    • 示例:find /etc -name init, find /etc -iname init, find /etc -name *init, find /etc -name init???



  • 根据文件大小搜索:在根目录下查找大于100M的文件



    • eg:find / -size +100M

    • 单位:M、k, find / -size -10,则单位为数据块:1数据块 = 0.5Kb, find / -size -5k 查找 在[0,4k]范围的文件



  • 根据所有者和所属组搜索:find / -group root, find / -user root



  • 根据时间属性搜索:find [路径] [选项] [时间]



    • 选项有三种:-amin 访问时间, -cmin 文件属性被更改, -mmin 文件内容被修改

    • 时间:+n,-n,n分别表示超过n分钟,n分钟以内,n分钟

    • eg:在 /etc 目录下查找5分钟内被修改过属性的文件和目录



  • 根据文件类型或节点搜索:-type根据文件类型查找:f普通文件、d目录文件、l符号连接文件、s套接字文件、c字符设备文件、d块设备文件、p管道文件;eg: find /home -type d;-inum 根据i节点查找;eg:查找 /tmp 目录下i节点为400342的文件或目录




  • 组合条件搜索:-a (and)表示两个条件都满足, -o(or)表示只满足其一即可



    • eg:1、查找 /etc 目录下大于80M同时小于100M的文件;2、查找 /etc 目录下大于80M且以i结尾的文件





  • 二、在文件中查找文件:locate在文件资料库中搜索文件




    • locate [文件名] -i不区分大小写

    • 注意:find是全盘检索;locate是在文件资料库中搜索;新文件需要在更新文件资料库后才能搜索到;使用updatedb更新资料库,/tmp目录不属于文件资料库的收录范围。



    三、搜索命令所在的目录及别名信息:which




    • 功能描述:搜索命令所在的目录及别名信息

    • eg: which ls



    四、搜索命令所在的目录及帮助文档路径:whereis




    • eg: whereis ls



    五、在文件中搜索字符串匹配的行并输出:grep




    • grep -iv [指定字符串] [文件]

    • -i不区分大小写, -v排除指定字符串

    • eg:查找 /root/install.log 文件中包含的mysql字符串的行,并输出



    六、查看文件内容有多少字符多少行多少字节:wc




    • wc [选项] [文件]

    • 参数:-l 显示行数, -w显示单词数, -c显示字节数



    七、排序文件内容:sort




    • eg:sort -b h.txt



    总结:通过find、locate、which、grep、wc和sort命令,可以实现对Linux系统文件的高效搜索、查找、查看与管理,实现系统管理与维护的便捷性。