Linux中的一些基础命令用法

1.文件的时间的概念
创建时间
修改时间
访问时间


使用stat命令获取文件的时间信息


[root@tdr ~]# stat /opt/d.txt
  文件:"/opt/d.txt"
  大小:0             块:0          IO 块:4096   普通空文件
设备:fd00h/64768d    Inode:33868148    硬链接:1
权限:(0644/-rw-r--r--)  Uid:(    0/    root)   Gid:(    0/    root)
环境:unconfined_u:object_r:usr_t:s0
最近访问:2024-07-15 09:35:15.545991127 +0800
最近更改:2024-07-13 00:00:00.000000000 +0800
最近改动:2024-07-15 09:35:15.545991127 +0800
创建时间:-


2.案例:创建文件,并配置文件的修改时间


语法 touch -m -d ⽇期时间格式 ⽂件名称
⽂件不存在就创建并修改时间
⽂件存在只配置最后修改时间
[root@tdr ~]# touch /opt/b.txt -m -d "2024-7-14 00:00"
[root@tdr ~]# touch /opt/c.txt -m -d "2024-7-11 00:00"
[root@tdr ~]# touch /opt/d.txt -m -d "2024-7-13 00:00"
[root@tdr ~]# ls -l /opt/
-rw-r--r--. 1 root root     251 7月   8 10:51 applicaiton.perperties
-rw-r--r--. 1 root root       0 7月  14 00:00 b.txt
-rw-r--r--. 1 root root       0 7月  11 00:00 c.txt
-rw-r--r--. 1 root root       0 7月  13 00:00 d.txt
[root@tdr ~]# touch /opt/c.txt -m -d "2024-7-1 00:00"
[root@tdr ~]# ls -l /opt/
-rw-r--r--. 1 root root       0 7月   1 00:00 c.txt


3.使用find按时间搜索,找到旧的文件并删除

find ⽂件路径 -mtime +days/-days
-mtime 根据⽂件最后修改时间搜索⽂件
+号 搜索⼏天之前的⽂件信息
-号 搜索⼏天之内的⽂件信息
[root@localhost ~]# find a -mtime +3      找到·修改时间在三天之前的文件
a/b
a/c
[root@localhost ~]# find a -mtime -3        找到修改时间在三天之内的文件
a
a/a.a
想要删除三天之前的文件
方法一:[root@localhost ~]# find a -mtime +3 | xargs rm -rf
[root@localhost ~]# ls -l a
-rw-r--r--. 1 root root 0 7月  15 17:36 a.a
把b,c文件再次创建回来进行方法二的测试
方法二:[root@localhost ~]# find a -mtime +3 -exec rm -rf {} \;
[root@localhost ~]# ls -l a
-rw-r--r--. 1 root root 0 7月  15 17:36 a.a
 # 查找三天以前的⽂件
[root@localhost opt]# find /opt/ -name "*.txt" -type f -mtime +3
 /opt/e.txt
 # 使⽤-exec ⽂件调⽤rm函数 {}表示前⾯find查到的内容 \;表示标识符
# 这⾥在{}后⾯没有打空格报错了,在{}后应该打空格
[root@localhost opt]# find /opt/ -name "*.txt" -type f -mtime +3 -exec rm -rf {}\;
 find: 遗漏“-exec”的参数
[root@localhost opt]# find /opt/ -name "*.txt" -type f -mtime +3 -exec rm -rf {} \;
总⽤量 0
-rw-r--r--. 1 root root 0 7⽉  14 13:54 a.txt
-rw-r--r--. 1 root root 0 7⽉  13 00:00 b.txt
-rw-r--r--. 1 root root 0 7⽉  12 00:00 c.txt
-rw-r--r--. 1 root root 0 7⽉  11 00:00 d.txt

4.根据⽂件size⼤⼩搜索⽂件


find 路径 -size ⽂件⼤⼩ [常⽤单位 k M G]
 size值 搜索等于size的⽂件
