一、find命令
1.用途—— 进行文件搜索
2.基本语法
find [⽂件路径] [选项 选项的值]
选项:
-name 根据⽂件的名称搜索⽂件,⽀持通配符*
find /root -name abc //按文件名查找,找不到就不显示
-type f代表普通⽂件,d代表⽬录
find /root -type f //按类型查找,f是普通文件
-mtime 根据⽂件最后修改时间搜索⽂件
+号 搜索⼏天之前的⽂件信息
find /root -mtime +1 //找一天前被修改过的文件
-号 搜索⼏天之内的⽂件信息
find /root -mtime -1 //找一天内被修改过的文件
-size 根据文件大小搜索文件
size值 搜索等于size大小的文件
-size值 搜索小于size大小的文件
+size值 搜索大于size
find /root -size +10G //找大于10G的文件
-exec 将find查找到的文件传递到-exec后面命令中处理
find /root -perm -o=rw //在root目录里找其他人有rw权限的文件
二、创建设置文件最后修改时间
1.stat命令
使用stat命令获取文件的时间信息
[root@localhost ~]# stat /opt/b.txt
文件:"/opt/b.txt"
大小:0 块:0 IO 块:4096 普通空文件
设备:fd00h/64768d Inode:33822722 硬链接:1
权限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root)
环境:unconfined_u:object_r:usr_t:s0
最近访问:2024-07-15 09:35:10.397216989 +0800
最近更改:2024-07-14 00:00:00.000000000 +0800
最近改动:2024-07-15 09:35:10.397216989 +0800
创建时间:-
2.创建并配置文件的修改时间
touch -m -d 日期时间格式 文件名称
文件不存在就创建并修改时间
文件存在则修改最后修改时间
[root@localhost ~]# touch -m -d '2023-11-17 13:14' /opt/k.txt
[root@localhost ~]# stat /opt/k.txt
文件:"/opt/k.txt"
大小:0 块:0 IO 块:4096 普通空文件
设备:fd00h/64768d Inode:38021935 硬链接:1
权限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root)
环境:unconfined_u:object_r:usr_t:s0
最近访问:2024-07-15 16:04:26.098323121 +0800
最近更改:2023-11-17 13:14:00.000000000 +0800
最近改动:2024-07-15 16:04:26.098323121 +0800
创建时间:-
三、tree命令
tree命令是创建文件列表,将文件名称以树的形式展示
1.安装
yum -y install tree
2.使用
[root@localhost ~]# tree /tmp
/tmp
├── etc-20240715150801.tar.gz
├── etc.tar.gz
├── hsperfdata_root
├── ks-script-ouz7rV
├── systemd-private-736496bba9ba4e23b2d459c8a2010d54-chronyd.service-rK3fn8
│ └── tmp
├── systemd-private-7ba4e108e26845cd8c4c7317bf913f3a-chronyd.service-iEOkLi
│ └── tmp
├── systemd-private-e49f0b96d6e245269629894cf74eb758-chronyd.service-IGIDz2
│ └── tmp
├── vmware-root
└── yum.log
选项:-L 数字 列出目录内容以及每一个子目录内容(数字为几,则几层深)
四、scp下载,上传文件
1.scp下载文件、目录
scp [选项] 用户名@服务器ip地址:/资源路径 需要下载在本机的地址
scp [root@192.168.2.188](<mailto:root@192.168.2.188>):/opt/b.txt /opt/ #此时该资源为文件
scp -r [root@192.168.2.188](<mailto:root@192.168.2.188>):/opt/hh /opt/ #若资源为目录,需要加入-r
2.scp上传文件目录
scp [选项] 上传的资源地址 用户名@服务器ip地址:/路径
scp /opt/hhh.txt root@192.168.2.188:/opt/ #该资源为文件
scp -r /opt/hhh/ root@192.168.2.188:/opt/ #若资源为目录,需要加入-r
五、快速生成指定大小文件
使用dd创建扩展命令
生成指定大小的测试文件
dd if=/dev/zero of=文件名称 bs=1M count=1
if表示输入文件 /dev/zero是一个字符设备,会不断地返回0字节的文件
of表示输出文件
bs代表字节为单位的块大小
count代表被复制的块
[root@kk ~]# dd if=/dev/zero of=/opt/hhhh.txt bs=100M count=1
记录了1+0 的读入
记录了1+0 的写出
104857600字节(105 MB)已复制,0.388175 秒,270 MB/秒
六、计划任务与tar结合完成文件备份
1.计划任务 crontab [选项]
-l list查看当前⽤户的计划任务信息
-e edit编写计划任务
2.编写计划任务 crontab -e
分 时 ⽇ ⽉ 周 要使⽤的完整路径 which命令
案例
(1)找到tar指令的which位置
[root@localhost ~]# which tar
/usr/bin/tar
(2).编辑计划任务
[root@localhost ~]# crontab -e
*/1 * * * * /usr/bin/tar -zcvf /tmp/etc-$(date "+\\%Y\\%m\\%d\\%H\\%M\\%S").tar.gz /etc/
以上的任务会覆盖前⾯的⽂件,需要在指令中添加时间因素
在脚本中出现%,必须使⽤转义符\
/tmp/etc-$(date "+\%Y\%m\%d\%H\%M\%S").tar.gz
(3)查看备份⽂件
[root@localhost ~]# ls /tmp/
etc-20240715150801.tar.gz
etc-20240715163201.tar.gz
etc-20240715163301.tar.gz