Linux中的find命令及其相关内容(灰常重要):
Linux下find命令用于在目录结构中搜索文件,并执行相关操作。Linux为find命令提供了相当多的查找调价,功能强大。由于find具有非常强大的功能,所以它的选项也很多。即使在系统中含有网络文件系统(NFS),若具有相应权限,find命令该文件系统中同样有效。
在运行非常消耗资源的find命令是,都倾向于把它放在后台执行,因为遍历一个大的文件系统(30G以上)可能会话费很长的时间。
*格式:
find pathname -option[-print -exec -ok...]
pathname:查找路径。例如:用.表示当前目录,用/表示系统目录
-option:
*命令参数:
-print:将匹配的文件输出到标准输出
-exec:对匹配的文件执行所给的shell命令。形式为:command { } \;注意{ }和\;之间的空格
-ok:和-exec作用相同。只不过以一种更安全的模式执行该参数所给的shell命令。在执行每个命令之前,都会给出提示,让用户确定是否执行。
- -name:按照文件名称查找
a)按文件全名查找
b)按文件名的一部分查找
查找02开头的文件
查找以.c结尾的文件
c)在当前目录下按名字找(用.表示当前目录,用/表示系统目录)缺省时,默认在当前目录下找
c)查以大写字母开头的文件
d)查以两个小写字母和两个数字结尾的txt文件
e)查找以0开头或以1开头的文件
2. 按修改时间查找最近文件
a)查找home目录下最近两天修改的文件
b)查找20分钟内存取过的文件
-mtime -10(10天内改动的文件)
-atime -9(9天内存取过的文件)
-mmin +60(60分钟前改动过的文件)
-amin -30(30分钟内存取过的文件)
c)在/home下查更新时间比test.test近的文件或目录
d)在/home/footmart/cmd下查存取时间比tmp.txt近的文件或目录
e)/home/footmart/cmd中在2日内被存取过的文件或目录
3.按用户查找文件或目录
a)查找用户root(footmart)在当前目录中的文件
*命令选项:
-name:按照文件名称查找
-prune:不在当前指定的路径查找。如果同时指定了-depth选项,则prune被忽略
-user:按照文件属主查找
-group:按照文件属组查找
-mtime -n +n:按照文件更改时间查找。-n 指距离现在时间n天以内;+n n天以外
-nogroup:查找无效属组文件
-nouser:查找无效属主文件
-newer file1 !file2:查找更改时间比file1新比file2旧的文件
-type:查找某一类型文件
b:块设备文件
d:目录
c:字符设备文件
P:管道文件
l:符号链接文件
f:普通文件
-size n[c]查找文件长度为n块的文件 有[c]表示文件长度以字节计
-depth:查找时,首先查找当前目录文件,然后再在其子目录查找
-fstype:查找位于某一类型文件系统中的文件,文件系统类型可在/etc/fstab中找到
-mount:查找文件不跨越文件系统mount点
-follow:如遇到链接文件,则跟踪至链接所指向文件
-cpio:对匹配的文件使用cpio命令,将文件备份到磁带设备中