find+stat+tree+scp命令以及计划任务

find命令

主要进行文件搜索
find [ 文件路径 ] [ 选项 选项的值 ]
-name 根据文件的名称搜索文件,支持通配符*(在 linux 系统中,如果要查找的文件的名称不清晰,可以使用部分文件名 +* 搜索,*代表0到多个)
-type   f 代表普通文件, d 代表目录

stat命令

使用 stat 命令获取文件的时间信息
[root@linux1 ~]# stat /opt/a.txt
  文件:"/opt/a.txt"
  大小:1048576       块:2048       IO 块:4096   普通文件
设备:fd00h/64768d    Inode:33633777    硬链接:1
权限:(0755/-rwxr-xr-x)  Uid:(    0/    root)   Gid:(    0/    root)
环境:unconfined_u:object_r:usr_t:s0
最近访问:2024-07-15 11:07:02.660803570 +0800
最近更改:2024-07-15 11:07:02.669803717 +0800
最近改动:2024-07-15 11:07:02.669803717 +0800
创建时间:-

 
创建文件,并配置文件的修改时间
touch -m -d 日期时间格式 文件名称
注意:文件不存在就创建并修改时间 ,文件存在只配置最后修改时间
[root@linux1 ~]# touch -m -d "2024-7-8" /opt/dd.txt
[root@linux1 ~]# stat /opt/dd.txt
  文件:"/opt/dd.txt"
  大小:0             块:0          IO 块:4096   普通空文件
设备:fd00h/64768d    Inode:33633778    硬链接:1
权限:(0644/-rw-r--r--)  Uid:(    0/    root)   Gid:(    0/    root)
环境:unconfined_u:object_r:usr_t:s0
最近访问:2024-07-15 15:49:22.575937343 +0800
最近更改:2024-07-08 00:00:00.000000000 +0800
最近改动:2024-07-15 15:49:22.575937343 +0800
[root@linux1 ~]# touch -m -d "2023-5-4" /opt/dd.txt
[root@linux1 ~]# stat /opt/dd.txt
  文件:"/opt/dd.txt"
  大小:0             块:0          IO 块:4096   普通空文件
设备:fd00h/64768d    Inode:33633778    硬链接:1
权限:(0644/-rw-r--r--)  Uid:(    0/    root)   Gid:(    0/    root)
环境:unconfined_u:object_r:usr_t:s0
最近访问:2024-07-15 15:49:22.575937343 +0800
最近更改:2023-05-04 00:00:00.000000000 +0800
最近改动:2024-07-15 15:51:52.586477739 +0800
通过文件的最后修改时间搜索文件
find 文件路径 -mtime +days/-days
-mtime 根据文件最后修改时间搜索文件
+ 号 搜索几天之前的文件信息
- 号 搜索几天之 的文件信息
注意:搜索 3 天以前的信息,不包含第三个的
           搜索三天以内的文件 .txt ,包含今天
rm ls不支持管道 ,使用 xargs 将查询结果交给 rm ,可行,以下命令可以:
find /opt/  -name  "*.txt"  -type  f  -mtime +3 |  xargs rm -rf
使用find执行  -exec
使用 -exec 文件调用 rm 函数 {} 表示前面 find 查到的内容 \; 表示标识符
注意: {} 后应该打空格
find /opt/ -name "*.txt" -type f -mtime +3 -exec rm - rf {}\;
按照文件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 字节的文件

[root@linux1 ~]# dd if=/dev/zreo of=/opt/a.txt bs=1M count=1

[root@linux1 ~]# ls -lh /opt   # 查看文件信息,使用文件大小单位 默认M
总用量 16M
-rw-r--r--. 1 root root 1.0M 7月  15 10:28 a.txt
-rw-r--r--. 1 root root 5.0M 7月  15 10:29 b.txt
-rw-r--r--. 1 root root  10M 7月  15 10:29 c.txt

