Linux下三类时间、touch更改时间和find命令的使用

来源:互联网 发布:console mysql 编辑:程序博客网 时间:2024/06/06 20:26

三类时间:
  ctime(Change):文件状态最新改变的时间,文件的一些基本属性,如权限、用户、组、大小、修改时间等,这些属性改变了,ctime就会发生改变,如修改文件的权限或者所有者等等信息的时候,就会改变文件的ctime。
  atime(Access):最近一次访问时间,+n为查找n天以前的文件,-n为查找n天以内的文件,进行读文件操作时,atime会被改变。
  mtime(Modify):文件内容最新的修改时间,即修改文件的内容时,mtime就会改变
  ll(ls-l的别名)显示的时间就是mtime。
当mtime改变或者atime被手动修改时,ctime是必然会改变的;一般mtime的修改会引起ctime的改变,但atime的改变就不一定会改变ctime。


touch指令:touch + filename,当前目录下不存在filename,touch指令可以创建一个名为filename的文件,在当前目录下存在filename的文件时,touch指令可以修改filename文件的时间为当前时间。
    深入了解touch指令:
 1、touch -a 文件名,修改atime,随即修改ctime(原因是手动修改的atime);
 2、touch -c 文件名,文件所有的时间都会被修改,而且如果没有这个文件时,也不会新建文件;
 3、touch -s 文件名,将atime和mtime更新为给定时间,ctime更新为当前时间。
 4、touch -m 文件名,修改mtime,但是也会改变ctime。
find命令使用:
 find / -amin -10 # 查找在系统中最后10分钟访问的文件 
  find / -atime -2 # 查找在系统中最后48小时访问的文件   
 find / -empty # 查找在系统中为空的文件或者文件夹  
 find / -mmin -5 # 查找在系统中最后5分钟里修改过的文件  
 find / -mtime -1 #查找在系统中最后24小时里修改过的文件  
 find / -nouser #查找在系统中属于作废用户的文件  find / -user fred #查找在系统中属于FRED这个用户的文件
 find /home/admin -mtime -1? #查找/home/admin目录下修改时间在1天之内的文件
 find /home/admin -name *.txt -mtime -1? #查找/home/admin目录下修改时间在1天之内的文件名为.txt结尾的文
   1. 基本用法:

find / -name 文件名

find ver1.d ver2.d -name '*.c' -print 查找ver1.d,ver2.d *.c文件并打印

find . -type d -print 从当前目录查找,仅查找目录,找到后,打印路径名。可用于打印目录结构。

  2. 无错误查找:

find / -name access_log 2 >/dev/null

  3. 按尺寸查找:

find / -size 1500c (查找1,500字节大小的文件,c表示字节)

find / -size +1500c (查找大于1,500字节大小的文件,+表示大于)

find / -size +1500c (查找小于1,500字节大小的文件,-表示小于)

  4. 按时间:

find / -amin n 最后n分钟

find / -atime n 最后n天

find / -cmin n 最后n分钟改变状态

find / -ctime n 最后n天改变状态

  5. 其它:

find / -empty 空白文件、空白文件夹、没有子目录的文件夹

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

find / -fstype type 找存在于指定文件系统的文件,如type为ext2

find / -gid n 组id为n的文件

find / -group gname 组名为gname的文件

find / -depth n 在某层指定目录中优先查找文件内容

find / -maxdepth levels 在某个层次目录中按递减方式查找

  6. 逻辑

-and 条件与 -or 条件或

  7. 查找字符串

find . -name '*.html' -exec grep 'mailto:'{}


 

2 0