find 命令有几个用于根据您系统的时间戳搜索文件的选项。这些时间戳包括
mtime 文件内容上次修改时间 atime 文件被读取或访问的时间 ctime 文件状态变化时间
mtime 和 atime 的含义都是很容易理解的,而 ctime 则需要更多的解释。由于 inode 维护着每个文件上的元数据,因此,如果与文件有关的元数据发生变化,则 inode 数据也将变化。这可能是由一系列操作引起的,包括创建到文件的符号链接、更改文件权限或移动了文件等。由于在这些情况下,文件内容不会被读取或修改,因此 mtime 和 atime 不会改变,但 ctime 将发生变化。
这些时间选项都需要与一个值 n 结合使用,指定为 -n、n 或 +n。
N * 24 +1 表示 1 * 24 +24小时以外.. +0 表示 0 * 24 +24小时以外 1 表示 1 * 24 + 24 到 24 之间.. 0 表示 0 * 24 + 24 到 0 之间.. -1 表示 0 * 24 +24 内,甚至为未来时间...
1.当前时间24小时—当前时间(昨天-今天)
#find . -mtime 0
2.当前时间48小时前–当前时间24小时前(前天-昨天)
#find . -mtime 1
3.当前时间48小时前(2天前)
#find . -mtime +1
4.当前时间24小时–当前时间(昨天-今天)
#find . -mtime -1
linux命令:递归删除某个文件或目录,拷贝时排除某个目录
一、linux下有时候会有一些文件,想递归全删除,比如.svn目录,*.o文件等。
具体命令如下:
1. 递归删除所有的output目录:
find . -name 'output' -type d -print -exec rm -rf {} \;
www.2cto.com
2. 递归删除.o文件:
find . -name '*.o' -type f -print -exec rm -rf {} \;
应该不用我详细解释了,man一下基本都知道了^_^
二、另外在拷贝时候不希望包含某个目录,可以这样操作:
1. rsync -e ssh $HOST:/home/test --exclude log/ /home/test/