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. JavaDay9(上)

    Java learning_Day9(上) 本人学习视频用的是马士兵的,也在这里献上 <链接:https://pan.baidu.com/s/1qKNGJNh0GgvlJnitTJGqgA> ...

  2. 静态路由、RIP、SOPF、VLAN间的路由

    常用命令: clear ip router * --清楚全部路由 show ip route --显示路由表 show ip inter b--显示接口信息 show ip protocols  -- ...

  3. php 常用数学函数

    函数 描述 实例 输入 输出 abs() 求绝对值 $abs = abs(-4.2); //4.2 数字 绝对值数字 ceil() 进一法取整 echo ceil(9.999); // 10 浮点数 ...

  4. Docker最全教程——从理论到实战(十八)

    前言 VS Code是一个年轻的编辑器,但是确实是非常犀利.通过本篇,老司机带你使用VS Code玩转Docker——相信阅读本篇之后,无论是初学者还是老手,都可以非常方便的玩转Docker了!所谓是 ...

  5. ECMAScript基本对象——Boolean对象

    1.创建 var myBoolean=new Boolean(); 2.方法 toString()把布尔值转换为字符串,并返回结果 valueOf()返回 Boolean 对象的原始值. 3.属性 1 ...

  6. 【Unity|C#】基础篇(17)——字符串处理(String/StringBuilder)

    [学习资料] <C#图解教程>(第25章):https://www.cnblogs.com/moonache/p/7687551.html 电子书下载:https://pan.baidu. ...

  7. 《剑指Offer》各面试题总结

    目录 前言 面试题4 二维数组的查找 面试题5:替换空格 面试题6:从尾到头打印链表 面试题7:重建二叉树 面试题8:二叉树的下一个节点 面试题9:用两个栈实现队列 面试题10:斐波那契数列 面试题1 ...

  8. 疫情下的传统商企自救|4个Tips搭建销量过亿直播间

    新冠肺炎爆发以来,线下商企遭受巨大冲击.出于疫情防控需要,不少门店选择暂时停业:而消费者们更是响应号召.足不出户.这场疫情促使消费者的消费习惯和方式进一步转向线上订购转变,直播.短视频等领域逆势而起, ...

  9. [TJOI2007] 路标设置 - 二分答案,贪心

    考虑到答案满足可二分性,段内可以贪心,所以暴力二分即可 注意-1 详见代码(我这题都能写WA) #include <bits/stdc++.h> using namespace std; ...

  10. AntDesign(React)学习-7 Menu添加事件

    今天花了大半天时间从老家回到工作地,路上因为肺炎封堵挺厉害,希望国家挺过这个难关,要不大家都失业可就惨了,上一篇做了一个展示数据的demo,这一篇研究antd Menu item点击事件 1.还是先看 ...