国外购物网站平台有哪些中国十大品牌网
一、自动磁盘分区与挂载
核心工具:fdisk(分区)、mkfs(格式化)、mount(挂载),结合expect实现自动化交互。
脚本关键点:
- 使用
expect脚本模拟交互式输入(如n创建分区、p主分区、wq保存)。 - 示例命令:
expect << EOF
spawn fdisk /dev/sdc
expect "命令*" {send "n\r"}
# 后续依次响应分区类型、大小等提示
expect eof
EOF
二、批量用户创建与管理
场景:通过expect远程批量创建用户到多台主机。
脚本核心:
- 使用
ssh远程连接,useradd创建用户,passwd --stdin设置密码。 - 示例片段:
expect << EOF
spawn ssh root@10.0.0.12
expect "password" {send "123456\n"}
expect "]#" {send "useradd jack\n"}
expect "]#" {send "echo 123456 | passwd --stdin jack\n"}
EOF
三、正则表达式基础
1. 字符匹配
- 单字符匹配:
.:任意单个字符(如st..e匹配state)。[]:指定范围内字符(如[a-z]匹配小写字母)。[^]:范围外字符(如[^0-9]匹配非数字)。
- 示例:
grep '[s-t]' file # 匹配包含s到t之间字母的行
2. 锚定匹配
- 位置限定:
^:行首(如^user匹配以 user 开头的行)。$:行尾(如\.conf$匹配以.conf 结尾的行)。\</\>:单词首尾(如\<root\>匹配独立单词 root)。
- 示例:
grep '^[a-z]' file # 匹配以小写字母开头的行
3. 分组与限定
- 分组:用
()提取匹配内容,\1引用第一组,\2引用第二组。
egrep '(server\.[0-9])' config # 提取server.x格式内容
- 次数限定:
*:任意次(如ab*c匹配 ac、abc、abbbc)。+:至少 1 次(如ab+c匹配 abc、abbbc)。{m,n}:m 到 n 次(如ab{2,4}c匹配 abbbc)。
四、扩展正则与应用
1. 特殊字符集
- 预定义字符集:
[:alnum:]:字母 + 数字,[:digit:]:数字,[:lower:]:小写字母。
- 示例:
grep "[[:digit:]]{3}" file # 匹配3位数字
2. 实际应用场景
- IP 地址验证:
egrep '^([0-9]{1,3}\.){3}[0-9]{1,3}$' ip.txt # 简单IP格式匹配 - 网址验证:
egrep '^http(s)?://[a-z0-9]+\.[a-z]{2,5}$' url.txt - 手机号 / 邮箱验证:
egrep '^1[3-9][0-9]{9}$' phone.txt # 手机号格式 egrep '^[a-z]+@[a-z]+\.[a-z]{2,5}$' email.txt # 邮箱格式
五、自动化检测脚本
核心逻辑:
- 定义正则表达式验证输入格式(IP、网址、手机号等)。
- 使用
expect或shell命令(如ping、curl)检测目标存活。 - 示例功能:
- 主机存活检测:
ping -c1 -W1 IP。 - 网站可用性检测:
curl -s -o /dev/null URL。
- 主机存活检测:
