当前位置: 首页 > news >正文

Linux - 文件管理高级 find、grep

0.管道 |

将前面命令的标准输出传递给管道作为后面的标准输入

1.文件查找 find

find 进行文件查找时,默认进行递归查找,会查找隐藏目录下的文件

1.1 用法

# find 查找路径 查找条件...

-type                     // 文件类型 f 普通文件  b 设备 d 目录 l 链接文件
-size                     // 文件大小  【+[大于] -[小于]】【KMG】
-group                  // 组名,属组
-user                    // 用户名,属主
-empty                 // 空文件或者目录
-mtime                 // 根据n天前修改内容的文件
-maxdepth           // 查找层级目录 -maxdepth 1  只查找当前目录下的内容
-perm                  // 根据权限查找

 1.2 单条件查找

 示例1

PS:用无限资源设备在/home下生成一个30m大小的文件test.file

        dd if=/dev/zero of=/home/test.file bs=1M count=30

<1> 找出/home下大于20m的文件

        find /home size +20M 

  1.3 查找后条件处理

 示例2

 查找后的处理
-ok            //进行交互式,会询问
-exec        //直接处理
# find 查找路径  查找条件  -exec  处理动作  {}  \;                {}代表前面查找的内容

                                                                                             \; 代表命令结束

 <2> 找出系统下属主是zhangsan,属组是HR的文件,并将其权限改为666

        find / -user zhangsan -group HR -exec chmod 666 {} \;

   1.4 多条件查找

and  ==> 与                 // find查找时添加多个条件 默认为and,两个条件需要同时满足

or     ==> 或                 // -o 只需要满足其中一个条件

!       ==> 非                 // 不满足这个后面的条件

  示例3

<3> 在/root目录下,找到用户权限为rw或者文件类型为普通文件的文件

        find /root -type f -o -perm u=rw

   示例4

<4> 在/etc下统计链接文件除外的其它文件

       # find /etc ! -type l | wc -l                // ! 取反


2.过滤 grep

2.1 用法

 # grep [选线] 关键字 文件                // 打印出匹配到关键字的行

2.2 关键字

示例5

<5>在/etc/passwd 文件中过滤以root开头的行

                                              以bash结尾的行

 2.3 选项

 示例6

<6> 统计系统内不能正常登录的用户有哪些

分析:正常登录用户在/etc/passwd文件中以/bin/bash结尾,反之剩下的就是不能正常登陆的,-v取反之后,并用-c统计对应数量。

grep -v -c "/bin/bash$" /etc/passwd

http://www.lryc.cn/news/362498.html

相关文章:

  • DOS编程入门:探索基础、深入技巧与实战应用
  • 创建线程的技术难点
  • Android ViewPager和ViewPager2的区别
  • Oracle数据库面试题-3
  • 21.过拟合和欠拟合示例
  • 使用import语句导入模块
  • 一台FreeBSD笔记本突然鼠标乱动=>pf防火墙设置@FreeBSD
  • 身份证OCR识别功能介绍
  • 一文看懂:MES定义和功能是什么,以及在数字化工厂的应用
  • 对 SQL 说“不”~
  • 【爱空间_登录安全分析报告】
  • web前端三大主流框架
  • git获取的项目无法运行
  • java 原生http服务器 测试JS前端ajax访问实现跨域
  • 捋一捋C++中的逻辑运算(一)——表达式逻辑运算
  • qcom 平台系统签名流程
  • 从零开始实现自己的串口调试助手(5) -实现HEX显示/发送/接收
  • 【计算机毕设】基于SpringBoot的民宿在线预定平台设计与实现 - 源码免费(私信领取)
  • 大数据—数据分析概论
  • centos7下卸载MySQL,Oracle数据库
  • Spring解决循环依赖
  • RUST运算符重载
  • 描述一下 Array.forEach() 循环和 Array.map() 方法之间的主要区别
  • 在GEE中显示矢量或栅格数据的边界(包含样式设计)
  • django使用fetch上传文件
  • linux安装docker步骤
  • Unity DOTS技术(一)简介
  • 深度解读ChatGPT基本原理
  • python实现——分类类型数据挖掘任务(图形识别分类任务)
  • 【安卓跨进程通信IPC】-- Binder