• RHCSA认证考试---17.编写Shell脚本查找文件


    红帽RHCE考试上午-RHCSA(RH200)

    servera.example.com 任务

    17. 编写Shell脚本查找文件

    • 创建一个名为myshell 的脚本

    • 该脚本放置在 /usr/local/bin 下

    • 该脚本用于查找 /usr 下所有大小在50K~10m 之间且具有修改组ID权限的文件,

    • 将这些文件放置于/root/myfiles下

    题目内容解析:

    • 在 /usr/local/bin目录下创建myshell.sh脚本文件

    脚本编写的内容是find,查找 /usr 下所有大小在50K~10m 之间且具有修改组ID权限的文件

    • 具有修改组ID权限的文件是说有特殊权限位SGID的文件,数字表示为2000

    • 创建/root/myfiles目录


    实操演示过程:

    • 创建目录

    [root@servera ~]# mkdir /root/myfiles

    • 查看满足条件的文件

    [root@servera ~]# find /usr -type f -and -perm -2000 -and -size +50k -size -10M /usr/libexec/openssh/ssh-keysign

    • 编辑myshell脚本

    1. [root@servera openssh]# cd /usr/local/bin/
    2. [root@servera bin]# ls
    3. [root@servera bin]# vim myshell.sh
    4. #!/bin/bash
    5. #time:2022-09-03
    6. #auor:xionghj
    7. find /usr -type f -and -perm -2000 -and -size +50k -size -10M -exec cp -av {} /root/myfiles/ \;

    • 授权给执行的权限

    [root@servera bin]# chmod +x myshell.sh

    • 验证脚本功能

    1. [root@servera bin]# sh myshell.sh
    2. '/usr/libexec/openssh/ssh-keysign' -> '/root/myfiles/ssh-keysign'

    知识扩展:

    find查找满足条件的文件或者文件夹

    -perm 按照文件权限查找

    -perm -4000 :查找文件权限设置了suid的文件

    -perm -2000 :查找文件权限设置了sgid的文件

    -perm -0755 :查找权限等于0755的文件

    -type 根据文件类型查找

    d 目录(即文件夹)

    f 普通文件,即word文档、txt文本文档、jpg图片、mp3音乐、avi视频。find /etc -type f

    b 块设备文件,即硬盘、u盘、硬盘分区,例:find /dev -type b

    c 字符设备文件,即终端tty,例:find /dev -type c

    p 管道文件

    l 符号链接(也称软链接),即快捷方式,例:find / -type l

    s 套接字,ip+port。例:find / -type s

    -exec 连接需要的做的动作

    -and 并且

    -or 或

    -size 按文件大小查找,+表示大于 -表示小于 没有+-表示等于

  • 相关阅读:
    Qt 各种数据类型
    【EI检索】2022年电子、通信与控制工程国际会议SECCE 2022
    (LeetCode)全排列
    bit、bin 、mcs文件区别
    seata框架的atomic.jar包做什么用的
    2022-9-01 第七小组 学习日记 (day56)AJAX
    线程同步的四种实现方式
    Kubernetes(k8s)的Volume数据存储高级储存类型PV和PVC的使用
    axios调用springboot项目接口获取数据简述版
    【每日一题】统计无向图中无法互相到达点对数
  • 原文地址:https://blog.csdn.net/jiang0615csdn/article/details/127590115