find 文件路径 -size size值(单位 k M G
[root@linux1 ~]# find /opt/ -size 5M     # 搜索文件大小为5M的文件
/opt/b.txt
[root@linux1 ~]# find /opt/ -size +5M   #搜索大于5M的文件
/opt/c.txt
[root@linux1 ~]# find /opt/ -size -5M    #搜索小于5M的文件,隐藏文件也找出来了
/opt/    //也能找到隐藏文件
/opt/a.txt

tree命令

创建文件列表,将文件名称以树的形式展示,需要使用 yum 指令进行安装 (yum -y install  tree)

tree -L n 显示项目的层级, n表示层级数。 比如想要显示项目三层结构,可以用tree -l 3;[root@linux1 ~]# tree -l 2 /etc
 

scp命令

scp实现Linux系统和linux之间的克隆操作,实现Linux和Linux之间的文件传输

下载:把数据从远程主机保存到本地主机

scp [选项] 用户名@linux主机地址:/资源路径 linux本地文件路径

从原主机上下载/opt/a.txt到克隆机上的/opt目录

[root@Linux ~]# scp root@192.168.118.50:/opt/a.txt /opt/    //文件

源主机 opt 目录下创建目录,并且将 a.txt b.txt c.txt 复制一份在新目录中

[root@linux1 ~]# mkdir /opt/d0
[root@linux1 ~]# cp /opt/a.txt /opt/d0/
[root@linux1 ~]# cp /opt/b.txt /opt/d0/
[root@linux1 ~]# cp /opt/c.txt /opt/d0/
[root@linux1 ~]# tree /opt
/opt
├── a.txt
├── b.txt
├── c.txt
└── d0
    ├── a.txt
    ├── b.txt
    └── c.txt

在克隆机上使用 scp 指令复制目录到本地 opt 目录,需要添加 -r 选项,无法执行
-r 表示递归,主要作用文件夹

[root@Linux ~]# scp -r root@192.168.118.50:/opt/d0/ /opt/     //目录

root@192.168.118.50's password: 
a.txt                                 100% 1024KB  86.3MB/s   00:00    
b.txt                                 100% 5120KB  74.2MB/s   00:00    
c.txt                                 100%   10MB 137.2MB/s   00:00    
[root@Linux ~]# ls /opt
a.txt  d0
[root@Linux ~]# chmod +x /opt/d0 -R
[root@Linux ~]# ls /opt/d0
a.txt  b.txt  c.txt

上传: 把本地文件保存到远程主机

scp [ 选项 ] 本地主机资源路径 { 远程主机 } 用户名 @ 主机 ip: 放置路
上传文件,将克隆机中的 a.txt 文件上传到源主机中

[root@Linux ~]# scp /opt/d0/a.txt root@192.168.118.50:/opt/      //文件
root@192.168.118.50's password: 
a.txt                                 100% 1024KB  97.3MB/s   00:00  

上传目录,把克隆机中的d0 目录上传到源主机的 opt 目录

[root@Linux ~]# scp -r /opt/d0/ root@192.168.118.50:/opt/    //上传目录时,要加-r,表示递归
root@192.168.118.50's password: 
a.txt                                 100% 1024KB 106.1MB/s   00:00    
b.txt                                 100% 5120KB  73.7MB/s   00:00    
c.txt                                 100%   10MB 104.8MB/s   00:00    
[root@linux1 ~]# ls /opt
a.txt  d0

计划任务

做日志,自动做事

crontab [ 选项 ]
-l list 查看当前用户的计划任务信息
-e edit 编写计划任务

查看是否存在计划任务 :[root@Linux ~]# crontab -l

编写计划任务
crontab 分时日月周 要使用的完整路径 which 命令

每分钟自动将opt目录中的文件名写到root目录下的list中

[root@Linux ~]# which ls
alias ls='ls --color=auto'
    /usr/bin/ls

[root@Linux ~]# crontab -e     #编写计划任务

*/1 * * * * /usr/bin/ls /opt/ >> /root/list

五个*分别表示:分 时 日 月 周(0,7代表星期日)
[root@Linux ~]# vim list

a.txt
d0

[root@Linux ~]# dd if=/dev/zero of=/opt/hhhhh.txt bs=100M count=1 //创建一个100M的文件

[root@Linux ~]# vim list
a.txt
d0
hhhhh.txt

每分钟将/etc/下所有文件打包放到/tmp/目录下

1)找到rar指令的which位置  which  tar --------- /usr/bin/tar

2)编写计划任务   crontab -e

*/1 * * * * /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
                                                             Y:年   m:月  d:日   H:时  M:分  S:秒
                                                                            

时间:

输出时间:[root@linux1 ~]# date "+%T"
                  17:19:25

输出日期:  [root@linux1 ~]# date "+%F"
                 2024-07-15

在⽇期和时间中添加间隔:
[root@localhost ~]# date "+%F-%T"
2024-07-15-17:25:11
[root@localhost ~]# date "+%F %T"
2024-07-15 17:25:15
[root@localhost ~]# date "+%F_%T"
2024-07-15_17:25:29
  • 10
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值