1.find的用法
find 【文件路径】 【选项 选项的值】
-name 根据文件的名称搜索文件,支持通配符*(*文件:以文件结尾;文件*:以文件开头)
-type //f:普通文件 d:目录
[root@web1 ~]# find /opt/ -name "*a*" -type d
[root@web1 ~]# find / -name "q*" -type f
2.文件的时间概念
创建时间
修改时间
访问时间
[root@web1 ~]# stat /opt/Main.java //获取文件的时间信息
文件:"/opt/Main.java"
大小:112 块:8 IO 块:4096 普通文件
设备:fd00h/64768d Inode:67448865 硬链接:1
权限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root)
环境:unconfined_u:object_r:usr_t:s0
最近访问:2024-07-08 23:36:38.229874129 +0800
最近更改:2024-07-08 23:36:32.978873969 +0800 //时区
最近改动:2024-07-08 23:36:32.978873969 +0800
创建时间:-
touch创建文件,没有文件就新建,有文件就修改
touch 文件名称 -m -d "日期时间格式"
[root@web1 ~]# touch /opt/a.txt
[root@web1 ~]# touch /opt/b.txt -m -d "2024-7-14 00:00"
[root@web1 ~]# touch /opt/c.txt -m -d "2024-7-17 07:33"
[root@web1 ~]# ls -l /opt/
-rw-r--r--. 1 root root 0 7月 15 17:33 a.txt
-rw-r--r--. 1 root root 0 7月 14 00:00 b.txt
-rw-r--r--. 1 root root 0 7月 17 2024 c.txt
[root@web1 ~]# touch /opt/c.txt -m -d "2024-7-13 07:33"
-rw-r--r--. 1 root root 0 7月 13 07:33 c.txt
[root@web1 ~]# find /opt/ -mtime +3 //查找三天以外
[root@web1 ~]# find /opt/ -mtime -3 //查找三天以内
查找并删除
[root@web1 ~]# find /opt/ -mtime +3 -exec rm -rf {} \;
[root@web1 ~]# find /opt/ -mtime +3 | xargs 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
3.根据文件size大小搜索文件
find 文件路径 -size size值(单位 k M G)
size值 搜索等于size的文件
-size值 【0,size值)
+size值 (size值,正无穷)
[root@web1 ~]# find / -size +100M
[root@web1 ~]# find / -size -100M
扩展命令dd
[root@web1 ~]# dd if=/dev/zero of=/opt/a.txt bs=1M count=1
/dev/zero是一个字符设备,会不断地返回0字节的文件
if表示输入文件
of表示输出文件
bs代表字节为单位的块大小
count代表被复制的块
[root@web1 ~]# ls -lah /opt/ //查找隐藏文件
4.tree:创建文件列表,将文件名称以树的形式展示
需要使用yum指令进行安装:yum -y install tree
[root@web1 ~]# tree /opt/
[root@web1 ~]# tree -l 2 //从二级目录开始
[root@web1 ~]# ls /opt/ -R //递归
/opt/:
a.txt b.txt c.txt
5.scp上传文件
下载 把数据从远程主机保存到本地主机
上传 把本地文件保存到远程主机
/usr/bin/echo
语法 scp [选项] 本地主机资源路径 {远程主机}用户名@主机ip:放置路径
[root@web1 ~]# scp /opt/a.txt root@192.168.1.20:/root //向另一台主机传输文件
6.计划任务
crontab 【选项】
[root@web1 ~]# crontab -l //查看是否存在计划任务
[root@web1 ~]# crontab -e //编写计划任务
no crontab for root - using an empty one
crontab: installing new crontab
[root@web1 ~]# crontab -l
*/1 * * * * /usr/bin/ls /opt/ >> /root/list
分(0-59) 时(0-23) 日(1-31) 月(1-12) 周(0-7)
[root@web1 ~]# which echo //找到echo指令的which位置
/usr/bin/echo
[root@web1 ~]# crontab -e
*/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/ #文件显示执行时间
[root@web1 ~]# ls /tmp/
crontab.NxHroj
etc
etc_20240715225501.tar.gz
etc_20240715225601.tar.gz
etc_20240715225701.tar.gz
etc.tar.gz