高级运维: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

运行:

相关推荐
风好衣轻1 分钟前
【环境配置】在Ubuntu Server上安装5090 PyTorch环境
linux·pytorch·ubuntu
华清远见成都中心22 分钟前
Linux嵌入式和单片机嵌入式的区别?
linux·运维·单片机·嵌入式
lisanmengmeng1 小时前
rabbitMQ 高可用
linux·分布式·rabbitmq
小妖6661 小时前
ubuntu 22.04 更换阿里源 (wsl2 参照)
linux·运维·ubuntu
凉、介1 小时前
SylixOS 下的消息队列
linux·wpf·sylixos
egoist20232 小时前
【Linux仓库】进程概念与基本操作【进程·贰】
linux·运维·服务器·指令·进程操作·理解进程
dessler2 小时前
ZooKeeper-监控(Monitor)
linux·运维·zookeeper
延凡科技2 小时前
低空数联无人机AI智慧巡查平台
大数据·运维·人工智能·无人机·智慧城市·制造
礼拜五&2 小时前
Linux进程间通信——信号
linux·内核·glibc·信号
漫步企鹅3 小时前
【蓝牙】手机连接Linux系统蓝牙配对,Linux Qt5分享PDF到手机
linux·qt·智能手机·pdf·蓝牙分享