Linux下find命令在目录结构中搜索文件,并执行指定的操作。Linux下find命令提供了相当多的查找条件,功能很强大。由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时间来了解一下。即使系统中含有网络文件系统( NFS),find命令在该文件系统中同样有效,只你具有相应的权限。
linux下find命令的用法
find -name //根据文件名查找(精确查找)
find -name "*.txt" //根据关键字查找
find -iname //根据文件名查找,但是不区分大小写
find -name a* //在当前目录下查找以a开始的文件
650) this.width=650;" src="http://s2.51cto.com/wyfs02/M01/80/7F/wKiom1dDBu3zAp1jAAAlsKBtgrk434.png" title="H3JG1JYW9_%BT_G`FUJI%V5.png " alt="wKiom1dDBu3zAp1jAAAlsKBtgrk434.png" />
650) this.width=650;" src="http://s1.51cto.com/wyfs02/M01/80/7E/wKioL1dDCBKgLc5LAAAQ23atZSo841.png" title="AUS$)DQWN8QQQT2FJ)EUDB9.png" alt="wKioL1dDCBKgLc5LAAAQ23atZSo841.png" />
2. 按尺寸查找:
find / -size 1500c (查找1,500字节大小的文件,c表示字节)
find / -size +1500c (查找大于1,500字节大小的文件,+表示大于)
find / -size -1500c (查找小于1,500字节大小的文件,-表示小于)
650) this.width=650;" src="http://s1.51cto.com/wyfs02/M02/80/7E/wKioL1dDCD_wRzXEAABIHHynvjw591.png" title="_Y$@QJZ44L]401D9Y47_AGP.png" alt="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小时被改变文件数据的文件
650) this.width=650;" src="http://s1.51cto.com/wyfs02/M02/80/7E/wKioL1dDCIbQqnGnAAAhtGe768Q548.png" title="449AHCZUOM59%B$LY`N7HKR.png " alt="wKioL1dDCIbQqnGnAAAhtGe768Q548.png" />
650) this.width=650;" src="http://s2.51cto.com/wyfs02/M00/80/7E/wKioL1dDCLvDDnKVAAAqz2Pnbrk777.png" title="BHY@MCT))WZ_3{QP2S(QKK1.png" alt="wKioL1dDCLvDDnKVAAAqz2Pnbrk777.png" />
650) this.width=650;" src="http://s4.51cto.com/wyfs02/M01/80/7E/wKioL1dDCOXilwcVAAAdMKfX-Y8229.png" title="DTHJJM}UND9X2{7{[WJ0IPO.png" alt="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
650) this.width=650;" src="http://s2.51cto.com/wyfs02/M02/80/7E/wKioL1dDCRvA8jKOAABLAyARB2g849.png" title="Z1F_RY8KV9)V%50W)[SKZ{U.png" alt="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
650) this.width=650;" src="http://s1.51cto.com/wyfs02/M01/80/80/wKiom1dDCFbyu_YNAAAPWGWuaqI162.png" title="NKZ5[H_62DFX(FM[3K1M(VU.png" alt="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
650) this.width=650;" src="http://s4.51cto.com/wyfs02/M01/80/7E/wKioL1dDCW2gvvETAAAfZsGnDl0781.png" title="`C0HII92Q26QUHMV(DU0PDJ.png " alt="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