Linux - Shell - find - 基础
- 概述 - find 基础
 
- 背景 - 查找文件
- 人的记忆能力, 是有限的
- 计算机里的文件数量, 虽然不是无限, 但是也不少
- 要去找那些 记不清楚的文件, 必然要用查找
 
 
- 查找文件
- 准备 - OS - centos7
 
- 用户 - root
- 其他用户在执行中, 可能会遇到权限的问题
- 这里就不讲了...
 
 
- 其他用户在执行中, 可能会遇到权限的问题
 
- root
 
1. find
- 概述 - 强大的文件查找工具
 
- 功能 - 查找文件
- 约束条件查找文件
- 对查找后的内容, 可以执行操作
 
- 命令结构 - > find [path] [options] [opt]
 
- opt - 概述 - find 之后的操作
 
- 默认 - 打印完整的文件路径
 
- 其他 - 这个以后再说
- opt
 
 
- 这个以后再说
 
2. path
- 概述 - path 参数
 
- path - 搜索路径
- 这个算是第一个 约束条件
- 约束了地址, 可以让 查找范围更加精确
 
 
- 搜索路径
- 例子 - # 1. 搜索 当前路径 下, 所有文件
 > find
 # 2. 搜索 特定路径 下, 所有文件
 > find /etc
 # 3. 搜索 多个路径 下, 所有文件
 > find ~ /etc
 
3. 约束: 文件名
- 概述 - 添加 文件名 文件名约束
 
- -name - 功能
- 添加 文件名 的限定条件
- 支持 通配符
 
 
- 功能
- 例子 - # 精确查找文件名
 > find /etc/ -name 'passwd'
 # 基于 通配符 的 模糊查找
 > find /etc/ -name 'pass*'
 
- 结果 - -name 里的条件, 匹配的是 文件名, 或者 目录名
- 如果中间路径带有有 关键字 的话, 不会被 匹配出来
 
 
- -name 里的条件, 匹配的是 文件名, 或者 目录名
4. 约束: 正则路径
- 概述 - 更加强大的 约束
- 约束的对象, 是 文件路径
 
- -regex - 功能
- 添加 路径 的限定条件
- 正则
 
 
- 功能
- 例子 - > find /etc/ -regex '.*pass.*'
 
- 结果 - 路径匹配
- 路径中含有关键字, 也会被 搜索出来
- 能力更强大
 
 
- 路径中含有关键字, 也会被 搜索出来
 
- 路径匹配
- 其他 - 还有 -regextype 可以指定 正则类型
 
5. 约束: 用户
- 概述 - 以 用户 作为约束条件
 
- -user - 功能
- 限定 文件 或 目录 的所属用户
 
 
- 功能
- 例子 - > find /etc -user "tss"
 
- 其他 - 如果用户不存在, 会有异常提示
- 如果要找没有用户的文件, 可以用 -nouser
 
6. 约束: 用户组
- 概述 - 以 用户组 作为约束条件
 
- -group - 功能
- 限定 文件 或 目录 的所属用户组
 
 
- 功能
- 例子 - > find /etc -group "tss"
 
- 其他 - 如果用户组不存在, 会有异常提示
- 如果要找没有用户组的文件, 可以用 -nogroup
 
7. 约束: 文件权限
- 概述 - 以 文件执行权限 作为约束
 
- -perm - 功能
- 限定 文件权限
 
 
- 功能
- 例子 - # 方案1: 直接查找 权限
 > find /etc -perm 755
 
- 其他 - 这个 选项 的表达方式很灵活, 我只选了最简单的一种
- 如果需要了解, 请参看 man
 
 
- 这个 选项 的表达方式很灵活, 我只选了最简单的一种
8. 约束: 文件类型
- 概述 - 以 文件类型 作为约束
 
- -type - 功能 - 约束类型
 
- 类型 - b: 块设备
- c: 字符设备
- d: 目录
- p: 管道
- f: 文件
- l: 连接
- s: socket
- D: door(Solaris 专用)
 
 
- 例子 - > find /etc -type f
 
9. 后续
- 没错, 这次就这么多 - 这些东西算是 最简单, 最常用 的了
 
- 后面命令, 参数会稍微 复杂一些 - 都写一起, 其实不太好消化
- 我有点懒得写了
- 最近产能不足, 干脆分成两篇吧...
 
ps
- ref - 每天一个linux命令(19):find 命令概览
- 这个博客, 是我见到的 每天一个 linux 命令 系列, 最老的博客, 应该是 真正的原作 吧
 
- 每天一个linux命令(22):find 命令的参数详解
- linux find -regex 使用正则表达式
 
- 每天一个linux命令(19):find 命令概览
- 通配符和正则 - 这个肯定是不一样的啊
- 有空区分一下
 
 
- 这个肯定是不一样的啊
Linux - Shell - find - 基础的更多相关文章
- 详细介绍Linux shell脚本基础学习
		Linux shell脚本基础学习这里我们先来第一讲,介绍shell的语法基础,开头.注释.变量和 环境变量,向大家做一个基础的介绍,虽然不涉及具体东西,但是打好基础是以后学习轻松地前提.1. Lin ... 
