Find命令的简单使用
2015-09-06 13:32
246 查看
Find:一般用于查找目录和文件文件查找一般可使用以下命令:locate: 非实时查找工具;依赖于事先构建的索引;索引的构建是在系统较为空闲时自动进行(周期性任务);手动更新此数据库(updatedb);查找速度快;模糊查找;find:实时查找;查找速度略慢;精确查找find命令的一般用法:find [OPTION]... [查找路径] [查找条件] [处理动作]查找路径:默认为当前路径;查找条件:指定的查找标准,可以根据文件名、大小、属主属组、类型等进行;默认为找出指定路径下的所有文件;处理动作:对符合条件的文件做什么操作;默认为输出至屏幕查找条件:根据文件名进行查找:-name "文件名称": 支持使用glob;*, ?, [] 可使用通配符-iname "文件名称":不区分字符大小写,支持使用glob;-regex "PATTERN":以PATTERN匹配整个文件路径字符串,而不仅仅是文件名称;
根据属主、属组查找:-user USERNAME: 查找属主为指定用户的文件-group GROUPNAME:查找属组为指定用户的文件-uid UserID: 查找文件的属主指定uid的文件;-gid GroupID:查找文件的属组指定gid的文件-nouser: 查找没有属主的文件-nogroup:查找没有属组的文件
根据文件类型进行查找:-type TYPEf: 普通文件d: 目录l: 符号链接b: 块设备c: 字符设备p: 命名管道s: 套接字
组合查找条件:与条件:-a或条件:-o非条件:-not, !根据德.摩根定律演化为:!A -o !B = !(A -a B)!A -a !B = !(A -o B)
根据文件大小来查找:-size [+|-]#UNIT单位:k, M, G
#UNIT: (#-1,#]+#UNIT: (#,+oo)-#UNIT:[0,#-1]
根据时间戳:以"天"为单位-atime [+|-]# 与文件大小的统计方式有所不同#:[#,#+1)+#: [#+1,oo]-#: [0,#)-mtime-ctime
以"分钟"为单位-amin-mmin-cmin
根据权限:-perm [/|-]MODEMODE: 精确权限匹配/MODE:任何一类对象(u,g,o)的任何一位权限符合条件即可;隐含或条件;-MODE:为每一类对象指定的每一位权限都必须同时存在方为符合条件;隐含与条件;
处理动作:-print: 默认处理动作-ls:类似于对查找到的每个文件做"ls -l"的操作;-delete: 删除查找到的文件;-fls /path/to/somefile:查找到的文件的详细路径信息保存至指定文件中;-ok COMMAND {} \;对每个文件执行指定的命令之前需要用户事先确认-exec COMMAND {} \;无需用户确认
作业:查找/var目录属主为root,且属组为mail的所有文件 find /var/ -user root group mail -ls
查找/etc目录下至少有一类用户没有执行权限的文件find /etc/ -not -perm -111 ls
查找/etc/init.d目录下,所有用户都有执行权限,且其它用户拥有写权限的文件find /etc/init.d/ -perm -113 -ls
根据属主、属组查找:-user USERNAME: 查找属主为指定用户的文件-group GROUPNAME:查找属组为指定用户的文件-uid UserID: 查找文件的属主指定uid的文件;-gid GroupID:查找文件的属组指定gid的文件-nouser: 查找没有属主的文件-nogroup:查找没有属组的文件
根据文件类型进行查找:-type TYPEf: 普通文件d: 目录l: 符号链接b: 块设备c: 字符设备p: 命名管道s: 套接字
组合查找条件:与条件:-a或条件:-o非条件:-not, !根据德.摩根定律演化为:!A -o !B = !(A -a B)!A -a !B = !(A -o B)
根据文件大小来查找:-size [+|-]#UNIT单位:k, M, G
#UNIT: (#-1,#]+#UNIT: (#,+oo)-#UNIT:[0,#-1]
根据时间戳:以"天"为单位-atime [+|-]# 与文件大小的统计方式有所不同#:[#,#+1)+#: [#+1,oo]-#: [0,#)-mtime-ctime
以"分钟"为单位-amin-mmin-cmin
根据权限:-perm [/|-]MODEMODE: 精确权限匹配/MODE:任何一类对象(u,g,o)的任何一位权限符合条件即可;隐含或条件;-MODE:为每一类对象指定的每一位权限都必须同时存在方为符合条件;隐含与条件;
处理动作:-print: 默认处理动作-ls:类似于对查找到的每个文件做"ls -l"的操作;-delete: 删除查找到的文件;-fls /path/to/somefile:查找到的文件的详细路径信息保存至指定文件中;-ok COMMAND {} \;对每个文件执行指定的命令之前需要用户事先确认-exec COMMAND {} \;无需用户确认
作业:查找/var目录属主为root,且属组为mail的所有文件 find /var/ -user root group mail -ls
查找/usr目录下不属于root、bin或hadoop的所有文件 find /usr/ -not \( -user root o user bin o Hadoop \) -ls
查找/etc目录下最近一周内其内容修改过,且属主不为root或hadoop的所有文件
find /usr/ -mtime -7 not \( -user root o user Hadoop \) -ls
查找当前系统上没有属主或属组,且最近一周内曾被访问过的所有文件
find / -nouser -o -nogroup -atime -7
查找/etc目录下大于20k且类型为普通文件的所有文件
find /etc/ -size +20k -type f ls
查找/etc目录下所有用户都没有写权限的文件
find /etc/ -perm not /222 -ls
查找/etc目录下至少有一类用户没有执行权限的文件find /etc/ -not -perm -111 ls
查找/etc/init.d目录下,所有用户都有执行权限,且其它用户拥有写权限的文件find /etc/init.d/ -perm -113 -ls
相关文章推荐
- Android之获取手机上的图片和视频缩略图thumbnails
- 数据库链接字符串查询网站
- DB2实例管理
- DB2实例管理
- 保障MySQL数据安全的14个最佳方法
- mysql问答汇集
- 创建一个空的IBM DB2 ECO数据库的方法
- Access 2000 数据库 80 万记录通用快速分页类
- 开通一个数据库失败的原因的和解决办法
- 一个简单的asp数据库操作类
- CentOS下DB2数据库安装过程详解
- EasyASP v1.5发布(包含数据库操作类,原clsDbCtrl.asp)第1/2页
- ruby执行周期性任务的三种gem介绍
- sql2008 还原数据库解决方案
- Oracle 数据库自动存储管理-安装配置
- Oracle 数据库 临时数据的处理方法
- 数据库分页查询语句数据库查询
- 最近比较流行的数据库挂马
- 分割超大Redis数据库例子