【Linux系统文件管理(cat,awk指令)和网络IP配置,广播地址,修改子网掩码以及ping网关地址】

文本操作实验

(1)使用cat,创建文件test1,输入"Line1"并且按下Ctrl-D保存文件。
创建text01.txt文件:
cat > text01.txt
回车;输入自己想要输入的内容
键盘上面按下Ctrl-D就可以成功创建并保存内容。
在这里插入图片描述
在这里插入图片描述

(2)将test1链接保存到newtest文件中。

在这里插入图片描述

(3)使用cat,在newtest尾部输入 “Line4”,查看文件newtest。
在这里插入图片描述

(4)使用awk将/etc/passwd文件中的第一列取出后排序显示。
在这里插入图片描述

在shell脚本中,你可以使用一些数学运算和字符串操作来计算网络地址。通常,这涉及到IP地址的二进制形式、子网掩码的位操作以及网络部分和广播地址的分离。这里是一个简单的步骤说明: 1. **获取IP地址子网掩码**: 假设你有两个变量,`$ip`存储IP地址,`$subnet_mask`存储子网掩码。例如,如果IP是192.168.1.100,子网掩码是255.255.255.0(十进制表示)。 2. **将IP子网掩码转换为二进制**: 使用`echo -n $ip | xxd -p`命令将IP转换为十六进制,再将其转换回二进制。对于子网掩码,手动或使用类似的方法。 3. **应用AND运算**: 对比IP的每个比特位与子网掩码的对应比特位。将它们相与(&)得到网络地址部分。比如,IP的前三位用于网络ID,剩余的是主机ID。 4. **创建网络地址广播地址**: 将结果IP取反并与子网掩码相与,得到广播地址网络地址IP减去广播地址的结果。 5. **格式化结果**: 最后,将计算出的网络地址从二进制转换回点分十进制形式。 下面是一个简单的bash脚本示例,但请注意,这不是一个完整的解决方案,因为实际的脚本会更复杂,需要处理输入验证和错误处理: ```bash #!/bin/bash # 示例IP子网掩码 ip="192.168.1.100" subnet_mask="255.255.255.0" # 转换并分割IP子网掩码 ip_binary=$(printf "%x" $ip | xxd -r -p) mask_binary=$(printf "%b" $subnet_mask) # 计算网络地址广播地址 network=$(printf "$ip_binary\0$mask_binary" | awk '{print $1}') broadcast=$(printf "$ip_binary\0$mask_binary" | xargs echo -n | od -An -t uX | rev | tr -d ' ' | cut -c1-32 | rev) # 输出结果 echo "Network Address: $(echo $network | xxd -r -p)" echo "Broadcast Address: $(echo $broadcast | xxd -r -p)" ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值