1.批量生成随机字符文件名;在/tmp目录下批量创建10个html文件,
其中每个文件需要包含10个随机小写字母加固定字符串tmp
#!/bin/bash
for i in {1..10}
do
a=` mktemp | awk -F. '{print $2}'|tr A-Z a-z`
touch /tmp/$a.html
done
# apquvdpqbk_tmp.html
# mktemp | awk -F. '{print $2}',利用正则来生成也可
2.批量修改名称,后缀修改为大写
#!/bin/bash
ls /tmp/ |grep html$ >a1
file="a1"
for i in $(cat $file)
do
a2=` echo $i |awk -F. '{print $1}'`
a3=".HTML"
mv /tmp/$i /tmp/$a2.$a3
done
# apquvdpqbk_tmp.html ---> apquvdpqbk_tmp.HTML
ls /tmp | egrep "*.html$" > c
file="c"
for i in $(cat $file)
do
b=`echo $i | awk -F. '{print $1}'`
a=".HTML"
cd /tmp/
echo $b.$a
mv $i $b.HTML
done
3.批量创建10个系统帐号user01-user10并设置密码
(密码为随机数,要求字符和数字等混合)
#!/bin/bash
for i in {60..62}
do
id user$i &> /dev/nullvim
if [ ! $? -eq 0 ]
then
useradd user$i
PW=`openssl rand -base64 12`
echo "The user$i PASSWD is $PW"
echo $PW | passwd --stdin user$i
fi
echo "The user$i is exit"
done
4.判断自己的网络里,当前在线的IP有多少
#!/bin/bash
sum=0
for i in {1..254}
do
ping -c 1 192.168.43.$i
a=`echo $?`
if [ $a -eq 0 ]
then
sum=$[ $sum + 1 ]
fi
echo "not connection"
done
echo "This is all connection $sum"
5.计算1-100的和
more a1.sh
#!/bin/bash
sum=0
for i in {1..100}
do
sum=$[ $sum + $i ]
done
echo "This is sum : $sum"
6.把/root/目录下的所有目录 拷贝到/tmp/目录下
tar -zvcf /tmp/ /root/*
7.判断输入的IP是否正确(x.x.x.x)
function check_ip() {
IP=$1
if [[ $IP =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]; then
a1=$(echo $IP|awk -F. '{print $1}')
a2=$(echo $IP|awk -F. '{print $2}')
a3=$(echo $IP|awk -F. '{print $3}')
a4=$(echo $IP|awk -F. '{print $4}')
if [ $a1 -le 255 -a $a2 -le 255 -a $a3 -le 255 -a $a4 -le 255 ]
then
echo "IP $IP available."
else
echo "IP $IP not available!"
fi
else
echo "IP format error!"
fi }
read -p "Enter your IP:" ip
check_ip $ip
8.生成1-50内取随机数
echo $(($RANDOM%50+1))
# $RANDOM
9.每日生成一个文件,格式为2018-05-25-diskinfo.log,
并且把磁盘的使用情况写到到这个文件中
touch `date +%F`-diskinfo
df -h >> `date +%F`-diskinfo
10.http的access.log中访问量最多的5个ip
cat /var/log/httpd/access.log|awk -F' ' '{print $1}'|sort -nr|head -5
11.可以查看进程的内存占用大小,计算一下所有进程所占用内存大小的和
free -h |awk -F' ' '{print $2}'
12.查看/var/log目录下的文件数
ls /var/log |wc -l
13.如果查看Linux系统每个ip的连接数
netstat -na |grep ESTABLISHED$ |awk -F ' ' '{print $5}'
14.shell下生成32位随机密码
openssl rand -base64 32
15.简述Linux系统的开机启动顺序
1开机自检
2检查MBR引导
3GRUB引导
3加载grub.cfg文件
4加载/boot/下的kernel文件
5执行系统的配置文件
6开机
16.如何在文本里面进行复制、粘贴,删除行,删除全部,按行查找和按字母查找
yy复制 p粘贴 dd 删除 1,$dd删除全部 /加字母 按字母匹配 /行 按行查找
17.如何手动安装grub
1 以光盘启动
2 chroot /mnt/sysimage
3 grub2-install /dev/sda
4 grub2-mkconfig -o /boot/grub2/grub.cfg
5 exit
6 reboot
18.显示/etc/inittab中以#开头,且后面跟了一个或者多个空白字符,
而后又跟了任意非空白字符的行
cat /etc/inittab |grep -v ^#$
19.history命令显示具体时间
export HISTTIMEFORMAT="%F %d `whoami`"
20.打印3天前的日期
date -d "3 days ago" +"%F"
21.一个目录中有很多文件,最快速度查看到最近更新的文件,如何看?
ls -lt
22.如何过滤出目录中的所有一级目录(不包含子目录,即只能是一级目录)
ls -la /tmp/|grep ^d |awk '{print $9}'
其中每个文件需要包含10个随机小写字母加固定字符串tmp
#!/bin/bash
for i in {1..10}
do
a=` mktemp | awk -F. '{print $2}'|tr A-Z a-z`
touch /tmp/$a.html
done
# apquvdpqbk_tmp.html
# mktemp | awk -F. '{print $2}',利用正则来生成也可
2.批量修改名称,后缀修改为大写
#!/bin/bash
ls /tmp/ |grep html$ >a1
file="a1"
for i in $(cat $file)
do
a2=` echo $i |awk -F. '{print $1}'`
a3=".HTML"
mv /tmp/$i /tmp/$a2.$a3
done
# apquvdpqbk_tmp.html ---> apquvdpqbk_tmp.HTML
ls /tmp | egrep "*.html$" > c
file="c"
for i in $(cat $file)
do
b=`echo $i | awk -F. '{print $1}'`
a=".HTML"
cd /tmp/
echo $b.$a
mv $i $b.HTML
done
3.批量创建10个系统帐号user01-user10并设置密码
(密码为随机数,要求字符和数字等混合)
#!/bin/bash
for i in {60..62}
do
id user$i &> /dev/nullvim
if [ ! $? -eq 0 ]
then
useradd user$i
PW=`openssl rand -base64 12`
echo "The user$i PASSWD is $PW"
echo $PW | passwd --stdin user$i
fi
echo "The user$i is exit"
done
4.判断自己的网络里,当前在线的IP有多少
#!/bin/bash
sum=0
for i in {1..254}
do
ping -c 1 192.168.43.$i
a=`echo $?`
if [ $a -eq 0 ]
then
sum=$[ $sum + 1 ]
fi
echo "not connection"
done
echo "This is all connection $sum"
5.计算1-100的和
more a1.sh
#!/bin/bash
sum=0
for i in {1..100}
do
sum=$[ $sum + $i ]
done
echo "This is sum : $sum"
6.把/root/目录下的所有目录 拷贝到/tmp/目录下
tar -zvcf /tmp/ /root/*
7.判断输入的IP是否正确(x.x.x.x)
function check_ip() {
IP=$1
if [[ $IP =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]; then
a1=$(echo $IP|awk -F. '{print $1}')
a2=$(echo $IP|awk -F. '{print $2}')
a3=$(echo $IP|awk -F. '{print $3}')
a4=$(echo $IP|awk -F. '{print $4}')
if [ $a1 -le 255 -a $a2 -le 255 -a $a3 -le 255 -a $a4 -le 255 ]
then
echo "IP $IP available."
else
echo "IP $IP not available!"
fi
else
echo "IP format error!"
fi }
read -p "Enter your IP:" ip
check_ip $ip
8.生成1-50内取随机数
echo $(($RANDOM%50+1))
# $RANDOM
9.每日生成一个文件,格式为2018-05-25-diskinfo.log,
并且把磁盘的使用情况写到到这个文件中
touch `date +%F`-diskinfo
df -h >> `date +%F`-diskinfo
10.http的access.log中访问量最多的5个ip
cat /var/log/httpd/access.log|awk -F' ' '{print $1}'|sort -nr|head -5
11.可以查看进程的内存占用大小,计算一下所有进程所占用内存大小的和
free -h |awk -F' ' '{print $2}'
12.查看/var/log目录下的文件数
ls /var/log |wc -l
13.如果查看Linux系统每个ip的连接数
netstat -na |grep ESTABLISHED$ |awk -F ' ' '{print $5}'
14.shell下生成32位随机密码
openssl rand -base64 32
15.简述Linux系统的开机启动顺序
1开机自检
2检查MBR引导
3GRUB引导
3加载grub.cfg文件
4加载/boot/下的kernel文件
5执行系统的配置文件
6开机
16.如何在文本里面进行复制、粘贴,删除行,删除全部,按行查找和按字母查找
yy复制 p粘贴 dd 删除 1,$dd删除全部 /加字母 按字母匹配 /行 按行查找
17.如何手动安装grub
1 以光盘启动
2 chroot /mnt/sysimage
3 grub2-install /dev/sda
4 grub2-mkconfig -o /boot/grub2/grub.cfg
5 exit
6 reboot
18.显示/etc/inittab中以#开头,且后面跟了一个或者多个空白字符,
而后又跟了任意非空白字符的行
cat /etc/inittab |grep -v ^#$
19.history命令显示具体时间
export HISTTIMEFORMAT="%F %d `whoami`"
20.打印3天前的日期
date -d "3 days ago" +"%F"
21.一个目录中有很多文件,最快速度查看到最近更新的文件,如何看?
ls -lt
22.如何过滤出目录中的所有一级目录(不包含子目录,即只能是一级目录)
ls -la /tmp/|grep ^d |awk '{print $9}'