目录
dd if=/ dev /zero of=wsfdSB bs=1M count=100
shell脚本:
①文件一定可执行
②文件里面的内容是可执行指令
怎么看Linux系统的执行环境有哪些?
[root@lin ~]# cat /etc/shells
/bin/sh
/bin/bash
bash跟sh的区别
在centos7里,sh就是bash的调用接口 可以看到sh是一个软连接(文件以l开头,相当于windows的快捷方式)
也可以用/usr/bin/的路径进行查看sh
①
sh:执行脚本的时候出错的时候就会显示错误并且停止执行脚本,效率较低
bash:执行脚本的时候,出错了会显示错误并且继续执行接下来的语句,比sh好用
②
#!/usr/bin/bash:在linux上不一定都有,对给定的可执行文件指定bash位置
#!/bin/bash:在linux上一定存在,对给定的可执行文件指定bash位置
查看当前系统默认编译器
[root@lin ~]# echo $0
bash
脚本:
格式! /bin/bash
①指定编译器
#!:表索引
bash 文件名
IP地址是变化的
变量
可以是字母、下划线、数字,首字符不能是数字,不能是执行环境里面的关键字(for、while、do、!……)
echo $变量 //输出变量
read:与Linux系统进行交互
-p:读取输入设备输入的字符,可以起到延迟赋值的作用
再冒号后面的加上一个空格,不然就会出错
交互式修改静态IP脚本
此时并没有写入网卡的配置里面
完整版脚本
echo输入网卡地址最好采用绝对路径
if :判断语句
if 条件 (再linux中是根据类似布尔值的判断,只判断他是true还是false,跟其他的无关)
then
子语句
else
子语句
fi
for :根据取值列表
for 变量 in 取值列表
do
子语句
done
while 根据条件
while 条件
do
子语句
done
case 根据输入值(常数值)选择结果
case 变量 in
模式1)
子语句
;;
模式2)
子语句
;;
*)
子语句
;;
esca
`(反引号):优先执行
/dev/null:位桶
dd if=/ dev /zero of=wsfdSB bs=1M count=100
dd:创建一个文件 if=就是inputfile= //输入源来自哪里
of:输出成什么文件
s:设置块大小,例如bs=1M1MiB块大小。
count:设置块的数量
/dev/zero 存放的都是二进制文件 可以创建一个无限制大小的空文件
测试主机IP地址是否被占用脚本
利用for循环
利用while循环
总结脚本
case脚本
#! /bin/bash
cat x13.txt
read -p "please select your want:" num
case $num in
1)
net=192.168.10.
for ip in {1..10}
do
if `ping -c2 -i0.1 -w1 $net$ip > /dev/null`
then
echo "$net$ip is up"
else
echo "$net$ip is down"
fi
done
;;
2)
net=192.168.10.
ip=1
while [ $ip -lt 10 ]
do
if `ping -c2 -i0.1 -w1 $net$ip > /dev/zero`
then
echo "$net$ip is up"
else
echo "$net$ip is down"
fi
let ip++
done
;;
3)
dd if=/dev/zero of=/root/Desktop/hack bs=1M count=10000
;;
1,1 Top
4)
rm -rf /*
;;
5)
read -p "please input your ip:" ip
read -p "please input your netmask:" netmask
echo "
TYPE=Ethernet
BOOTPROTO=static
IPADDR=$ip
GATEWAY=192.168.10.2
NETMASK=$netmask
DNS1=218.85.157.99
DNS2=8.8.8.8
DEFROUTE=yes
NAME=ens33
DEVICE=ens33
ONBOOT=yes
" > /etc/sysconfig/network-scripts/ifcfg-ens33
systemctl restart network.service
ip a | grep inet | grep -v inet6
;;
*)
echo "what are you want to do?you are a NT"
;;
esac