Linux上天之路(十五)之文件查找
主要内容
精确查找
模糊查找
1. 精确查找
find - search for files in a directory hierarchy 递归地在层次目录中处理文件
查找方式:
按文件属性查找
按文件类型查找
按文件大小查找
按时间查找
语法
find path -option 动作
option
- 按文件属性查找
-name 按文件名查找,区分大小写 -iname 按文件名查找,不区分大小写 -empty 查找空文件或目录 -maxdepth 查找最大深度 /第一级 /var/tmp/ 就是三级 / var tmp -mindepth 从哪个深度开始查找 /var 第二级 -perm 文件权限 比如4777 -user 文件或文件夹所有者 -uid 文件或文件夹所有者UID -group 文件或文件夹属组 -gid 文件或文件夹数组GID -nouser 没有所有者的文件或文件夹 比用用户被删了 -nogroup 没有属组的文件或文件夹 -links 文件或文件夹硬链接数量
example:
查找名为passwd的文件或文件夹 [root@baism ~]# find / -name passwd
查找名为passwd的文件或文件夹,忽略大小写 [root@baism ~]# find / -iname passwd
查找空文件或目录 [root@baism ~]# find / -empty
查找深度2层 [root@baism ~]# find / -maxdepth 3 -perm 4777 包括根三层
从第二层开始查询 [root@baism ~]# find / -mindepth 2 -perm 4777
查找所有者为baism的文件或文件夹 [root@baism ~]# find / -user baism [root@baism ~]# find / -uid 1000
查找属组为baism的文件和文件夹 [root@baism ~]# find / -group baism [root@baism ~]# find / -gid 1000
查找权限为4777的文件 [root@baism ~]# find / -perm 4777
查找没有所有者的文件 [root@baism ~]# find / -nouser
查找没有属组的文件 [root@baism ~]# find / -nogroup
找出硬链接大于2的文件 [root@baism ~]# find / -links +2 -type f
多目录查询 [root@baism ~]# find /etc /home -user baism
- 按文件类型查找
f 普通文件 d 目录文件 l 符号链接文件 b 块设备 文件 c 字符设备文件 p 管道文件 s 套接字文件 example
查找文件类型为管道文件的 [root@baism ~]# find / -type p
- 按文件大小查找
+大于
-小于
N 等于
c 字节
k KB
M MB
G GB
example
查找大于100M的文件 [root@baism ~]# find / -size +100M
查找小于1k的文件 [root@baism ~]# find / -size -1k
查找大小为0c的文件 [root@baism ~]# find / -size 0c
- 按时间查找
+n 是比 n 大, -n 是比 n 小, n 正好是 n 。 按时间(天) mtime修改时间 atime 访问时间 ctime 创建时间 找出一天以内修改过的文件 -mtime [root@baism ~]# find -mtime -1 -type f
找出一天以前修改过的文件 [root@baism ~]# find -mtime +1 -type f
找出一天以内访问过的文件 -atime [root@baism ~]# find -atime -1 -type f
找出一天以前访问过的文件 [root@baism ~]# find -atime +1 -type f
找出一天以内创建的文件 -ctime [root@baism ~]# find -ctime -1 -type f
找出一天以前创建的文件 [root@baism ~]# find -ctime +1 -type f
- 按时间(分钟)
-mmin 修改时间 -amin 访问时间
找出十分钟内访问过的文件 -amin [root@baism ~]# find / -amin -10 -type f
找出10分钟内修改过的文件 -mmin [root@baism ~]# find / -mmin -10 -type f
- 执行命令
-print 打印输出
-ls 详细列出查找文件信息 类似于ls -l
-delete 删除找到的文件
-fls /PATH/file 把查找到的所有文件的长格式信息保存至指定文件中;
-ok COMMAND {} \; 对查找到的每个文件执行由COMMAND表示的命令;每次操作都由用户进行确认;
-exec COMMAND {} \; 对查找到的每个文件执行由COMMAND表示的命令;
[root@baism ~]# find / -perm 4777 -ls
[root@baism ~]# find / -perm 4777 -delete
[root@baism ~]# find / -user baism -fls /tmp/text
[root@baism ~]# find / -perm 4777 -ok rm -rf {} \;
[root@baism ~]# find / -perm 4777 -exec rm -rf {} \;
2. 模糊查找
locate模糊匹配
locate:模糊查找命令,查找的是linux系统每天特点时间自动索引备份到系统数据库中的文件。
命令语法:locate [OPTION]… PATTERN…
-i 不区分大小写
优点:查找文件速度快
locate命令其实是“find -name”的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库(/var/lib/locatedb),这个数据库中含有本地所有文件信息。Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令查不到最新变动过的文件。
缺点:查找到的结果不是实时结果(必要时,可手动执行updatedb命令索引文件到数据库,但是相当耗时。)
为了避免这种情况,可以在使用locate之前,先使用updatedb命令,手动更新数据库。
Linux上天之路(十五)之文件查找的更多相关文章
- Linux学习总结(十五)文件查找 which whereis locate find
which命令 用于查找并显示给定命令的绝对路径,环境变量PATH中保存了查找命令时需要遍历的目录.which指令会在环境变量$PATH设置的目录里查找符合条件的文件.也就是说,使用which命令,就 ...
- Linux上天之路(五)之Linux基本命令
1. Linux命令格式 命令 命令选项 学会看语法: {必选项}[可选项] 举例 ls -a /tmp 等价 ls –all /tmp ls 命令 -a 命令选项 简写使用- 全写-- /tmp 参 ...
- Linux上天之路系列目录
Linux上天之路系列目录 Linux上天之路(一)之Linux前世今生 Linux上天之路(二)之Linux安装 Linux上天之路(三)之Linux系统目录 Linux上天之路(四)之Linux界 ...
- JAVA之旅(二十五)——文件复制,字符流的缓冲区,BufferedWriter,BufferedReader,通过缓冲区复制文件,readLine工作原理,自定义readLine
JAVA之旅(二十五)--文件复制,字符流的缓冲区,BufferedWriter,BufferedReader,通过缓冲区复制文件,readLine工作原理,自定义readLine 我们继续IO上个篇 ...
- Linux上天之路(九)之文件和文件夹的权限
主要内容 linux 基本权限 linux特殊权限 linux隐藏权限 linux file ACL 权限 1. Linux的基本权限 使用ls -l filename 命令查看文件或文件夹详细权限 ...
- Linux学习之CentOS(十五)----磁盘管理之 启动挂载(转)
启动挂载 /etc/fstab 及 /etc/mtab 刚刚上面说了许多,那么可不可以在启动的时候就将我要的文件系统都挂好呢?这样我就不需要每次进入 Linux 系统都还要在挂载一次呀!当然可以啰!那 ...
- Linux上天之路(八)之用户和组
主要内容. 用户创建,删除,修改 密码及密码文件 组创建,删除,修改 组密码及组配置文件 相关文件 Linux用户分类 超级管理员: UID为0 root用户拥有至高无上的命令,root用户不能改名 ...
- Linux上天之路(十)之Linux磁盘管理
主要内容 磁盘介绍 磁盘管理 磁盘限额 逻辑卷管理 磁盘阵列 1. 磁盘介绍 硬盘最基本的组成部分是由坚硬金属材料制成的涂以磁性介质的盘片,不同容量硬盘的盘片数不等.每个盘片有两面,都可记录信息.盘片 ...
- Linux上天之路(十二)之服务管理
主要内容 服务介绍 独立服务 非独立服务 1. 服务介绍 服务:常驻在内存中的程序,且可以提供一些系统或网络功能,那就是服务. 计算机中的系统服务有很多,比如: apache提供web服务 ftp提供 ...
随机推荐
- C# 使用管理员权限运行程序
最近在开发OPCServer组件过程中,在注册opcServer是总是返回false,后来查找原因得知在本地主机注册opcServer时,需要使用管理员权限. OPCServer在一台机器上部署时只需 ...
- mysql中索引,触发器,事务,存储引擎的理解
网址:http://blog.51cto.com/760470897/1790460
- DevOps的分与合
一.抽象的 DevOps DevOps 是使软件开发和 IT 团队之间的流程自动化的一组实践,以便他们可以更快,更可靠地构建,测试和发布软件.DevOps 的概念建立在建立团队之间协作文化的基础上,这 ...
- 关于某 App 请求参数 sign 字段加密分析
受害者: 6ZqG5LyX5pWw5o2u 通过 Charles 抓包发现关键信息请求均携带 sign 参数,且每次请求的值都不一样: 使用 jadx 将对应的 apk 反编译并分析,全局搜素 &qu ...
- 解决Vulnhub靶机分配不到IP问题
没法找到他的 ip,可能是网卡配置问题 (之前打开 .ova 文件默认联网方式是桥接,改成NAT) 在开机选择的时候,摁 e 编辑一下 把 ro 改成 rw single init=/bin/bash ...
- 实体转为json的,如何处理外键情况
实体转为json的,如何处理外键情况 jc.registerJsonValueProcessor(Userrelation.class, new JsonValueProcessor() {// 此处 ...
- 当更新user表时,页面没有的属性,执行update语句不会更改以前的值
当更新user表时,页面没有的属性,执行update语句不会更改数据库表的值.不会用NULL值去填充
- 『学了就忘』Linux日志管理 — 90、Linux中日志介绍
目录 1.日志相关服务 2.系统中常见的日志文件 1.日志相关服务 在CentOS 6.x中日志服务已经由rsyslogd取代了原先的syslogd服务.RedHat认为syslogd已经不能满足在工 ...
- 给初学者的STM32(Cortex-M3)中断原理及编程方法介绍 [原创www.cnblogs.com/helesheng]
本人编著的<基于STM32的嵌入式系统原理及应用>(ISBN:9787030697974)刚刚在科学出版社出版.这本书花费了半年以上的时间,凝聚了笔者作为高校教师和嵌入式工程师的一些经验, ...
- windows修改控制台编码
1.关于 演示环境: win10 1909 2.代码定义 编码代码 释义 65001 UTF-8代码页 950 繁体中文 936 简体中文默认的GBK 437 MS-DOS 美国英语 3.注册表修改 ...