find命令学习
find命令与locate命令的区别:
- locate:
- 非实时查找;
- 依赖于索引,而索引构建非常占用资源,索引的创建是在系统空闲时系统自动进行,可以用updatedb命令更新索引;
- 查找速度快;
- 非精确查找;
- find:递归地在层次目录中搜索符合条件的文件;
- 实时查找;
- 精准查找 (系统上实时的有就是有没有就是没有);
- 精确查找 (查找结果绝对符合查找条件才予显示);
- 查找速度慢;
- find使用方法:默认使用当前目录;
- find搜索条件
- -name/-iname:根据用户相关的参数进行查找;
-iname: 按照文件名来搜索(可以使用通配符);
通配符有:*: 匹配任意多个字符;
?: 匹配任意一个字符;
[]: 匹配任意一个中括号内的字符;
[^]: 匹配任意一个不在中括号内的字符;
-iname: 按照文件名来搜索,并忽略大小写(可以使用通配符);
-user: 按照文件所有者搜索;
-group: 按照文件所属组搜索;
-nouser: 搜索不属于这个用户的文件;
-nogroup: 搜索不属于这个用户组的文件;
-uid: 按照用户UID搜索;
-gid: 按照用户GID搜索;
- 组合条件查询;
- -a: 与(and),同时满足两个条件,条件一不满足就不执行条件二;
- -o: 或(or), 两个条件只需要满足一个条件;
- -not: 非,两个条件的值取反;非A并且非B==非(A或B),非A或非B==非(A与B)
- -type:根据文件类型查找文件;
- f: 普通文件
- d: 目录文件
- b: 块设备文件
- c: 字符设备文件
- l: 符号链接文件
- p: 命令管道文件
- s: 套接字文件
- -size:根据文件大小查找文件。常用单位:G、M、k,注意M大写,k小写;
- -size -10k: 搜索文件大小小于10k的文件;
- -size 10M: 搜索文件大小为10M的文件;(#+1)>X>=#
- -size +10G: 搜索文件大小大于10G的文件;
- -time:根据文件时间查找文件;
- 以天为单位(time);
- -atime 10: 搜索10天前当天访问的文件;(#+1)>X>=#
- -mtime -10: 搜索10天内修改过的文件;
- -ctime +10: 搜索10天修改过文件属性的文件;
- 以分钟为单位(min);
- -amin 10: 搜索10分钟前当天修改的文件;(#+1)>X>=#
- -mmin -10: 搜索10分钟内修改过的文件;
- -cmin +10: 搜索10分钟前修改过文件属性的文件;
- -perm:根据文件权限查找文件;
- MODE: 精确匹配;
- +MODE: 任何一类用户任何一位权限匹配,常用于某类用户的某特定权限是否存在;
- -MODE: 每类用户指定的权限位都要匹配;
- find处理动作;
- -print: 打印在标准输出上;
- -ls: 以长格式输出各文件信息;
-exec COMMAND \;: 对查找到的文件执行指定的命令,查找结果太多可能导致命令溢出;
1[root@demo tmp]# find /tmp/ -perm -001 -type f -exec ls -l {} \;- -ok COMMAND \;: 对查找到的文件交互式执行命令;
- find | xargs COMMAND: 对查找到的文件执行交互命令;
1
[root@demo tmp]# find /tmp/ -perm -003 -type f | xargs chmod o-wx - find命令练习:
- 将/tmp/目录下所有文件后缀为xls的修改为xlsx;
123456789
[root@demo tmp]# ll-rw-rw-r-- 1 hadoop hadoop 0 Jul 26 16:38 hadoop.doc-rwxr-xr-- 1 root hadoop 0 Jul 29 21:50 hadoop.xls-rwxr-xr-x 1 openstack openstack 0 Jul 26 16:38 openstack.xlsx[root@demo tmp]# find /tmp/ -iname "*.xls" -exec mv {} {}x \;[root@demo tmp]# ll-rw-rw-r-- 1 hadoop hadoop 0 Jul 26 16:38 hadoop.doc-rwxr-xr-- 1 root hadoop 0 Jul 29 21:50 hadoop.xlsx-rwxr-xr-x 1 openstack openstack 0 Jul 26 16:38 openstack.xlsx - 查找/tmp目录中属主为root且属组为hadoop的文件;
1
[root@demo tmp]# find /tmp/ -user root -a -group hadoop -ls - 查找/tmp目录下不属于root、hadoop或bin的所有文件;
1
[root@demo tmp]# find /tmp/ -not -user root -not -user hadoop -not -user bin -ls - 查找/var/log目录下最近一周内容修改过且不属于root或hadoop的文件;
1
[root@demo tmp]# find /var/log/ -mtime -7 -not -user root -not -user hadoop - 查找当前系统没有属主或属组且最近一个月内被访问的文件;
1
[root@demo ~]# find / \(-nouser -o -nogroup\) -atime -30 - 查找/var/log目录下大于1M且类型为普通文件的所有文件;
1
[root@demo ~]# find /var/log/ -size +1M -type f - 查找/etc/init.d目录下所有用户没有写权限的文件;
1
[root@demo ~]# find /etc/init.d/ -perm -222 - 查找/etc/init.d目录下至少一类没有写权限的文件;
1
[root@demo ~]# find /etc/init.d/ -perm +222 - 查找/etc/init.d目录下,所有用户都有执行权限及其他用户有写权限的文件;
1
[root@demo ~]# find /etc/init.d/ -perm -113
find命令学习的更多相关文章
- 别出心裁的Linux命令学习法
别出心裁的Linux命令学习法 操作系统操作系统为你完成所有"硬件相关.应用无关"的工作,以给你方便.效率.安全.操作系统的功能我总结为两点:管家婆和服务生: 管家婆:通过进程.虚 ...
- Git版本控制软件结合GitHub从入门到精通常用命令学习手册(转)
简要参考:http://www.tuicool.com/articles/mEvaq2 http://gitref.org/zh/index.html GIT 学习手册简介 本站为 Git 学习参考手 ...
- penghui_031413 Bat命令学习
penghui_031413 Bat命令学习 基础部分:====================================================================== ...
- Linux命令学习
Linux命令学习 Ubuntu常用快捷键 •Ctrl+Alt+T: 打开终端 •Ctrl+Shift+T: 新建标签页 •Tab: 终端中命令补全 •Alt+数字N: 终端中切换到第N个标签页 •↑ ...
- Linux的几个概念,常用命令学习
Linux的几个概念,常用命令学习---------------------------------设备名装载点// 通过装载点访问设备-------------------------------- ...
- Java命令学习系列(7):Javap(转)
原文出处: Hollis(@Hollis_Chuang) javap是jdk自带的一个工具,可以对代码反编译,也可以查看java编译器生成的字节码. 一般情况下,很少有人使用javap对class文件 ...
- TCP/IP协议学习之实例ping命令学习笔记
TCP/IP协议学习之实例ping命令学习笔记(一) 一. 目的为了让网络协议学习更有效果,在真实网络上进行ping命令前相关知识的学习,暂时不管DNS,在内网中,进行2台主机间的ping命令的整个详 ...
- south 命令学习
south 命令学习 概述 在django某个版本之前,django自身提供一个创建数据库的命令-syncdb,它会根据model来创建相应的表,但是这个命令不好的地方在于,如果想要对model进行更 ...
- mondb 常用命令学习记录
mondb 常用命令学习记录 一.MongoDB 下载安装 MongoDB官网 提供了可用于 32 位和 64 位系统的预编译二进制包,你可以从MongoDB官网下载安装,MongoDB 预编译二进制 ...
- linux基础命令学习笔记(二)
linux基础命令学习笔记(二) 1.kill :终止进程 kill pid (唯一标示一个进程) kill -9 强制终止 kill -15 命令未结束不能终止 # ps aux 查看所有进程 ...
随机推荐
- python打怪之路【第三篇】:利用Python实现三级菜单
程序: 利用Python实现三级菜单 要求: 打印省.市.县三级菜单 可返回上一级 可随时退出程序 coding: menu = { '北京':{ '朝阳':{ '国贸':{ 'CICC':{}, ' ...
- 15 sql base line 工作机制
<个人Configuration> 正常配置一下, 就OK了, 不用理了, oracle 11g 默认启动 发展: .从Oracle的发展角度来看,估计这种方法是Oracle发展和改进的方 ...
- Windows里面的hosts文件
一.什么是Hosts文件? hosts文件是一个用于储存计算机网络中各节点信息的计算机文件.这个文件负责将主机名映射到相应的IP地址.hosts文件通常用于补充或取代网络中DNS的功能.和DNS不同的 ...
- POM.xml 标签详解
pom作为项目对象模型.通过xml表示maven项目,使用pom.xml来实现.主要描述了项目:包括配置文件:开发者需要遵循的规则,缺陷管理系统,组织和licenses,项目的url,项目的依赖性,以 ...
- Google Volley框架源码走读
PS一句:最终还是选择CSDN来整理发表这几年的知识点,该文章平行迁移到CSDN.因为CSDN也支持MarkDown语法了,牛逼啊! [工匠若水 http://blog.csdn.net/yanb ...
- 爬虫:获取多次跳转后的页面url
<?php $url = "xxxx"; $xx = get_headers($url,true); var_dump($xx); ?> Nbimer主页 剖面加阴影应 ...
- Laravel 5 数据库迁移文件示例
php artisan make:migration create_stocks_table 在项目根目录执行上面的命令后,会在database/migrations目录下生成2016_06_03_1 ...
- 使用scp将文件/目录拷贝到另一台Linux主机上
如何将一台Linux主机上的文件或目录拷贝到另一台Linux主机上,scp命令可以实现该需求 前提条件:两台Linux主机处于同一网段,可以互相ping通 操作如下: 文件拷贝 ①将本地文件拷贝到远端 ...
- winform客户端程序第一次调用webservice方法很慢的解决方法
.net2.0的winform客户端最常用的与服务端通信方式是通过webservice,最近在用dottrace对客户端做性能测试的时候发现,客户端程序启动以后,第一次调用某一个webservice的 ...
- Java实习生面试总结
之前写了一直存着当草稿,今天看了看. --------------------------------------------------------------------------------- ...