-size值 (0,size值)
+size值 (size值,正⽆穷)
[root@tdr ~]# find / -size +100M   //搜索大于100M的,隐藏文件也会找出来
[root@tdr ~]# find / -size -100M    //小于100M的
[root@tdr ~]# find / -size 100M    //等于100M的
扩展命令dd
[root@tdr ~]# dd if=/dev/zero of=/opt/a.txt bs=1M count=1
 if表示输⼊⽂件
of表示输出⽂件
bs代表字节为单位的块⼤⼩
count代表被复制的块
其中/dev/zero是⼀个字符设备,会不断地返回0字节的⽂件
> 覆盖  >>  追加

5.tree


创建⽂件列表,将⽂件名称以树的形式展示
需要使⽤yum指令进⾏安装
yum -y instal tree
用法:tree [文件路径]

6.scp


scp要求两台主机的系统都是linux系统
使⽤scp下载⽂件和⽬录
语法:scp [选项] ⽤户名@linux主机地址:/资源路径 linux本地⽂件路径
在克隆机上使⽤scp指令复制⽬录到本地opt⽬录,需要添加-r选项


7.计划任务和tar结合实现文件备份


编写计划任务
crontab 分时⽇⽉周 要使⽤的完整路径 which命令
[root@tdr ~]# crontab -l                  //list查看当前用户的计划任务信息
[root@tdr ~]# crontab -e                  //edit编写计划任务
*/1 * * * * /usr/bin/ls /opt/ >> /root/list                             //每分钟执行一次
49 * * * * /usr/bin/echo "我是你爸爸" > /root/echo.txt                         //每小时的49分执行一次
*/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/      //添加时间因素,在脚本中出现%,必须使用转义符\


案例 每分钟将/etc⽬录下的⽂件打包保存在tmp⽬录中
1.找到tar指令的which位置
[root@tdr /]# which tar
 /usr/bin/tar
2.编写计划任务
[root@tdr ~]# crontab -e
*/1 * * * * /usr/bin/tar -zcvf /tmp/etc.tar.gz /etc/
3.以上的任务会覆盖前⾯的⽂件,需要在指令中添加时间因素
*/1 * * * * /usr/bin/tar -zcvf /tmp/etc-$(date "+\%Y\%m\%d\%H\%M\%S").tar.gz  /etc
4.查看备份文件
[root@tdr ~]# ls -l /tmp/
-rw-r--r--. 1 root root 9811981 7月  15 15:15 etc_20240715151501.tar.gz
-rw-r--r--. 1 root root 9811981 7月  15 15:16 etc_20240715151602.tar.gz
-rw-r--r--. 1 root root 9811981 7月  15 15:17 etc_20240715151701.tar.gz
-rw-r--r--. 1 root root 9811981 7月  15 15:18 etc_20240715151801.tar.gz
-rw-r--r--. 1 root root 9811981 7月  15 15:19 etc_20240715151901.tar.gz
-rw-r--r--. 1 root root 9811981 7月  15 15:20 etc_20240715152001.tar.gz
-rw-r--r--. 1 root root 9811981 7月  15 15:21 etc_20240715152101.tar.gz


# 输出时间
[root@localhost ~]# date "+%T"
 17:24:56
 #输出⽇期和时间
[root@localhost ~]# date "+%F%T"
 2024-07-1417:25:03
 #在⽇期和时间中添加间隔
[root@localhost ~]# date "+%F-%T"
 2024-07-14-17:25:11
 [root@localhost ~]# date "+%F %T"
 2024-07-14 17:25:15
 [root@localhost ~]# date "+%F_%T"
 2024-07-14_17:25:29
 # 输出年
[root@localhost ~]# date "+%Y"
 2024
 # 输出年⽉⽇
[root@localhost ~]# date "+%Y%m%d"
 20240714
 # 输出年⽉⽇时分秒
[root@localhost ~]# date "+%Y%m%d%H%M%S"
 20240714172653

  • 16
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值