===== Linux command find
默认情况下,是从当前目录开始,向下扫描所有的目录。
find 是基于文件的属性来进行查询的,还可以对查询结果执行某种操作,通常对每个查询结果运行一些程序。
Linux find command
find path -option [ -print ] [ -exec -ok command ] {} \;
E.p
find -name "*.html" -type f
-name :表示扫描查询的文件名,-iname:表示区分大小写。
-type :指定查询文件类型;f :表示查找文件为普通文件, d:表示查找对象是目录 l:表示符号连接。
上面表示从当前目录开始,向下扫描查找类型是普通文件的所有.html文件。
默认 find 将遍历所有子目录,如果只想搜索当前目录,不想搜索下一层:
可以添加 -maxdepth 1
设置为0表示只检验命令行给定的文件。
find 另一个应用:搜索属于某个用户的文件。
find / -user chen
同样可以搜索基于组的用户文件。
基于时间搜索文件:
find -ctime -1 ==========搜索24小时内创建的文件,
find -atime 1 ==========搜索24小时前访问的文件
find -mtime 1 ==========搜索24小时前修改的文件
使用分钟变量:
-cmin -amin -mmin
如果 作了一个操作,为了确定是修改了哪些文件,可以使用fing命令:
fing -mmin -5 ========查找5分钟内修改的文件
返回文件权限和时间信息
fing -user chen -iname "*.html" -ls
-exec command {} \; ========将查到的文件执行command操作
-ok command {} \; ========与-exec一样,不过执行操作前会询问用
========http://www.defit.cn/html/liunx/xinshourumen/soft/20070427/1066.html
==========http://www.diybl.com/course/6_system/linux/Linuxjs/2007917/71738_3.html
-name filename # 查找名为 filename 的文件
-perm #按执行权限来查找
-user username #按文件属主来查找
-group groupname #按组来查找
-mtime -n +n #按文件更改时间来查找文件,-n指n天以内,+n指n天以前
-atime -n +n #按文件访问时间来查
-perm #按执行权限来查找
-user username #按文件属主来查找
-group groupname #按组来查找
-mtime -n +n #按文件更改时间来查找文件,-n指n天以内,+n指n天以前
-atime -n +n #按文件访问时间来查找文件,-n指n天以内,+n指n天以前
-ctime -n +n #按文件创建时间来查找文件,-n指n天以内,+n指n天以前
-nogroup #查无有效属组的文件,即文件的属组在/etc/groups中不存在
-nouser #查无有效属主的文件,即文件的属主在/etc/passwd中不存
-newer f1 !f2 找文件,-n指n天以内,+n指n天以前
-ctime -n +n #按文件创建时间来查找文件,-n指n天以内,+n指n天以前
-nogroup #查无有效属组的文件,即文件的属组在/etc/groups中不存在
-fstype #查更改时间比f1新但比f2旧的文件
-type b/d/c/p/l/f #查是块设备、目录、字符设备、管道、符号链接、普通文件
-size n[c] #查长度为n块[或n字节]的文件
-depth #使查找在进入子目录前先行查找完本目录
-fstype #查位于某一类型文件系统中的文件,这些文件系统类型通常可 在/etc/fstab中找到
-mount #查文件时不跨越文件系统mount点
-follow #如果遇到符号链接文件,就跟踪链接所指的文件
-cpio #查位于某一类型文件系统中的文件,这些文件系统类型通常可 在/etc/fstab中找到
-mount #查文件时不跨越文件系统mount点
-follow #如果遇到符号链接文件,
fing -type f -exec ls -l {} /; =========查找当前目录下的所有普通文件并使用ls -l 命令列出
fing /logos -type f -mtime -5 -exec rm {} /; =====在/logos 下查找5天内修改的普通日志文件并删除
find *.c -exec cp '{}' /tmp ';' ========将find出来的东西拷到另一个地方
find ./ -name "*php"` | ls -l --full-time $A 2>/dev/null | grep "2004-11-30 16:36:37"
=======查找2004-11-30 16:36:37时更改过的文件