Linux常用查找文件方法
一、which命令
查找类型:二进制文件;
检索范围:PATH环境变量里面指定的路径中查找;
描述:快速返回某个指定命令的位置信息。
优点:查找速度快
缺点:仅支持二进制文件
例:
二、whereis命令
查找类型:二进制文件,man帮助文件,及源代码文件;
检索范围:/usr目录
描述: 快速返回某个指定命令的位置信息,及其man文件和源代码文件的位置信息(如果存在的话)。
也可以通过参数指定返回某一类查找结果:
-b: 仅查找二进制文件;
-m: 仅查找man帮助文件;
-s: 仅查找源代码文件;
优点:查找速度快
缺点:查找文件类型及范围均有限
例:
三、locate命令
查找类型:所有文件;
检索范围:locatedb数据库;
描述:locate是Linux系统提供的一种快速检索全局文件的系统命令,它并不是真的去检索所以系统目录,而是检索一个数据库文件locatedb(Ubuntu系置/var/cache/locate/locatedb),该数据库文件包含了系统所有文件的路径索引信息,所以查找速度很快。
Linux系统动创建这个数据库,并且每天动更新次,所以对于新变动的文件(如新安装或新拷贝)使locate命令是查不到的。为了避免这种情况,可以在使locate命令之前,先执行一下"sudo updatedb"命令来手动更新数据库。
优点:查找速度快,且支持所有文件类型
缺点:不支持新变动的文件检索,需要手动更新数据库(执行 updatedb 命令 )
例:
四、find命令
查找类型:所有文件;
检索范围:指定路径;
描述:find命令是Linux最强大的查找命令,参数多,用法丰富。
基本用法: find <检索路径> <选项> <搜索内容>
优点:功能强大,且支持组合命令;
缺点:如果指定的检索路径层级复杂,则检索速度较慢
下面是几种用法实例:
1.基础打印操作
find命令默认接的命令是-print,它默认以\n将找到的文件分隔。可以使用-print0来使用\0分隔,这样就不会分行了。但是一定要注意,-print0针对的是\n转\0,如果查找的文件名本身就含有空格,则find后-print0仍然会显示空格文件。所以-print0实现的是\n转\0的标记,可以使用其他工具将\0标记替换掉,如xargs,tr等。
注意:如果find命令后没有加命令,那么find查找当前所在的目录进行查找。
2.指定完整的文件名称,也可以使用通配符(正则)进行模糊查找。
默认情况下,该find命令搜索常规文件,但最好指定它以使所有内容更清晰:
常用的两个是-name和-path。
-name可以对文件的basename进行匹配,
-path可以对文件的dirname+basename。查找的文件名最好使用引号包围,可以配合通配符进行查找。find *.pdf #搜索范围 当前目录(不递归)
find -name "*.pdf" #当前面有参数-name时,后边一定带“ ”。#搜索范围:对当前目录下所有目录递归搜索
注意:但不能在-name的模式中使用”/“,除非文件名中包含了字符”/“,否则将匹配不到任何东西,因为-name只对basename(基础文件名)进行匹配。
3.根据目录深度搜索
#-maxdepth 和 -mindepth选项可以限制find命令遍历的目录深度
find -maxdepth 2 -mindepth 1 -name "*.pdf"
4.指定文件类型进行查找:
-type d: 查找目录;
-type f: 查找普通文件;
-type l: 查找软链接文件;
一般需要搜索的文件类型就只有普通文件(f),目录(d),链接文件(l)。
5.按特定时间戳查找文件
类unix系统中每个文件都有三种时间戳
访问时间(-atime、-amin):用户最近一次访问文件的时间。
修改时间(-mtime、-mmin):文件最后一次被修改的时间。
元数据更改时间(-ctime、-cmin) :文件权限、所有权等最后一次被修改的时间。
time结尾的选项,其单位为天,min结尾的选项其单位为分钟,这些选项的值都为一个正负整数, 如+7,表示,7天以前被访问过的文件,-7表示7天以内被访问过的文件,7表示恰好7天前被访问的文件。
#要搜索atime一年多以前的文件,我们可以编写如下命令:
find . -type f -atime +365#如果我们需要查找mtime恰好是5天前的文件,请不要包含+,因为它的意思是“大于”。
find . -type f -mtime 5#显然,+“大于” -“小于”。所以我们可以搜索ctime5 到 10 天前的文件:
find . -type f -ctime +5 -ctime -10
6.按大小查找文件
#-size选项使我们能够按特定大小查找文件。我们可以将其度量单位指定为以下约定:b: 512 字节(默认)
c: 字节
w: 两字节字
k: 千字节
M: 兆字节
G: 千兆字节#类似于按时间戳查找文件,+意思是“大于”和-“小于”。例如,要查找大小在 10 MB 和 1 GB 之间的文件:find . -type f -size +10M -size -1G
7.按权限或所有权查找文件
#-perm选项find可以帮助我们按特定权限搜索文件:
#如:搜索所有具有 777(读、写、执行)权限的文件
find . -type f -perm 777
# 打印用户www拥有的文件
find -type f -user www
8.找到文件并执行命令
find . -type f -atime +365 -exec rm -rf {} \;#上面的-exec选项后面的命令是rm -rf,用于删除文件。{}是查找结果的占位符。#注意:占位符{}非常重要,尤其是在您想删除文件时。因为如果您不使用它,该命令将针对所有文件而不是您刚刚通过该find命令找到的文件执行。
# 结尾 \; 也很重要 命令-exec必须以分号结束 "\"表示转义
Linux常用查找文件方法相关推荐
- Linux下查找文件方法
1.查找系统中最大目录并排序:du -h --max-depth=1 | sort -n 2.查找当前目录文件大于800M:find . -type f -size +800M 3.查找到大文件之后做 ...
- linux 文件 查找内容替换,linux递归查找文件内容并替换
sed -i 's/原字符串/替换后字符串/g' `grep '搜索关键字' -rl /data/目标目录/ --include "*.html"` 上面是递归查找目录中所有的HT ...
- linux中查找文件属于那个软件包的方法
一.linux中查找文件属于那个软件包的方法 [root@salt prod]# whereis htpasswd htpasswd: /usr/bin/htpasswd /usr/share/man ...
- 在Linux中怎样搜索链接文件,如何使用find命令在Linux中查找文件
原标题:如何使用find命令在Linux中查找文件 Linux Find命令是Linux系统管理员工具库中最强大的工具之一. Find是一个命令行实用程序,它允许您根据用户给定的表达式搜索目录层次结构 ...
- linux文件太多了如何快速搜索,【收藏】linux快速查找文件的技巧
原标题:[收藏]linux快速查找文件的技巧 谢谢打开这篇文章的每个你 ···设为星标 有时候,我们需要在系统中查找文件,Linux有一个非常优秀的搜寻系统. 一般提到搜寻文件的时候,很多人第一反应是 ...
- linux find 查找文件
每一种操作系统都是由成千上万个不同种类的文件所组成的.其中有系统本身自带的文件,用户自己的文件,还有共享文件等等.我们有时候经常忘记某份文件放在硬盘中的哪个地方.在微软的WINDOWS操作系统中要查找 ...
- linux下查找文件及内容 grep
每一种操作系统都是由成千上万个不同种类的文件所组成的.其中有系统本身自带的文件,用户自己的文件,还有共享文件等等.我们有时候经常忘记某份文件放在硬盘中的哪个地方. 在微软的Windows操作系统中要查 ...
- Linux 常用命令使用方法
Linux 常用命令使用方法 1.# 表示权限用户(如:root),$ 表示普通用户 开机提示:Login:输入用户名 password:输入口令 用户是系统注册用户成功登陆后,可以进入相应的 ...
- linux常用高级命令,Linux常用高级文件操作命令
Linux常用高级文件操作命令 cat 查看文本#cat 文件名 打印文件内容到当前屏幕上#cat -n 文件名 显示行号#cat gt; Linux常用高级文件操作命令 cat 查看文本 #cat ...
最新文章
- Java中实现六种图像处理的效果(灰度化、马赛克效果、去背景实现、珠纹化实现、黑白版画效果、油画效果)
- 2018-11-02 在代码中进行中文命名实践的短期目标
- 很装b那种cmd命令_简单电脑CMD命令
- MySQL学习(二)
- centos6.5建立cloudera-cdh4.6本地源
- 邻居家小孩来问WiFi密码,告诉后邻居家竟然几部手机电视全用上,该怎么办?
- 〖Linux〗Ubuntu13.10搭建文件共享Samba服务器
- 计算机网络放大器的作用,运算放大器工作原理是什么?
- Tarjan求强连通分量
- 4 HQL操作之 -- DDL命令
- 获得Windows主机的主机序列号
- Linux实现ISCSI共享设备
- 如何理解卷积:信号处理、图像处理中的应用
- QT QColor颜色选择器并获取rgb值
- 初中计算机考试wps文字,初中信息技术WPS表格测试题
- python+openpyxl报KeyError: “There is no item named ‘[].xml‘ in the archive“
- GB28181国标流媒体服务中设备目录查询步骤及信令示例
- 华为手机怎样才算激活了_华为手机开机激活,华为智能手机怎么激活?
- 第九届蓝桥杯省赛JAVA语言 C组题解_题7 缩位求和
- 推荐系统(3)—基于标签的推荐系统(Python)