Linux中文件的搜索,修改时间,查找删除及计划任务

find指令


主要进行文件搜索
2.基本语法
find 【文件路径】【选项  选项的值】
-name*
-type f|d
常见的选项
-name    根据文件的名称搜索文件,支持通配符*(*文件:以文件结尾;文件*以文件开头)
在linux系统中,要查找的文件名不清晰,可以使用“文件名+*”搜索
-type f   代表普通文件,d代表目录

找到gym文件
[root@gym ~]# find / -name "gym"
/var/spool/mail/gym
/home/gym
[root@gym ~]# find / -name "gym" -type f
/var/spool/mail/gym

文件的时间概念


window中的时间
1.创建时间
2.修改时间
3.访问时间
[root@gym ~]# stat /opt/gym.abc 
  文件:"/opt/gym.abc"
  大小:0             块:0          IO 块:4096   普通空文件
设备:fd00h/64768d    Inode:19229166    硬链接:1
权限:(0644/-rw-r--r--)  Uid:(    0/    root)   Gid:(    0/    root)
环境:unconfined_u:object_r:usr_t:s0
最近访问:2024-07-15 09:28:29.164925319 +0800
最近更改:2024-07-15 09:28:29.164925319 +0800
最近改动:2024-07-15 09:28:29.164925319 +0800
创建时间:-

创建文件,并且配置文件的修改时间
语法:touch -m -d 日期时间格式 文件名称
[root@gym ~]# touch /opt/b.txt -m -d "2024-7-14 00:00"
[root@gym ~]# ls -l /opt/
-rw-r--r--. 1 root root       0 7月  15 09:33 a.txt
-rw-r--r--. 1 root root       0 7月  14 00:00 b.txt

touch创建文件,没有文件就新建,有文件就修改
touch  文件名称  -m -d “日期时间格式”
[root@gym ~]# touch /opt/f.txt
[root@gym ~]# ls -l /opt/
-rw-r--r--. 1 root root       0 7月  15 09:38 f.txt
[root@gym ~]# touch /opt/f.txt -m -d "2024-7-10 "00:00""
[root@gym ~]# ls -l /opt/
-rw-r--r--. 1 root root       0 7月  10 00:00 f.txt

通过文件的最后修改时间搜索文件
语法:find 文件路径 -mtime +day/-days
使用find按时间搜索,找到就得文件删掉
[root@gym ~]# find /opt/ -mtime +3    查找三天以外
/opt/e.txt
/opt/f.txt
[root@gym ~]# find /opt/ -mtime -3    查找三天以内
/opt/
/opt/gym.abc
/opt/a.txt
/opt/b.txt
/opt/c.txt

查找并删除


永久删除三天前文件
[root@gym ~]# find /opt/ -mtime +3|xargs rm -rf     
find -exec对查找到的结果进行修改
[root@gym ~]# find /opt/-mtime +3 -exec rm -rf {} \;

[root@web1 ~]# touch /opt/a.txt
[root@web1 ~]# ls -l > /opt/a.txt //覆盖
[root@web1 ~]# vim /opt/a.txt 
[root@web1 ~]# ls -l >> /opt/a.txt //追加
[root@web1 ~]# vim /opt/a.txt

根据文件大小size进行搜索

find 路径 -size 文件大小 [常用单位 k M G]
size值 搜索等于size的文件
-size值 【0,size值)
+size值 (size值,正无穷)
扩展命令 dd
使用dd创建扩展命令
生成指定大小的测试文件
语法
dd if=/dev/zero of=文件名称 bs=1M count=1
if表示输入文件
of表示输出文件
bs代表字节为单位的块大小
count代表被复制的块
其中/dev/zore是一个字符设备,会不断地返回0字节的文件

搜索文件>100M
[root@gym ~]# find / -size +100M
搜索文件<100    M
[root@gym ~]# find / -size -100M

清空opt目录下所有文件
[root@gym ~]# rm -rf /opt/*
[root@gym ~]# ls /opt/

创建1M的文件
[root@gym ~]# dd if=/dev/zore of=/opt/a.txt bs=1M count=1
dd: 打开"/dev/zore" 失败: 没有那个文件或目录
[root@gym ~]# dd if=/dev/zero of=/opt/a.txt bs=1M count=1
记录了1+0 的读入
记录了1+0 的写出
1048576字节(1.0 MB)已复制,0.00660752 秒,159 MB/秒


tree指令


创建文件列表,将文件名以树的形式展示,让我们的目录更加有层级
[root@gym ~]# tree /etc/


scp上传文件


下载 把数据从远程主机保存到本地主机
上传 把本地文件保存到远程主机
/usr/bin/echo
语法 scp [选项] 本地主机资源路径 {远程主机}用户名@主机ip:放置路径
[root@web1 ~]# scp /opt/a.txt root@192.168.1.20:/root //向另一台主机传输文件


计划任务


查看现有的计划任务
crontab -l

编写计划任务
[root@gym ~]# crontab -e
30 * * * * /usr/bin/echo "我是回声" >> /root/echo.txt         只有30的时候才执行
*/1 * * * * /usr/bin/echo "我是每分钟都执行的牛皮糖" >> /root/minute.txt         每分钟执行
no crontab for root - using an empty one
crontab: installing new crontab
[root@gym ~]# cat minute.txt 
我是每分钟都执行的牛皮糖
我是每分钟都执行的牛皮糖
[root@gym ~]# cat echo.txt 
我是回声

[root@gym ~]# tar -zcvf /tmp/etc.tar.gz /etc/       将etc目录下的所有文件做成压缩包放到tmp目录下
[root@gym ~]# crontab -e
*/2 * * * * /usr/bin/tar -zcvf /tmp/etc.tar.gz /etc/   每两分钟,将etc目录下的所有文件做成压缩包放到tmp目录下

研究时间戳
[root@gym ~]# crontab -e
*/1 * * * * /usr/bin/tar -zcvf /tmp/etc_$(date "+\%Y\%m\%d\%H\%M\%S").tar.gz /etc/
[root@gym ~]# ls /tmp/
etc_20240715145901.tar.gz
etc_20240715150002.tar.gz
 

  • 19
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值