linux mtime,find命令mtime

其实linux mtime的问题并不复杂,但是又很多的朋友都不太了解find命令mtime,因此呢,今天小编就来为大家分享linux mtime的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

linux下find命令的 -mtime时间问题:

有网络,什么都不是问题了!

^_^

格式: find [path...] [expression]

find/-name access_log 2>/dev/null不显示错误信息

find/-amin n##查找系统中最后N分钟访问的文件

find/-atime n##查找系统中最后n*24小时访问的文件

find/-cmin n##查找系统中最后N分钟被改变状态的文件

find/-ctime n##查找系统中最后n*24小时被改变状态的文件

find/-empty##查找系统中空白的文件,或空白的文件目录,或目录中没有子目录的文件夹

find/-false##查找系统中总是错误的文件

find/-fstype type##查找系统中存在于指定文件系统的文件,例如:ext2.

find/-gid n##查找系统中文件数字组 ID为 n的文件

find/-group gname##查找系统中文件属于gnam文件组,并且指定组和ID的文件

find/-mmin n#查找在系统中最后n分钟里修改过的文件

find/-mtime n#查找在系统中最后24*n小时里修改过的文件

find/-nouser#查找在系统中属于作废用户的文件

find/-size nc#查找在系统中长度为n字节的文件

find/-size+nc#查找在系统中长度大于n字节的文件

find/-daystart##测试系统从今天开始24小时以内的文件,用法类似-amin

find/-depth##使用深度级别的查找过程方式,在某层指定目录中优先查找文件内容

find/-follow##遵循通配符链接方式查找;另外,也可忽略通配符链接方式查询

find/-help##显示命令摘要

find/-maxdepth levels##在某个层次的目录中按照递减方法查找

find/-mount##不在文件系统目录中查找,用法类似-xdev.

find/-noleaf##禁止在非UNUX文件系统,MS-DOS系统,CD-ROM文件系统中进行最优化查找

find/-version##打印版本数字

-exec command;##查找并执行命令

-fprint file##打印文件完整文件名

-fprint0 file##打印文件完整文件名包括空的文件

-fprintf file format##打印文件格式

-ok command;##给用户命令执行操作,根据用户的Y确认输入执行

-printf format##打印文件格式

-ls##打印同种文件格式的文件.

几个参数之间可以用-and,-or连接,某个参数取反可用!.

linuxfind查找大于多少天的文件,并删除之

linux查找超过一定时间的文件,并批量删除

1、find.-maxdepth 4-name"*-*"-mtime 3

-maxdepth的值决定是否对下面的子目录进行递归查找

-mtime 3表示查找3天内的,-mtime+3表示查找超过3天的,也就是查找3天前的文件

2、find.-maxdepth 4-name"*-*"-mtime 3| sudo xargs rm-rf

-----------------------------------------------------------------------------------------------------------------------------

find./-maxdepth 4-mtime+3-a-mtime-20-type f

--如果将xmaxdepth放置于-mtime之后,将会抛出这个错误

find: warning: you have specified the-maxdepth option after a non-option argument-mtime, but options are not positional(-maxdepth affects tests specified before it as well as those specified after it). Please specify options before other arguments.

-----------------------------------------------------------------------------------------------------------------------------

-mtime 0表示文件修改时间距离当前为0天的文件,即距离当前时间不到1天(24小时)以内的文件。

-mtime 1表示文件修改时间距离当前为1天的文件,即距离当前时间1天(24小时-48小时)的文件。

-mtime+1表示文件修改时间为大于1天的文件,即距离当前时间2天(48小时)之外的文件

-mtime-1表示文件修改时间为小于1天的文件,即距离当前时间1天(24小时)之内的文件

-----------------------------------------------------------------------------------------------------------------------------

-maxdepth参数详解

-maxdepth选项的作用就是限制find命令在目录中按照递减方式查找文件的时候搜索文件超过某个级别或者搜索过多的目录,这样导致查找速度变慢,查找花费的时间过多。例如,我们要在当前(.)目录技巧子目录中查找一个名叫fred的文件,我们可以使用如下命令

find.-maxdepth 2-name fred

假如这个fred文件在./sub1/fred目录中,那么这个命令就会直接定位这个文件,查找很容易成功。假如,这个文件在./sub1/sub2/fred目录中,那么这个命令就无法查找到。因为前面已经给find命令在目录中最大的查询目录级别为2,只能查找2层目录下的文件。这样做的目的就是为了让find命令更加>

精确的定位文件,如果你已经知道了某个文件大概所在的文件目录级数,那么加入-maxdepth n就很快的能在指定目录中查找成功。

也即是-maxdepth参数指定递归查找级别,如果-maxdepth 2则查找当前目录递归查找2层,-maxdepth 4则查找当前目录递归查找4层。

linux中如何将最近10天被修改过的所有文件复制到/backup

这个是备份当前目录下的10天内修改的所有文件的脚本,你可以自己研究一下子。注释写的很详细

#在一个经过tar和gzip处理过的文件目录中

#备份10天当前目录下所有修改的文件.

BACKUPFILE=backup-$(date+%m-%d-%Y)

#在备份文件中嵌入时间.

archive=${1:-$BACKUPFILE}

#如果在命令行中没有指定备份文件的文件名,

#那么将默认使用"backup-MM-DD-YYYY.tar.gz".

tarcvf-`find.-mtime-10-typef-print`>$archive.tar

#‘’内是find命令:.表示当前路径,

#+-mtime-10表示那些最近10*24小时内被修改的文件,

#+-typef表示一般的文件,

#+-print在标准输出中打印完整的文件名

gzip$archive.tar

echo"Directory$PWDbackedupinarchivefile\"$archive.tar.gz\"."

#上边代码,#+如果在发现太多的文件的时候,或者是如果文件

#名包括空格的时候,将执行失败.

#StephaneChazelas建议使用下边的两种代码之一

#-------------------------------------------------------------------

#find.-mtime-1-typef-print0|xargs-0tarrvf"$archive.tar"

#-print0在标准输出中打印完整的文件名,随后跟一个null字符,

#对应了xargs命令中的‘-0’选项.

#使用gnu版本的find.

#find.-mtime-1-typef-exectarrvf"$archive.tar"'{}'\;

#对于其他风格的UNIX便于移植,但是比较慢.

#-------------------------------------------------------------------

exit0

#####################EndScript#####################

阅读剩余
THE END