今天请假了,没上成课,感觉自己啥也不会
dd if=/dev/zero of=/tmp/$file bs=1M count=1
5/14/21个人笔记
一控多
测试-------test条件测试
test 能够理解3中类型的表达式
1.文件测试
2.字符串比较
3.数字比较
字符串的比较
#!/usr/bin/bash
#strcmp
#by dy
if [ $UID -ne 0 ] ;then
echo "你没有权限"
else
yum -y install lsof &>/dev/null
echo "lsof 已安装完毕。"
exit
fi
文件已存在,显示文件信息;文件不存在,开始创建
#!/usr/bin/bash
#Determine whether the file exists
#by dy
read -p "请输入你要查询的文件:" file
if [ -f /tmp/$file ] ;then
echo "文件已存在,显示文件信息"
sleep 1
ls -l /tmp/$file
else
echo "文件不存在,即将创建"
touch /tmp/$file
echo "$file 文件已创建."
fi
数字比较
-eq(equal) 等于
-ne(not equal) 不等于
-ge(Greater than or equal to) 大于等于
-le(Less than or equal to) 小于等于
-gt(greater than) 大于
-lt(less than) 小于
-f #存在且是正规文件
-d #存在且是目录
-h 存在且是符号链接
-b 块设备
-c 字符设备
-e #文件存在
创建用户
编写批量添加用户及密码脚本,要求可以自己定义用户名及密码
例如一次添加zhao1- zhao10
#!/usr/bin/bash
#Custom bulk useradd
#by dy
read -p '请输入你要添加的用户的前缀:' user
for i in {1..5}
do
echo "正在添加用户 $user$i ,请稍等.."
useradd $user$i
echo "用户 $user$i 已创建!"
read -p '请输入$user$i 用户的密码:' passwd
passwd $user$i
$passwd
echo "已创建用户$user$i ,密码为$passwd"
done
题:
dd if 几个文件 .html结尾的, 不能创建空文件。
脚本要求:使用for循环 累计出当前 .html结尾文件的大小总和
提示: 1 sum=
(
(
((
((sum+$size)) 2 awk切出来每个文件大小
#!/bin/bash
#
#
sum=0
read -p "请输入你要创建的非空文件名:" file
dd if=/dev/zero of=/tmp/$file bs=1M count=1
for i in `ls -ll /tmp/$file | awk '{print $5}'`
do
size=$(($i))
sum=$(($sum+$size))
done
echo "以.html结尾的文件的大小总和为:$sum"
检测yum源及dns脚本,如果yum源不可用,执行完后,变成可用
#!/usr/bin/bash
#chack yum & DNS
#by dy
read -p "请输入本机的IP: " ip
ping www.baidu.com -c5 &>/dev/null
if [ $? -eq 0 ] ;then
echo "$ip 网络正常通讯,DNS可用"
echo "正在检测yum源是否可用,如果不可用,将为您更改为国内yum源"
yum -y install lsof &>/dev/null
echo "yum源不可用,正在为您更改yum源,过程漫长,请耐心等待"
sleep 5
rm -rf /etc/yum.repos.d/* &>/dev/null
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo &>/dev/null
yum -y install epel-release &>/dev/null
echo "yum源安装完成,请放心使用。"
else
echo "$ip 无法连接到网络,请检查网络后再进行本脚本的使用。"
fi
a机器给b机器使用scp命令拷贝4个文件过去
提示:先做免密(主要是还没学怎么shell做免密)
#!/bin/bash
#scp file host-->other,
#by dy
reap -p "嗨,您想要拷贝到哪个服务器呢,请输入它的IP地址: " ip
reap -p "请输入您想要拷贝过去的文件名称和它所在的位置: " file
reap -p "您想拷贝到哪个地址呢,请给它指定一个地址:" adr
scp -r $file $ip:$adr
echo "已拷贝成功!"