题目:
- 需求:判断192.168.1.0/24网络中,当前在线的ip有哪些,并编写脚本打印出来。
- 设计一个 Shell 程序,在/userdata 目录下建立50个目录,即 userl~user50,并设置每个 目录的权限,其中其他用户的权限为:读; 文件所有者的权限为:读、写、执行; 文件所有者所在组的权限为:读、执行。
1、判断网段在线IP
需求:判断192.168.1.0/24网络中,当前在线的ip有哪些,并编写脚本打印出来。
#!/bin/bash
# 这是一个 Bash 脚本,用于扫描 192.168.1.0/24 网络内的主机是否在线,并打印出在线的 IP 地址。
# 主要步骤如下:
# 1. 使用 `seq 0 255` 生成 0 到 255 的数字序列。
# 2. 对于序列中的每个数字 `I`,使用 `ping` 命令发送 2 个数据包,等待 2 秒,将输出重定向到 `/dev/null` 以避免输出。
# 3. 通过 `$?` 检查 `ping` 命令的返回值,如果为 0 表示主机在线,打印该 IP 地址。
for I in `seq 0 255`; do
# 使用 ping 命令向 IP 地址 192.168.1.I 发送 2 个数据包,等待 2 秒,将输出和错误信息重定向到 /dev/null 使其不显示
ping -c 2 -w 2 "192.168.1.$I" &>/dev/null
# 通过 $? 获取上一