1. 概述

    1. find 基础
  2. 背景

    1. 查找文件

      1. 人的记忆能力, 是有限的
      2. 计算机里的文件数量, 虽然不是无限, 但是也不少
      3. 要去找那些 记不清楚的文件, 必然要用查找
  3. 准备

    1. OS

      1. centos7
    2. 用户

      1. root

        1. 其他用户在执行中, 可能会遇到权限的问题

          1. 这里就不讲了...

1. find

  1. 概述

    1. 强大的文件查找工具
  2. 功能

    1. 查找文件
    2. 约束条件查找文件
    3. 对查找后的内容, 可以执行操作
  3. 命令结构

    > find [path] [options] [opt]
  4. opt

    1. 概述

      1. find 之后的操作
    2. 默认

      1. 打印完整的文件路径
    3. 其他

      1. 这个以后再说

        1. opt

2. path

  1. 概述

    1. path 参数
  2. path

    1. 搜索路径

      1. 这个算是第一个 约束条件
      2. 约束了地址, 可以让 查找范围更加精确
  3. 例子

    # 1. 搜索 当前路径 下, 所有文件
    > find
    # 2. 搜索 特定路径 下, 所有文件
    > find /etc
    # 3. 搜索 多个路径 下, 所有文件
    > find ~ /etc

3. 约束: 文件名

  1. 概述

    1. 添加 文件名 文件名约束
  2. -name

    1. 功能

      1. 添加 文件名 的限定条件
      2. 支持 通配符
  3. 例子

    # 精确查找文件名
    > find /etc/ -name 'passwd'
    # 基于 通配符 的 模糊查找
    > find /etc/ -name 'pass*'
  4. 结果

    1. -name 里的条件, 匹配的是 文件名, 或者 目录名

      1. 如果中间路径带有有 关键字 的话, 不会被 匹配出来

4. 约束: 正则路径

  1. 概述

    1. 更加强大的 约束
    2. 约束的对象, 是 文件路径
  2. -regex

    1. 功能

      1. 添加 路径 的限定条件
      2. 正则
  3. 例子

    > find /etc/ -regex '.*pass.*'
  4. 结果

    1. 路径匹配

      1. 路径中含有关键字, 也会被 搜索出来

        1. 能力更强大
  5. 其他

    1. 还有 -regextype 可以指定 正则类型

5. 约束: 用户

  1. 概述

    1. 以 用户 作为约束条件
  2. -user

    1. 功能

      1. 限定 文件 或 目录 的所属用户
  3. 例子

    > find /etc -user "tss"
  4. 其他

    1. 如果用户不存在, 会有异常提示
    2. 如果要找没有用户的文件, 可以用 -nouser

6. 约束: 用户组

  1. 概述

    1. 以 用户组 作为约束条件
  2. -group

    1. 功能

      1. 限定 文件 或 目录 的所属用户组
  3. 例子

    > find /etc -group "tss"
  4. 其他

    1. 如果用户组不存在, 会有异常提示
    2. 如果要找没有用户组的文件, 可以用 -nogroup

7. 约束: 文件权限

  1. 概述

    1. 以 文件执行权限 作为约束
  2. -perm

    1. 功能

      1. 限定 文件权限
  3. 例子

    # 方案1: 直接查找 权限
    > find /etc -perm 755
  4. 其他

    1. 这个 选项 的表达方式很灵活, 我只选了最简单的一种

      1. 如果需要了解, 请参看 man

8. 约束: 文件类型

  1. 概述

    1. 以 文件类型 作为约束
  2. -type

    1. 功能

      1. 约束类型
    2. 类型

      1. b: 块设备
      2. c: 字符设备
      3. d: 目录
      4. p: 管道
      5. f: 文件
      6. l: 连接
      7. s: socket
      8. D: door(Solaris 专用)
  3. 例子

    > find /etc -type f

9. 后续

  1. 没错, 这次就这么多

    1. 这些东西算是 最简单, 最常用 的了
  2. 后面命令, 参数会稍微 复杂一些

    1. 都写一起, 其实不太好消化
    2. 我有点懒得写了
    3. 最近产能不足, 干脆分成两篇吧...

ps

  1. ref

    1. 每天一个linux命令(19):find 命令概览

      1. 这个博客, 是我见到的 每天一个 linux 命令 系列, 最老的博客, 应该是 真正的原作 吧
    2. 每天一个linux命令(22):find 命令的参数详解
    3. linux find -regex 使用正则表达式
  2. 通配符和正则

    1. 这个肯定是不一样的啊

      1. 有空区分一下

