#!/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