linux下find命令和文件的三种时间

来源:互联网 发布:美国大非农数据公布时间 编辑:程序博客网 时间:2024/05/22 00:54

    Linux下find命令在目录结构中搜索文件,并执行指定的操作。Linux下find命令提供了相当多的查找条件,功能很强大。由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时间来了解一下。即使系统中含有网络文件系统( NFS),find命令在该文件系统中同样有效,只你具有相应的权限。

    

linux下find命令的用法


 find   -name          //根据文件名查找(精确查找)

 find   -name  "*.txt" //根据关键字查找

 find   -iname        //根据文件名查找,但是不区分大小写

 find   -name  a*     //在当前目录下查找以a开始的文件


wKiom1dDBu3zAp1jAAAlsKBtgrk434.png

wKioL1dDCBKgLc5LAAAQ23atZSo841.png


 2. 按尺寸查找:


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

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

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


wKioL1dDCD_wRzXEAABIHHynvjw591.png


3. 按时间:


      find / -amin n 最后n分钟 

      find / -atime n 最后n天

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

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

      find / -mmin  n 查找系统中最后N分钟被改变文件数据的文件

      find / -mtime n 查找系统中最后n*24小时被改变文件数据的文件


wKioL1dDCIbQqnGnAAAhtGe768Q548.png

wKioL1dDCLvDDnKVAAAqz2Pnbrk777.png

wKioL1dDCOXilwcVAAAdMKfX-Y8229.png


4. 其它:


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

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

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

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

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

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

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


 5. 逻辑


      -and 条件与

      -or  条件或


1.命令参数:

=======================================================    


                #查找名为filename的文件

-perm                    #按执行权限来查找

-user  username          #按文件属主来查找

-group groupname         #按组来查找

-mtime -n +n(+n指n天以前)#按文件更改时间来查找文件,-n指n天以内

-atime -n +n             #按文件访问时间来查GIN: 0px">-perm 


wKioL1dDCRvA8jKOAABLAyARB2g849.png



      

========================================================


                 #按执行权限来查找

-user  username        #按文件属主来查找

-group groupname       #按组来查找

-mtime -n +n           #按文件更改时间来查找文件,-n指n天以内,

-atime -n +n           #按文件访问时间来查找文件,-n指n天以内,

-ctime -n +n           #按文件创建时间来查找文件,-n指n天以内,

-nogroup               #查无有效属组的文件,即文件的属组

-newer  f1 !f2         找文件,-n指n天以内,+n指n天以前 

-ctime  -n +n          #按文件创建时间来查找文件,-n指n天以内,

-nogroup               #查无有效属组的文件,即文件的属组

-nouser                #查无有效属主的文件,即文件的属主

-newer f1 !f2          #查更改时间比f1新但比f2旧的文件

-type  b/d/c/p/l/f    #查是块设备、目录、字符设备、管道、符号

===========================================================


                    链接、普通文件

-size n[c]          #查长度为n块[或n字节]的文件

-depth              #使查找在进入子目录前先行查找完本目录

-fstype             #查更改时间比f1新但比f2旧的文件

-mount              #查文件时不跨越文件系统mount点

-follow             #如果遇到符号链接文件,就跟踪链接所指的文

===========================================================                                    

二.在windows下,一个文件有:创建时间、修改时间、访问时间。而在Linux下,


一个文件也有三种时间,分别是:访问时间、修改时间、状态改动时间。


mtime:文件最近内容修改的时间

ctime:文件最近属性和权限修改的时间

atime:文件最近被访问的时间

 

1.ls -l filename(ls默认显示的是mtime)

 

  -rw-rw-r-- 1 lawrance lawrance 27 Oct  5 02:09 filename


  wKiom1dDCFbyu_YNAAAPWGWuaqI162.png


 

2.ls -l --time=ctime filename 


  -rwxr-xr-x 1 lawrance lawrance 27 Oct  6 02:50 filename

 

3.ls -l --time=atime filename 


  -rw-rw-r-- 1 lawrance lawrance 27 Oct  6 02:30 filename


wKioL1dDCW2gvvETAAAfZsGnDl0781.png



另外,可以格式化输出文件的三种时间,如:


1.find . -name file -printf "%AY-%Am-%Ad %AH:%AM:%AS"

2.find . -name file -printf "%TY-%Tm-%Td %TH:%TM:%TS"

3.find . -name file -printf "%CY-%Cm-%Cd %CH:%CM:%CS"


本文出自 “零点时光” 博客,请务必保留此出处http://10741764.blog.51cto.com/10731764/1773811

1 0