Linux - Shell - find - 基础的更多相关文章

  1. 详细介绍Linux shell脚本基础学习

    Linux shell脚本基础学习这里我们先来第一讲,介绍shell的语法基础,开头.注释.变量和 环境变量,向大家做一个基础的介绍,虽然不涉及具体东西,但是打好基础是以后学习轻松地前提.1. Lin ...

  2. Linux shell入门基础(六)

    六.Shell脚本编程详解 将上述五部分的内容,串联起来,增加对Shell的了解 01.shell脚本 shell: # #perl #python #php #jsp 不同的脚本执行不同的文本,执行 ...

  3. Linux shell入门基础(一)

    Linux shell入门基础(一): 01.增加删除用户: #useradd byf   userdel byf(主目录未删除)  userdel -r byf   该用户的属性:usermod 用 ...

  4. Linux shell脚本基础学习详细介绍(完整版)二

    详细介绍Linux shell脚本基础学习(五) Linux shell脚本基础前面我们在介绍Linux shell脚本的控制流程时,还有一部分内容没讲就是有关here document的内容这里继续 ...

  5. Linux shell脚本基础学习详细介绍(完整版)一

    Linux shell脚本基础学习这里我们先来第一讲,介绍shell的语法基础,开头.注释.变量和 环境变量,向大家做一个基础的介绍,虽然不涉及具体东西,但是打好基础是以后学习轻松地前提.1. Lin ...

  6. Linux Shell 编程基础详解——吐血整理,墙裂推荐!

    第一部分:Linux Shell 简介 Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁.Shell 既是一种命令语言,又是一种程序设计语言. Shell 是指一种应用程序, ...

  7. Linux Shell编程基础

    在学习Linux BASH Shell编程的过程中,发现由于不经常用,所以很多东西很容易忘记,所以写篇文章来记录一下 ls   显示当前路径下的文件,常用的有 -l 显示长格式  -a 显示所有包括隐 ...

  8. Linux shell脚本 基础

    一.shell中三个引号的用法 1.单引号:所见即所得 例如:var=123 var2='${var}123' echo var2 var2结果为${var}123 2.双引号:输出引号中的内容,若存 ...

  9. Linux shell脚本基础

    程序的组成: 程序:算法+数据结构 数据:程序处理的目标 数据结构:相互之间存在一种或多种特定关系的数据元素的集合 算法:处理数据的方式 编程风格: 面向对象:把所有的操作都转化为对象的方式. 面向过 ...

随机推荐

  1. sqlserver中判断是数字(会自动将.3识别为0.3)

    SQL Server 检测是不是数字型的数据(两种方法) 检测是不是数字型的数据, 两种方法 1. ISNUMERIC ( expression ) 2. PATINDEX ( '%pattern%' ...

  2. C++基类、派生类、虚函数的几个知识点

    1.尽管派生类中含有基类继承来的成员,但派生类初始化这部分变量需要调用基类的构造函数. class A { private: int x; virtual void f(){cout<<& ...

  3. set类型的应用场景 —— Redis实战经验

    set类型是string类型的集合,其特点是集合元素无序且不重复,每个集合最多可以存储 232 - 1 个元素(40多亿),set类型主要有以下应用场景. 1. 好友/关注/粉丝/感兴趣的人集合 se ...

  4. php 爬虫采集

    概述 现在爬虫技术算是一个普遍的技术了,各个语言的爬虫百家争鸣,但是根据笔者自己的感觉还是python是主流.爬虫涉及到太多的东西,笔者并不是专业的爬虫工程师,只不过个人兴趣分享一下.由于笔者是php ...

  5. MatchQuotesPastEndOfLine

    MatchQuotesPastEndOfLine:  设定值:Yes/No 作用:当读取平面文件时,是否将双引号括起来部分整体视为单个字段值,比如以下平面文件: ID, Name, City , To ...

  6. 禁止PotPlayer自动添加同一目录内连续文件

    问题描述 默认情况下PotPlayer会自动向播放列表添加相似文件 统一目录下大量连续文件会被同时加载 解决办法 参数选项-基本-基本设置-相似文件策略 设置为仅打开选定的文件

  7. POJ3723(最小生成树,负权)

    题目描述 温迪有一个国家,他想建立一支军队来保护他的国家.他收留了N个女孩和M个男孩,想把她们收留成他的士兵.征兵无特权,必须交纳一万元.女孩和男孩之间有一些关系,温迪可以利用这些关系来降低他的成本. ...

  8. Nginx防止DDOS流量攻击

    DDOS流量攻击:频繁的发送请求,造成宽带占用,其他客户端无法访问                Nginx解决DDOS流量攻击,利用limit_req_zone限制请求次数    limit_con ...

  9. Spring的代理模式(静态,JDK,CGLIB)

    一.静态代理   1.定义业务接口 public interface Subject { void doSomeThing(); }   2.真实业务类实现接口 public class RealSu ...

  10. .netcore 3.1高性能微服务架构:加入swagger接口文档

    本文为原创文章:首发:http://www.zyiz.net/tech/detail-108663.html swagger是什么? Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视 ...