rokevin
移动
前端
语言
  • 基础

    • Linux
    • 实施
    • 版本构建
  • 应用

    • WEB服务器
    • 数据库
  • 资讯

    • 工具
    • 部署
开放平台
产品设计
  • 人工智能
  • 云计算
计算机
其它
GitHub
移动
前端
语言
  • 基础

    • Linux
    • 实施
    • 版本构建
  • 应用

    • WEB服务器
    • 数据库
  • 资讯

    • 工具
    • 部署
开放平台
产品设计
  • 人工智能
  • 云计算
计算机
其它
GitHub
  • find命令

find命令

语法

find [搜索目录][选项][参数]

find命令的-mtime参数的含义

stat可以查看文件的atime、ctime、mtime

$ stat file
  File: ‘file’
  Size: 547             Blocks: 8          IO Block: 4096   regular file
Device: fd01h/64769d    Inode: 3677178     Links: 1
Access: (0775/-rwxrwxr-x)  Uid: ( 1000/   hlvan)   Gid: ( 1000/   hlvan)
Access: 2018-10-31 06:00:01.441443744 +0800
Modify: 2018-10-18 18:46:29.155807667 +0800
Change: 2018-10-19 08:09:44.104644918 +0800

find . –mtime n中的n指的是24*n, +n、-n、n分别表示:

+n:大于n

-n: 小于n

n:等于n

如果n为0就表示是24小时以内的和n为-1是一个效果,为1就表示是大于24小时小于48小时(没测试过临界点)

可以通过 man find 查找

find . –mtime n:

最后一次修改发生在距离当前时间n*24小时至(n+1)*24 小时
为0 24小时以内 为1 24小时到48小时之间 为2 48小时到72小时之间

find . –mtime +n:

最后一次修改发生在n+1天以前,距离当前时间为(n+1)*24小时或者更早
n 为0 就是等于或者超过24小时 为1 就是等于或者超过48小时

find . –mtime –n:

最后一次修改发生在n天以内,距离当前时间为n*24小时以内
n 为1 就是24小时以内 为2 就是48小时以内

使用touch可以改变atime、ctime、mtime

查找后去掉目录,只显示文件名

find $1 -mtime +4 -exec basename {} \;

shell脚本-保留目录下最新的几个文件,其他删除

#!/bin/bash

#保留文件数
ReservedNum=5
FileDir=/data/bak
date=$(date "+%Y%m%d-%H%M%S")

FileNum=$(ls -l $FileDir|grep ^- |wc -l)

while(( $FileNum > $ReservedNum))
do
    OldFile=$(ls -rt $FileDir| head -1)
    echo  $date "Delete File:"$OldFile
    rm -rf $FileDir/$OldFile
    let "FileNum--"
done 
最近更新:: 2020/7/25 22:02
Contributors: luokaiwen