linux shell之定期清除历史文件

博客介绍了Linux系统中文件信息的查询方法。包括使用ls命令查询文件属性,du命令查询文件大小,还介绍了查看文件的三个时间(atime、ctime、mtime)的含义及对应命令,最后提到stat命令可查询文件所有信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#!/bin/bash 
#参数解释
#   filepath:文件目录字符串,以英文;隔离
#   oldtime:天数,保留多少天以内的文件

array=(${filepath//;/ })  
for var in ${array[@]}
do
    echo "当前处理目录:"+$var
    if [[ -d $var ]];then
        echo $var+"目录存在,正在进行查询并删除......"
        #find "$var" -mindepth 2 -maxdepth 2 -type d -mtime +${oldtime} -exec ls -ld {} \;
        find "$var" -mindepth 2 -maxdepth 2 -type d -mtime +${oldtime} -exec ls -ld {} \; -exec rm -rf {} \;
    else
        echo "error:"+$var+"文件目录不存在,请核对地址!!!"
    fi
done 
文件属性查询命令:ls
ls:列出当前目录下面的文件和目录,但是不包含隐藏的
ls -l: 列出当前目录下的文件和目录的属性,包括大小,修改时间,谁修改的,这个也不包含隐藏的
ls -al:列出当前目录下的文件和目录的属性,包括大小,修改时间,谁修改的,包含隐藏的
ls -ld:列出某一个目录的属性
文件大小查询:du
du -sh filename
查看文件的三个时间:atime ,ctime, mtime
  • mtime(modification time)——修改时间:

    ls -l –full-time $filepath mtime
    这个时间指的是文件内容修改的时间,而不是文件属性的修改,当数据内容修改时,这个时间就会改变,用命令ls -l默认显示的就是这个时间

  • ctime(status time )——状态时间:

    ls -l –time=ctime –full-time $filepath ctime
    当一个文件的状态改变时,这个时间就会改变,例如更改了文件的权限与属性等,它就会改变。

  • atime(access time)——访问时间:

    ls -l –time=atime –full-time $filepath atime
    当读取文件内容时,就会更改这个时间,例如使用cat 去读取/etc/man.config,那么该文件的atime就会改变

所有信息:stat
stat $filepath
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值