Linux学习笔记04
文件查找命令find
文件查找命令: which locate find
which:查找命令字所在的位置
locate:模糊匹配(只要包含关键字的文件都查找出来)
不是实时的,基于数据库查找, updatedb升级locate数据库
查找速度特别快
find:查看文件或目录的工具
特点: 实时查找
精确查找
遍历整个指定目录中的文件,速度很慢
支持多种查找条件(属主,属组,权限,文件名等)
语法: find [find_path] [条件] [处理动作]
find_path:如果不写,默认在当前工作目录查找
条件:如果不写,会查找出该路径下所有的文件
处理动作:默认打印到屏幕上 print
条件:(匹配标准)
-name file_name:根据文件名进行查找,区分大小写
查找条件通配符:
*:通配任意个数的任意字符 # find /etc/ -name "pass*" # find /etc/ -name "*pass"
?:通配单个的任意字符 # find /etc/ -name "passw*"
-iname file_name:根据文件名进行查找,不区分大小写
-regex PATTERN:根据正则表达式的模式进行查找
-user:通过属主进行查找
-group:通过属组进程查找
-uid UID:通过UID号进行查找
-gid GID:通过GID号进行查找
-nouser:查找没有属主的文件
-nogroup:查找没有属组的文件
-type:根据文件类型进行查找
-b:块设备
-c:字符设备
-d:目录
-f:文件
-p:命名管道
-s:套接字文件
-l:链接文件
-size [+ | -] num [k|m|g]
-size 5k:精确匹配
+:大于
-:小于
根据时间戳进行查找: # stat file_name //查看文件的时间戳
[+ | -] 也起作用
-atime:时间单位为天,access时间
-mtime:时间单位为天,modify时间
-ctime:时间单位为天,change时间
-mmin:时间单位为分钟,modify时间
-amin:时间单位为分钟,access时间
-cmin:时间单位为分钟,change时间
根据权限查找:
-perm MODE:
MODE:num(如644),精确匹配
/MODE:/num任意一位匹配
-MODE:-num文件权限能够完全包含此MODE时才能匹配
条件组合:
-a:同时满足多个条件,比如查找属主是tom并且权限为644的文件
-o:满足一个条件即可,比如查找属主是tom或者权限为644的文件
-not:不满足条件的被查找出来
出来动作:
-print:默认动作,默认查找结果打印到屏幕
-ls:默认以类似于ls -l的形式显示结果的信息
-ok COMMAND {} \;执行动作时提示用户是否执行,必须以\;结尾,{}代表文件名占位符
-exec COMMAND {} \;执行动作时不提示用户直接执行,必须以\;结尾,{}代表文件名占位符
1、查找/var目录下属主为root并且属组为mail的所有文件;
find /var -user root -a -group mail
2、查找/usr目录下不属于root,bin,或student的文件;
find /usr -not -user root -a -not -user bin -a -not -user student
find /usr -not \( -user root -o -user bin -o -user student \)
3、查找/etc目录下最近一周内内容修改过且不属于root及student用户的文件;
find /etc -mtime -7 -not \ ( -user root -o -user student \)
find /etc -mtime -7 -not -user root -a -not -user student
4、查找当前系统上没有属主或属组且最近1天内曾被访问过的文件,并将其属主属组均修改为root;
find / \( -nouser -o -nogroup \) -a -atime -1 -exec chown root:root {} \;
5、查找/etc目录下大于1M的文件,并将其文件名写入/tmp/etc.largefiles文件中;
find /etc -size +1M >> /tmp/etc.largefiles
6、查找/etc目录下所有用户都没有写权限的文件,显示出其详细信息;
find /etc -not -perm /222 -ls
Linux学习笔记04的更多相关文章
- 鸟哥Linux学习笔记04
1, . 当前目录 ..上层目录 2, 目录的相关操作 1)cd(切换目录) [root@node1 ~]# cd [相对路径或绝对路径] [root@node1 ~]# cd : 回到自 ...
- Linux学习笔记04—IP配置
一.自动获取IP只有一种情况可以自动获取IP地址,那就是你的Linux所在的网络环境中有DHCP服务.只要你的真机可以自动获取IP,那么安装在虚拟机的Linux同样也可以自动获取IP. 方法很简单,只 ...
- Linux 学习笔记04丨Linux的用户和用户组管理
Chapter 3. 用户和用户组管理 由于Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以该账号身份进入系统. 3.0 用户与 ...
- Linux 学习笔记
Linux学习笔记 请切换web视图查看,表格比较大,方法:视图>>web板式视图 博客园不能粘贴图片吗 http://wenku.baidu.com/view/bda1c3067fd53 ...
- Linux 学习笔记之超详细基础linux命令 Part 13
Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 12---------------- ...
- Linux 学习笔记之超详细基础linux命令 Part 11
Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 10---------------- ...
- Linux 学习笔记之超详细基础linux命令 Part 9
Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 8----------------- ...
- Linux 学习笔记之超详细基础linux命令 Part 1
Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 说明:主要是在REHL Server 6操作系统下进行的测试 --字符界面虚拟终端与图形界面之间的切 方法:[ ...
- 20155303狄惟佳预备作业三Linux学习笔记
20155303狄惟佳预备作业三Linux学习笔记 初次接触Ubuntu系统以及Linux内核,了解了其产生的历史,从感性来讲,深深吸引我的是其中蕴含的珍贵的开源精神,以及Stallman等人对&qu ...
随机推荐
- 直播技术:从性能参数到业务大数据,浅谈直播CDN服务监控
线上服务的有效监控和数据收集,一直是后端服务离不开的话题.直播作为一种经典的分布式系统,监控以及数据收集更是必不可少的工作.如何对海量的服务集群有效的监控和保活,又如何抓取集群中的碎片数据中来优化服务 ...
- Spring Boot 教程
Spring Boot 系列教程: Spring Boot:快速入门教程 Spring Boot:整合Swagger文档 Spring Boot:整合MyBatis框架 Spring Boot:实现M ...
- ZooKeeper学习之路(四)—— Java 客户端 Apache Curator
一.基本依赖 Curator是Netflix公司开源的一个Zookeeper客户端,目前由Apache进行维护.与Zookeeper原生客户端相比,Curator的抽象层次更高,功能也更加丰富,是目前 ...
- Ubuntu 配置docker镜像加速器
1. 安装/升级Docker客户端 推荐安装1.10.0以上版本的Docker客户端,参考文档 docker-ce 2. 配置镜像加速器 针对Docker客户端版本大于 1.10.0 的用户 您可以通 ...
- mybatis以及预编译如何防止SQL注入
SQL注入是一种代码注入技术,用于攻击数据驱动的应用,恶意的SQL语句被插入到执行的实体字段中(例如,为了转储数据库内容给攻击者).[摘自] SQL injection - Wikipedia SQL ...
- 2019.ccpc女生赛-wfinal总结
2019ccpc女生赛离它结束有四天了,在这个期间我想了很多,想了想还是决定写这个总结.作为这个队伍唯一的一名大一队员,我很庆幸,能跟着两个学姐一起打比赛,计爱玲师姐,即将工作,张莹俐学姐.这估计都是 ...
- 解决Spring的java项目打包后执行出现“无法读取方案文档...“、“原因为 1) 无法找到文档; 2) 无法读取文档; 3) 文档的根元素不是...”问题
问题 一个用Spring建的java项目,在Eclipse或idea中运行正常,为什么打包后运行出现如下错误呢? 2019/07/10/19:04:07 WARN [main] org.springf ...
- Codeforces 755A:PolandBall and Hypothesis(暴力)
http://codeforces.com/problemset/problem/755/A 题意:给出一个n,让你找一个m使得n*m+1不是素数. 思路:暴力枚举m判断即可. #include &l ...
- .Net Core 防止跨站点请求伪造
一.在From 表单中生成 antiforgery 令牌 1. ASP.NET Core MVC 和 Razor 页模板中的窗体的所有生成 antiforgery 令牌,唯一且不可预测.服务器先发送到 ...
- android网络编程-socket基础
转载http://www.eoeandroid.com/thread-61727-1-1.html 一.Socket通讯机制1. TCP连接: 面向连接的可靠传输协议,具有数据确认和数据重传机制,保证 ...