- Linux shell入门基础(六)
		六.Shell脚本编程详解 将上述五部分的内容,串联起来,增加对Shell的了解 01.shell脚本 shell: # #perl #python #php #jsp 不同的脚本执行不同的文本,执行 ... 
- Linux shell入门基础(一)
		Linux shell入门基础(一): 01.增加删除用户: #useradd byf userdel byf(主目录未删除) userdel -r byf 该用户的属性:usermod 用 ... 
- Linux shell脚本基础学习详细介绍(完整版)二
		详细介绍Linux shell脚本基础学习(五) Linux shell脚本基础前面我们在介绍Linux shell脚本的控制流程时,还有一部分内容没讲就是有关here document的内容这里继续 ... 
- Linux shell脚本基础学习详细介绍(完整版)一
		Linux shell脚本基础学习这里我们先来第一讲,介绍shell的语法基础,开头.注释.变量和 环境变量,向大家做一个基础的介绍,虽然不涉及具体东西,但是打好基础是以后学习轻松地前提.1. Lin ... 
- Linux Shell 编程基础详解——吐血整理,墙裂推荐!
		第一部分:Linux Shell 简介 Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁.Shell 既是一种命令语言,又是一种程序设计语言. Shell 是指一种应用程序, ... 
- Linux Shell编程基础
		在学习Linux BASH Shell编程的过程中,发现由于不经常用,所以很多东西很容易忘记,所以写篇文章来记录一下 ls 显示当前路径下的文件,常用的有 -l 显示长格式 -a 显示所有包括隐 ... 
- Linux shell脚本 基础
		一.shell中三个引号的用法 1.单引号:所见即所得 例如:var=123 var2='${var}123' echo var2 var2结果为${var}123 2.双引号:输出引号中的内容,若存 ... 
- Linux shell脚本基础
		程序的组成: 程序:算法+数据结构 数据:程序处理的目标 数据结构:相互之间存在一种或多种特定关系的数据元素的集合 算法:处理数据的方式 编程风格: 面向对象:把所有的操作都转化为对象的方式. 面向过 ... 
随机推荐
- UVA12716-连续区间内反向寻因子法
			在涉及的题目中如果需要使用连续区间内的数据的因数,可以放弃使用%这种低效的方案,从因数的角度进行,UVA12716中对于代码的优化就利用了这个小技巧. 原题:https://vjudge.net/pr ... 
- Project Euler 133: Repunit nonfactors
			题意 英文 做法 结论1:\(R(a)|R(am)(a,m\ge 1)\) \[\frac{R(am)}{R(a)}=\frac{\frac{10^{am}-1}{9}}{R(a)}=\frac{\f ... 
- 数据结构与算法之非比较排序【Java】
			比较排序与非比较排序的对比 常见的快速排序.归并排序.堆排序.冒泡排序等属于比较排序.在排序的最终结果里,元素之间的次序依赖于它们之间的比较.每个数都必须和其他数进行比较,才能确定自己的位置.在冒泡排 ... 
- 论文阅读笔记(十一)【ICCV2017】:Jointly Attentive Spatial-Temporal Pooling Networks for Video-based Person Re-Identification
			Introduction (1)Motivation: 当前采用CNN-RNN模型解决行人重识别问题仅仅提取单一视频序列的特征表示,而没有把视频序列匹配间的影响考虑在内,即在比较不同人的时候,根据不同 ... 
- H5_0017:通过元素自定义属性值获取元素对象,并获取属性值
			// 通过元素的属性值查找对象 // document.querySelectorAll("[data]").forEach(function(e) ... 
- HTML-入门
			HTML——超文本标记语言(Hyper Text Markup Language)html——W3C制定的标准超文本——除了文本,还有图片.视频.音频等丰富的元素标记(标签)——用来展示内容表型:标签 ... 
- ACM-ICPC 2018 焦作赛区网络预赛  Give Candies 题解
			ACM-ICPC 2018 焦作赛区网络预赛 Give Candies n个糖果分给n个小朋友 从1到n个小朋友依次给,每次随机给个数,至少一个,知道没有糖果为止. 问糖果的分布情况方案数. 输出方案 ... 
- 压缩软件推荐(bandizip)
			提及 Windows 平台的压缩软件,大家往往想起老牌的 WinRAR.开源免费的 7-Zip.国产的快压.好压.360 压缩之类,甚至还有时代的眼泪 WinZip.一直以来,压缩软件因为作为十分基础 ... 
- jupyter CSS
			.caret, .dropup > .btn > .caret { border-top-color: #000 !important; } .label { border: 1px so ... 
- Could not connect to SMTP host: smtp.qq.com, port: 465, response: -1  SpringBoot发送邮件
			解决方案 换端口 QQ邮箱可以把端口换成587 设置属性 spring.mail.properties.mail.smtp.ssl.enable=true 原因 465端口是为SMTPS(SMTP-o ... 
