在Linux中使用命令查找文件
Linux系统中有许多命令可以帮助我们查找文件,本文将介绍一些常用的命令及其使用方法。
find命令
1、基本语法
find [搜索路径] [选项] [表达式]
2、常用选项
-name:按文件名查找
-iname:按文件名查找,忽略大小写
-type:按文件类型查找,如f表示普通文件,d表示目录
-mtime:按文件修改时间查找,如-mtime +10表示查找10天前修改过的文件
-size:按文件大小查找,如-size +1M表示查找大于1M的文件
-exec:对查找到的文件执行指定命令
3、实例演示
在/home目录下查找名为test.txt的文件:
find /home -name test.txt
在/home目录下查找最近10天内修改过的文件:
find /home -mtime +10
在/home目录下查找大于1M的文件并删除:
find /home -size +1M -exec rm {} ;
locate命令
1、基本语法
locate [选项] [表达式]
2、常用选项
-i:忽略大小写
-c:清除缓存
-v:显示详细信息
-r:递归搜索子目录
3、实例演示
查找名为test.txt的文件:
locate test.txt
查找包含test的文件:
locate "*test*"
grep命令(配合find命令使用)
1、基本语法
grep [选项] [表达式] [文件或目录]
2、常用选项
-i:忽略大小写
-n:显示行号
-r:递归搜索子目录
-l:仅显示包含匹配内容的文件名,不显示具体内容(类似于ls命令的输出)
-v:显示不包含匹配内容的行(相当于grep -v)
-E:使用扩展正则表达式(支持多种正则表达式语法)
3、实例演示(结合find命令)在/home目录下查找包含test的文件:
find /home -type f | xargs grep -i "test" > result.txt && cat result.txt || echo "未找到相关文件" > result.txt && cat result.txt && exit 0; find $HOME -name "*.log" | xargs grep "error" >> result.txt && cat result.txt && exit 0; find $HOME -name "*.tmp" | xargs grep "error" >> result.txt && cat result.txt && exit 0; find $HOME -name "*.bak" | xargs grep "error" >> result.txt && cat result.txt && exit 0; find $HOME -name "*.swp" | xargs grep "error" >> result.txt && cat result.txt && exit 0; find $HOME -name "*~" | xargs grep "error" >> result.txt && cat result.txt && exit 0; find $HOME -name "*.old" | xargs grep "error" >> result.txt && cat result.txt && exit 0; find $HOME -name "*.bak" | xargs grep "error" >> result.txt && cat result.txt && exit 0; find $HOME -name "*.swp" | xargs grep "error" >> result.txt && cat result.txt && exit 0; find $HOME -name "*~" | xargs grep "error" >> result.txt && cat result.txt && exit 0; find $HOME -name "*.old" | xargs grep "error" >> result.txt && cat result.txt && exit 0; find $HOME -name "*.bak" | xargs grep "error" >> result.txt && cat result.txt && exit 0; find $HOME -name "*.swp" | xargs grep "error" >> result.txt && cat result.txt && exit 0; find $HOME -name "*~" | xargs grep "error" >> result.txt && cat result.txt && exit 0; find $HOME -name "*.old" | xargs grep "error" >> result.txt && cat result.txt && exit 0; find $HOME -name "*.bak" | xargs grep "error" >> result.txt && cat result.txt && exit 0; find $HOME -name "*.swp" | xargs grep "error" >> result.txt && cat result.txt && exit 0; find $HOME -name "*~" | xargs grep "error" >> result.txt && cat result.txt && exit 0; find $HOME -name "*.old" | xargs grep "error" >> result.txt && cat result
原创文章,作者:酷盾叔,如若转载,请注明出处:https://www.kdun.com/ask/123139.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复