高级运维:shell练习2

1、需求:判断192.168.1.0/24网络中,当前在线的ip有哪些,并编写脚本打印出来。

vim check.sh

bash 复制代码
#!/bin/bash

# 定义网络前缀
network_prefix="192.168.1"

# 循环遍历1-254的IP
for i in {1..254}; do
    # 构造完整的IP地址
    ip="$network_prefix.$i"
    
    # 使用ping命令进行检测,-c 1表示发送1个ECHO_REQUEST,-W 1表示超时时间为1秒
    # 如果ping通,$?的值为0
    ping -c 1 -W 1 $ip > /dev/null 2>&1
    
    # 判断ping的结果
    if [ $? -eq 0 ]; then
        echo "IP $ip is online"
    fi
done

//给check.sh赋予权限

chmod check.shod +x

运行:

2、设计一个 Shell 程序,在/userdata 目录下建立50个目录,即 userl~user50,并设置每个目录的权限,其中其他用户的权限为:读;文件所有者的权限为:读、写、执行;文件所有者所在组的权限为:读、执行。

vim name.sh

bash 复制代码
#!/bin/bash
dir_path="/userdata"
for i in {1..50}; do
    dir_name="user$i"
    mkdir -p "$dir_path/$dir_name"
    chmod 750 "$dir_path/$dir_name"
done
~            

给name.sh赋予权限

chmod +x name.sh

运行:

相关推荐
编程的一拳超人2 分钟前
Docker核心概念、常用命令与实战指南
运维·docker·容器
编程的一拳超人4 分钟前
Docker 核心命令速查表(精细分类版)
运维·docker·容器
曦樂~10 分钟前
【Docker】网络
docker·容器·php
小任今晚几点睡16 分钟前
Ansible 基础配置与负载均衡部署实践
运维·自动化·ansible·负载均衡
---学无止境---22 分钟前
Linux内核brk系统调用深度解析:堆内存管理的设计与实现
linux
网络坤子-蔡先生22 分钟前
openEuler 22.03 ARM64 KVM虚拟化安装
linux·开源·负载均衡
科立分板机源头厂家26 分钟前
第28集科立分板机:科立自动化分板机适配多场景生产筑牢电子制造品质防线
运维·自动化·制造
偶像你挑的噻1 小时前
2-Linux驱动开发-内核;内核模块;设备树;设备树插件
linux·运维·驱动开发
Orlando cron1 小时前
CPU Load(系统平均负载)
运维·服务器·网络
SUPER52661 小时前
deepseek-R1模型输出时截断异常
运维·服务器·deepseek-r1调用