一.find的命令
2.基本语法
find 起始路径 选项 表达式 操作
-
按文件名搜索:
find /path -name "file.txt"
(在/path
下搜索名为file.txt
的文件) -
按文件类型搜索:
find /path -type d
(在/path
下搜索目录)find /path -type f
(在/path
下搜索普通文件)
案例,找到httpd.conf文件
3.*通配符
在linux 系统中,如果要查找的文件的名称不清晰,可以使用部分文件名+*搜索
案例 获取/etc/中以.conf结尾的文件
二.创建并设置文件最后修改的时间
1.文件的时间的概念
window中的时间
1.创建时间
2.修改时间
3.访问时间
使用stat命令获取文件的时间信息
语法 stat 文件
[root@localhost ~]# stat /opt/test.conf
文件:"/opt/test.conf"
# 修改或者创建文件,并设置最后修改时间
[root@localhost ~]# touch -m -d "2020-7-7 00:00" /opt/abc.txt
[root@localhost ~]# ll /opt/
三.根据文件最后修改时间搜索文件
-
起始路径
:指定要开始搜索的目录位置,可以是相对路径或绝对路径。 -
-mtime
:用于根据文件的修改时间进行搜索。 -
时间条件
:可以是以下几种形式:n
:表示文件在n
天前的那一天被修改过。+n
:表示文件在n
天前被修改过。-n
:表示文件在n
天内被修改过。
四.find的exec选项
五.用于快速生成指定大小的文件
find 起始路径 -size 大小条件
其中,起始路径
表示要开始搜索的目录位置,可以是相对路径或绝对路径;大小条件
用于指定文件大小的范围。
常用的大小条件表示方法如下:
+n
:表示大于n
个单位的文件,n
可以是k
(KB)、m
(MB)、g
(GB)等,例如+100m
表示大于 100MB 的文件。-n
:表示小于n
个单位的文件,例如-50k
表示小于 50KB 的文件。n
:表示等于n
个单位的文件,例如1g
表示等于 1GB 的文件。
if=/dev/zero
:指定输入文件为不断产生零的设备文件/dev/zero
。of=文件名
:指定输出的文件名。bs=块大小
:设置每次读写的块大小,常见的如bs=1M
表示 1MB ,bs=1K
表示 1KB 。count=块数量
:指定要读写的块数量。
-
起始路径
:指定开始搜索的目录位置,例如/home
或者.
(表示当前目录)。 -
-size
:指定按照文件大小进行搜索。 -
大小条件
常见的表示形式有:并且可以在数字后面加上特定的单位:
-
n
:表示文件大小恰好为n
个 512 字节的块。 -
+n
:表示文件大小大于n
个 512 字节的块。 -
-n
:表示文件大小小于n
个 512 字节的块。 -
c
:表示字节。 -
k
:表示千字节(KB)。 -
M
:表示兆字节(MB)。 -
G
:表示吉字节(GB)。
-
案例 搜索系统大于100M的文件
七 .tree指令
tree
命令用于以树状图的形式列出目录的内容。
语法:tree [选项] [目录]
九.scp
touch -t 202201150000 /opt/test/abc.txt
touch -t 202201140000 /opt/test/def.txt.ghi.txt
touch -t 202201130000 /opt/test/xxx.txt.yyy.txt
touch -t 202201120000 /opt/test/ghi.txt
touch -t 202201110000 /opt/test/jkl.txt
cp /opt/test/abc.txt /opt/test/a/
cp /opt/test/def.txt.ghi.txt /opt/test/a/
cp /opt/test/xxx.txt.yyy.txt /opt/test/a/
cp /opt/test/ghi.txt /opt/test/a/
cp /opt/test/jkl.txt /opt/test/a/
touch /opt/test0/a.mp4
truncate -s 5M /opt/test0/a.mp4
touch /opt/test0/b.mp4
truncate -s 20M /opt/test0/b.mp4
touch /opt/test0/c.mp4
truncate -s 80M /opt/test0/c.mp4
# 创建一个脚本文件,例如 backup_repos.sh
echo '#!/bin/bash' > backup_repos.sh
echo 'tar -czvf /tmp/repos_backup_\$(date +%Y%m%d%H%M%S).tar.gz /etc/yum.repos.d/*.repo' >> backup_repos.sh
chmod +x backup_repos.sh
crontab -e
# 添加以下行到crontab文件中,表示每周三的凌晨1点执行备份任务
0 1 * * 3 /path/to/backup_repos.sh