1.文件的时间的概念
创建时间
修改时间
访问时间
使用stat命令获取文件的时间信息
[root@tdr ~]# stat /opt/d.txt
文件:"/opt/d.txt"
大小:0 块:0 IO 块:4096 普通空文件
设备:fd00h/64768d Inode:33868148 硬链接:1
权限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root)
环境:unconfined_u:object_r:usr_t:s0
最近访问:2024-07-15 09:35:15.545991127 +0800
最近更改:2024-07-13 00:00:00.000000000 +0800
最近改动:2024-07-15 09:35:15.545991127 +0800
创建时间:-
2.案例:创建文件,并配置文件的修改时间
语法 touch -m -d ⽇期时间格式 ⽂件名称
⽂件不存在就创建并修改时间
⽂件存在只配置最后修改时间
[root@tdr ~]# touch /opt/b.txt -m -d "2024-7-14 00:00"
[root@tdr ~]# touch /opt/c.txt -m -d "2024-7-11 00:00"
[root@tdr ~]# touch /opt/d.txt -m -d "2024-7-13 00:00"
[root@tdr ~]# ls -l /opt/
-rw-r--r--. 1 root root 251 7月 8 10:51 applicaiton.perperties
-rw-r--r--. 1 root root 0 7月 14 00:00 b.txt
-rw-r--r--. 1 root root 0 7月 11 00:00 c.txt
-rw-r--r--. 1 root root 0 7月 13 00:00 d.txt
[root@tdr ~]# touch /opt/c.txt -m -d "2024-7-1 00:00"
[root@tdr ~]# ls -l /opt/
-rw-r--r--. 1 root root 0 7月 1 00:00 c.txt
3.使用find按时间搜索,找到旧的文件并删除
find ⽂件路径 -mtime +days/-days
-mtime 根据⽂件最后修改时间搜索⽂件
+号 搜索⼏天之前的⽂件信息
-号 搜索⼏天之内的⽂件信息
[root@localhost ~]# find a -mtime +3 找到·修改时间在三天之前的文件
a/b
a/c
[root@localhost ~]# find a -mtime -3 找到修改时间在三天之内的文件
a
a/a.a
想要删除三天之前的文件
方法一:[root@localhost ~]# find a -mtime +3 | xargs rm -rf
[root@localhost ~]# ls -l a
-rw-r--r--. 1 root root 0 7月 15 17:36 a.a
把b,c文件再次创建回来进行方法二的测试
方法二:[root@localhost ~]# find a -mtime +3 -exec rm -rf {} \;
[root@localhost ~]# ls -l a
-rw-r--r--. 1 root root 0 7月 15 17:36 a.a
# 查找三天以前的⽂件
[root@localhost opt]# find /opt/ -name "*.txt" -type f -mtime +3
/opt/e.txt
# 使⽤-exec ⽂件调⽤rm函数 {}表示前⾯find查到的内容 \;表示标识符
# 这⾥在{}后⾯没有打空格报错了,在{}后应该打空格
[root@localhost opt]# find /opt/ -name "*.txt" -type f -mtime +3 -exec rm -rf {}\;
find: 遗漏“-exec”的参数
[root@localhost opt]# find /opt/ -name "*.txt" -type f -mtime +3 -exec rm -rf {} \;
总⽤量 0
-rw-r--r--. 1 root root 0 7⽉ 14 13:54 a.txt
-rw-r--r--. 1 root root 0 7⽉ 13 00:00 b.txt
-rw-r--r--. 1 root root 0 7⽉ 12 00:00 c.txt
-rw-r--r--. 1 root root 0 7⽉ 11 00:00 d.txt
4.根据⽂件size⼤⼩搜索⽂件
find 路径 -size ⽂件⼤⼩ [常⽤单位 k M G]
size值 搜索等于size的⽂件
-size值 (0,size值)
+size值 (size值,正⽆穷)
[root@tdr ~]# find / -size +100M //搜索大于100M的,隐藏文件也会找出来
[root@tdr ~]# find / -size -100M //小于100M的
[root@tdr ~]# find / -size 100M //等于100M的
扩展命令dd
[root@tdr ~]# dd if=/dev/zero of=/opt/a.txt bs=1M count=1
if表示输⼊⽂件
of表示输出⽂件
bs代表字节为单位的块⼤⼩
count代表被复制的块
其中/dev/zero是⼀个字符设备,会不断地返回0字节的⽂件
> 覆盖 >> 追加
5.tree
创建⽂件列表,将⽂件名称以树的形式展示
需要使⽤yum指令进⾏安装
yum -y instal tree
用法:tree [文件路径]
6.scp
scp要求两台主机的系统都是linux系统
使⽤scp下载⽂件和⽬录
语法:scp [选项] ⽤户名@linux主机地址:/资源路径 linux本地⽂件路径
在克隆机上使⽤scp指令复制⽬录到本地opt⽬录,需要添加-r选项
7.计划任务和tar结合实现文件备份
编写计划任务
crontab 分时⽇⽉周 要使⽤的完整路径 which命令
[root@tdr ~]# crontab -l //list查看当前用户的计划任务信息
[root@tdr ~]# crontab -e //edit编写计划任务
*/1 * * * * /usr/bin/ls /opt/ >> /root/list //每分钟执行一次
49 * * * * /usr/bin/echo "我是你爸爸" > /root/echo.txt //每小时的49分执行一次
*/2 * * * * /usr/bin/tar -zcvf /tmp/etc.tar.gz /etc/
*/1 * * * * /usr/bin/tar -zcvf /tmp/etc_$(date "+\%Y\%m\%d\%H\%M\%S").tar.gz /etc/ //添加时间因素,在脚本中出现%,必须使用转义符\
案例 每分钟将/etc⽬录下的⽂件打包保存在tmp⽬录中
1.找到tar指令的which位置
[root@tdr /]# which tar
/usr/bin/tar
2.编写计划任务
[root@tdr ~]# crontab -e
*/1 * * * * /usr/bin/tar -zcvf /tmp/etc.tar.gz /etc/
3.以上的任务会覆盖前⾯的⽂件,需要在指令中添加时间因素
*/1 * * * * /usr/bin/tar -zcvf /tmp/etc-$(date "+\%Y\%m\%d\%H\%M\%S").tar.gz /etc
4.查看备份文件
[root@tdr ~]# ls -l /tmp/
-rw-r--r--. 1 root root 9811981 7月 15 15:15 etc_20240715151501.tar.gz
-rw-r--r--. 1 root root 9811981 7月 15 15:16 etc_20240715151602.tar.gz
-rw-r--r--. 1 root root 9811981 7月 15 15:17 etc_20240715151701.tar.gz
-rw-r--r--. 1 root root 9811981 7月 15 15:18 etc_20240715151801.tar.gz
-rw-r--r--. 1 root root 9811981 7月 15 15:19 etc_20240715151901.tar.gz
-rw-r--r--. 1 root root 9811981 7月 15 15:20 etc_20240715152001.tar.gz
-rw-r--r--. 1 root root 9811981 7月 15 15:21 etc_20240715152101.tar.gz
# 输出时间
[root@localhost ~]# date "+%T"
17:24:56
#输出⽇期和时间
[root@localhost ~]# date "+%F%T"
2024-07-1417:25:03
#在⽇期和时间中添加间隔
[root@localhost ~]# date "+%F-%T"
2024-07-14-17:25:11
[root@localhost ~]# date "+%F %T"
2024-07-14 17:25:15
[root@localhost ~]# date "+%F_%T"
2024-07-14_17:25:29
# 输出年
[root@localhost ~]# date "+%Y"
2024
# 输出年⽉⽇
[root@localhost ~]# date "+%Y%m%d"
20240714
# 输出年⽉⽇时分秒
[root@localhost ~]# date "+%Y%m%d%H%M%S"
20240714172653
标签:00,rw,15,--,用法,命令,Linux,txt,root From: https://blog.csdn.net/m0_70848838/article/details/140440403