Linux - Shell - find - 进阶: 时间与大小
概述
- 继续 find
- 这次的内容, 参数稍微要 复杂那么一丢丢
背景
- 刚学会了 基础 的参数
- 现在来了解一些 时间 和 空间 的参数
- 一说到操控时间空间, 感觉立马起来了...
准备
- OS
- centos7
- 用户
- root
- OS
1. linux 文件时间戳
概述
- linux 文件时间戳回顾
时间戳
- linux 文件有 3 个时间戳
- a
- 访问, 读入内存
- c
- 修改元数据, inode 数据
- m
- 修改数据, 文件数据
- a
- linux 文件有 3 个时间戳
find 与时间
- 支持
- find 支持这三种时间, 作为约束条件
- 但是三种又 大同小异
- 所以, 我只选择 mtime 来做演示
- 支持
2. find 时间参数的一些格式
+n
- > n
- 以 时间为例, 单位是 分钟
- n = 1, 范围是 [1:00, 无穷大]
- 以 时间为例, 单位是 分钟
- > n
-n
- < n
- 以 时间为例, 单位是 分钟
- n = 1, 范围是 [0:00, 1:00]
- 以 时间为例, 单位是 分钟
- < n
n
- 精确 = n
- 也不是很精确
- 以 时间为例
- n = 1, 范围是 [0:00, 1:00]
- n = 2, 范围是 [1:00, 2:00]
- 精确 = n
其他
作用范围
- 时间
- min 类选项
- time 类选项
- 空间
- size 类选项
- 时间
区间的端点, 可能会不那么精确
- 查找的时候, 尽量不要让要找的内容, 在 时间边界 上
3. 约束: mmin, mtime
概述
- 编辑时间的约束
- 另外两个时间风格类似, 就不重复介绍了
选项
-mmin
概述
- 编辑时间过滤
- 单位是 min
作用
- 查找 最后编辑时间, 在 n 分钟的内容
-mtime
概述
- 编辑时间过滤
- 单位是 天
- 无视 时区
作用
- 查找 最后编辑时间, 在 n 天的内容
命令
# 查询 编辑时间距现在在 [1:00, 2:00] 区间内的内容
> find /etc -mmin 2
# 查询 编辑时间距现在在 [0:00, 2:00] 区间内的内容
> find /etc -mmin -2
# 查询 编辑时间距现在在 [2:00, 正无穷] 区间内的内容
> find /etc -mmin +2 # 查询 编辑时间距现在在 [1day, 2day] 区间内的内容
> find /etc -mtime 2
# 查询 编辑时间距现在在 [0day, 2day] 区间内的内容
> find /etc -mtime -2
# 查询 编辑时间距现在在 [2day, 正无穷] 区间内的内容
> find /etc -mtime +2
其他参数
- atime
- amin
- atime
- ctime
- cmin
- ctime
- atime
4. 约束: newer
概述
- 编辑时间的维度
- 这次的参数, 是另一个 参照物文件
-newer
- 作用
后面跟一个文件
- 比这个文件 更新的内容, 会被 搜索出来
疑问: 有 older 吗?
- 这个我目前没有找到...
- 作用
命令
> find /etc -newer /etc/passwd
其他参数
- atime
- anewer
- ctime
- cnewer
- atime
5. 约束: size
概述
- 文件大小相关的约束
-size
作用
- 以 文件大小作为 约束条件
单位
b
- 不是 byte
- 大小为 512 byte
- 为什么是这个奇怪的大小
- 很多硬盘的 block, 刚好也是这个大小
- 不知道是先有哪个, 反正这俩大小刚好一样
c
- byte / B
w
- 2bytes
k
- KB
M
- MB
G
- GB
我也不知道为啥
- M 以下的都要小写
常用
- ckMG 四个足矣
例子
# 查找大小为 1k 的文件
> find /etc -size 1k
# 查找大小小于 1k 的文件
> find /etc -size -1k
# 查找大小大于 1k 的文件
> find /etc -size +1k
# 这个 -/+ 上面有说, 我就不再提了
ps
ref
后续
- 文件的范围与层次
- depth
- 复合的range
- 文件的范围与层次
感觉
- 这个地方单独提出来的理由
- 上一篇讲得东西, 感觉是 最日常 的
- 这里的东西, 稍微日常一点, 而且 那个参数格式的东西, 第一次见到的话, 可能要蒙圈一下
- 我也不知道, 是不是我第一次见到的那个人, 讲得太烂...
- 下一篇可能是最后了吧
- 其实还有 exec {} \ 的内容, 但是 理解了 xargs 之后, 会发现 xargs 其实更加强大
- 所以我打算用 xargs 来处理类似的需求
- 其实还有 exec {} \ 的内容, 但是 理解了 xargs 之后, 会发现 xargs 其实更加强大
- 这个地方单独提出来的理由
Linux - Shell - find - 进阶: 时间与大小的更多相关文章
- linux shell编程进阶学习(转)
第一节:基础 ls -lh ——可以用户友好的方式看到文件大小 file 文件名 ——查看文件类型 stat 文件名 ——查看文件当前状态 man 命令/函数名 ——查看详细的帮助文档 man中看某 ...
- Linux shell脚本进阶使用
shell的循环控制语句 - continue:提前结束某次循环,重新开始下一次 - break:提前结束某层循环 范例: #求100以内的奇数和 #!/bin/bash sum=0 for i in ...
- linux shell 获取当前日期/时间
1. 当前日期 [root@Tomcat DFJR-ERP]# cur_date="`date +%Y-%m-%d`" [root@Tomcat DFJR-ERP]# echo $ ...
- linux查看文件具体时间和大小
查看具体时间 ll --full-time 查看文件大小: ll -ht 或者du -sh *
- Linux - Shell - find - 进阶: 范围
概述 继续昨天的 find 背景 还有一些 过滤条件 1. 约束: 目录层数 概述 约束目录的层级 选项 -maxdepth 作用 约束最大目录层级 相对路径 -mindepth 作用 约束最小目录层 ...
- Linux shell 获取当前时间之前N天
date +%Y%m%d --date '2 days ago' 更多资料关注:www.kootest.com ;技术交流群:182526995
- linux在shell中获取时间
linux在shell中获取时间 获得当天的日期 date +%Y-%m-%d 输出: 2011-07-28 将当前日期赋值给DATE变量DATE=$(date +%Y%m%d) 有时候我们需要使用今 ...
- linux shell脚本之-变量极速入门与进阶(1)
1,如果创建shell脚本? 使用任意文本编辑软件,一般为vim,创建.sh结尾的文件,在文件的最开头用 #!/bin/bash 注明shell的类型 如: ghostwu@dev:~/linux/s ...
- Shell初学(六)Linux Shell 时间运算以及时间差计算方法
Linux Shell 时间运算以及时间差计算方法 时间的加减,以及时间差的计算. 1. 时间加减 这里处理方法,是将基础的时间转变为时间戳,然后,需要增加或者改变时间,变成 秒. 如:1990-01 ...
随机推荐
- ASP.NET Identity系列教程-4【Identity高级技术】
https://www.cnblogs.com/r01cn/p/5194257.html 15 ASP.NET Identity高级技术 In this chapter, I finish my de ...
- git客户端的常用命令
注意:仓库只有管理员建的你才有权限上传,不然自己建的也没用,没权限上传 1.远程仓库路径查询 git remote -v 2.添加远程仓库 git remote add origin <你的项目 ...
- BZOJ3172&&lg3966 TJOI单词(广义后缀自动机)
BZOJ3172&&lg3966 TJOI单词(广义后缀自动机) 题面 自己找去 HINT 给出多个文本串,让你查找每个文本串一共出现了多少次,广义后缀自动机建出parent tree ...
- 关于Javascript闭包的理解
以下内容属个人理解,如有看不明白或漏洞之处,纯属水平不佳,还望见谅. 关于闭包,高程里的定义是:指有权访问另一个函数作用域中的变量的函数.创建闭包最常见的方法就是在一个函数的内部再创建一个函数. 这里 ...
- 常用命令 在linux下
1.拷贝某个目录及其下的所有的文件到另外一个目录 语法:cp -r <source directory name>/ <destination directory name>/ ...
- P5168 xtq玩魔塔 [克鲁斯卡尔重构树+带修莫队]
P5168 xtq玩魔塔 又是码农题- 利用克鲁斯卡尔重构树的性质 我们就可以得出 \(dep\) 值小的,肯定比 \(dep\) 大的值要优. 于是第二问就可以直接 LCA 求出来了- 至于第三问, ...
- jQuery使用ajax跨域请求获取数据
jQuery使用ajax跨域请求获取数据 跨域是我在日常面试中经常会问到的问题,这词在前端界出现的频率不低,主要原因还是由于安全限制(同源策略, 即JavaScript或Cookie只能访问同域下的 ...
- usim卡介绍
- 【C语言】两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单,a说他不和x比,c说他不和x,z比,编写程序找出三对赛手名单。
问题分析:假设a是A的对手,b是B的对手,c是C的对手,a,b,c分别是x,y,z之一,且a,b,c互不相等,同时还要满足条件a!= 'x'&&c != 'x'&&c ...
- hive创建表时报错
这是因为mysql字符集的原因.修改mysql的字符集. mysql> alter database hive character set latin1; 参考博客:https://blog.c ...