Linux下的文件搜索、查找、查看
发布网友
发布时间:2024-09-06 06:01
我来回答
共1个回答
热心网友
时间:2024-09-07 22:50
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系统文件的高效搜索、查找、查看与管理,实现系统管理与维护的便捷性。