一、使用命令stat获取文件的三个时间
含义分别是
时间名称 | 简称 | 中文名称 | 含义 | linux 命令 | 备注 |
---|---|---|---|---|---|
access time | atime | 访问时间 | 最后一次访问文件或目录的时间 | ls -lu filename | 访问时间的更新并不是实时的 |
modifytime | mtime | 修改时间 | 最后一次修改文件或目录的时间 | ls -l filename | 对文件内容修改一次便会更新该时间。 |
changetime | ctime | 改变时间 | 更改文件的属性的时间 | ls -lc filename | 比如使用chmod命令更改文件属性,或者执行其他命令时隐式的附带更改了文件的属性若文件大小等 |
二、使用touch修改时间戳
1. -d, --date=STRING 指定时间代替当前时间
如$ touch -d "2 days ago" uconv.h
特点: mtime和atime修改为两天前,ctime不变.
2. -t STAMP 指定修改时间
如$ touch -t 201406142020 uconv.h
特点:atime和mtime都变了,但是ctime不变
3.-a 修改访问时间
4. -c, --no-create 修改文件三个时间,不存在则不创建
5. -m 修改mtime
三、find命令
1.按文件名查找
find . -name 'bit' 搜索目录中文件名为bit的文件
2.按执行权限查找
find . -perm 755 搜索目录中权限为755的文件
3.按文件的拥有者查找
find . -user bit 搜索目录中属于bit的文件
4.按文件的所属组查找
find . -group bit 搜索目录中属于组bit的文件
5.按文件更改时间查找文件(-n指n天以内,+n指n天以前)
find . -mtime -1 搜索目录中最近一天之内改动过的文件
6.按文件访问时间查找文件
find . -atime -1
7.按文件状态改变时间查找文件
find . -ctime -1
8.其他
-nogroup #查无有效属组的文件,即文件的属组在/etc/groups中不存在
-nouser #查无有效属主的文件,即文件的属主在/etc/passwd中不存
-newer filename #查更改时间比filename新的文件
-type b/d/c/p/l/f #查是块设备、目录、字符设备、管道、符号链接、普通文件
-size n[bkMG] #查长度为n[bkMG]字节的文件
-depth #使查找在进入子目录前先行查找完本目录
-fstype #查位于某一类型文件系统中的文件,这些文件系统类型通常可 在/etc/fstab中找到
-mount #查文件时不跨越文件系统mount点
-follow #如果遇到符号链接文件,就跟踪链接所指的文件
-cpio #对匹配的文件使用cpio命令,将他们备份到磁带设备中
-prune #忽略某个目录