一、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常用查找文件方法相关推荐

  1. Linux下查找文件方法

    1.查找系统中最大目录并排序:du -h --max-depth=1 | sort -n 2.查找当前目录文件大于800M:find . -type f -size +800M 3.查找到大文件之后做 ...

  2. linux 文件 查找内容替换,linux递归查找文件内容并替换

    sed -i 's/原字符串/替换后字符串/g' `grep '搜索关键字' -rl /data/目标目录/ --include "*.html"` 上面是递归查找目录中所有的HT ...

  3. linux中查找文件属于那个软件包的方法

    一.linux中查找文件属于那个软件包的方法 [root@salt prod]# whereis htpasswd htpasswd: /usr/bin/htpasswd /usr/share/man ...

  4. 在Linux中怎样搜索链接文件,如何使用find命令在Linux中查找文件

    原标题:如何使用find命令在Linux中查找文件 Linux Find命令是Linux系统管理员工具库中最强大的工具之一. Find是一个命令行实用程序,它允许您根据用户给定的表达式搜索目录层次结构 ...

  5. linux文件太多了如何快速搜索,【收藏】linux快速查找文件的技巧

    原标题:[收藏]linux快速查找文件的技巧 谢谢打开这篇文章的每个你 ···设为星标 有时候,我们需要在系统中查找文件,Linux有一个非常优秀的搜寻系统. 一般提到搜寻文件的时候,很多人第一反应是 ...

  6. linux find 查找文件

    每一种操作系统都是由成千上万个不同种类的文件所组成的.其中有系统本身自带的文件,用户自己的文件,还有共享文件等等.我们有时候经常忘记某份文件放在硬盘中的哪个地方.在微软的WINDOWS操作系统中要查找 ...

  7. linux下查找文件及内容 grep

    每一种操作系统都是由成千上万个不同种类的文件所组成的.其中有系统本身自带的文件,用户自己的文件,还有共享文件等等.我们有时候经常忘记某份文件放在硬盘中的哪个地方. 在微软的Windows操作系统中要查 ...

  8. Linux 常用命令使用方法

    Linux 常用命令使用方法 1.# 表示权限用户(如:root),$ 表示普通用户  开机提示:Login:输入用户名  password:输入口令   用户是系统注册用户成功登陆后,可以进入相应的 ...

  9. linux常用高级命令,Linux常用高级文件操作命令

    Linux常用高级文件操作命令 cat 查看文本#cat 文件名 打印文件内容到当前屏幕上#cat -n 文件名 显示行号#cat gt; Linux常用高级文件操作命令 cat 查看文本 #cat  ...

最新文章

  1. Java中实现六种图像处理的效果(灰度化、马赛克效果、去背景实现、珠纹化实现、黑白版画效果、油画效果)
  2. 2018-11-02 在代码中进行中文命名实践的短期目标
  3. 很装b那种cmd命令_简单电脑CMD命令
  4. MySQL学习(二)
  5. centos6.5建立cloudera-cdh4.6本地源
  6. 邻居家小孩来问WiFi密码,告诉后邻居家竟然几部手机电视全用上,该怎么办?
  7. 〖Linux〗Ubuntu13.10搭建文件共享Samba服务器
  8. 计算机网络放大器的作用,运算放大器工作原理是什么?
  9. Tarjan求强连通分量
  10. 4 HQL操作之 -- DDL命令
  11. 获得Windows主机的主机序列号
  12. Linux实现ISCSI共享设备
  13. 如何理解卷积:信号处理、图像处理中的应用
  14. QT QColor颜色选择器并获取rgb值
  15. 初中计算机考试wps文字,初中信息技术WPS表格测试题
  16. python+openpyxl报KeyError: “There is no item named ‘[].xml‘ in the archive“
  17. GB28181国标流媒体服务中设备目录查询步骤及信令示例
  18. 华为手机怎样才算激活了_华为手机开机激活,华为智能手机怎么激活?
  19. 第九届蓝桥杯省赛JAVA语言 C组题解_题7 缩位求和
  20. 推荐系统(3)—基于标签的推荐系统(Python)

热门文章

  1. HDU-2571 命运
  2. Jquery一个简单的点赞效果,实现点赞数+1
  3. Matplotlib 画图:如何用python 画一条直线
  4. 互联网创意APP,灵感创意,金点子,all
  5. c语言实现图片拼接(linux)
  6. 仿余额宝动态数字显示收益
  7. springboot企业信誉制度管理系统vue+elementui
  8. CreateFile函数介绍
  9. 个人和企事业单位都免费的office软件真的有吗?
  10. 我的Python心路历程 第十期 (10.2 通达信股票day数据转化为csv)