1.批量生成随机字符文件名;在/tmp目录下批量创建10个html文件,其中每个文件需要包含10个随机小写字母加固定字符串tmp
# apquvdpqbk_tmp.html
# mktemp | awk -F. '{print $2}',利用正则来生成也可
答
#!/bin/bash
#
for I in {1..10}; do
AA=` mktemp |awk -F. '{print $2}' | tr 'A-Z' 'a-z' |tr '0-9' 'a-z'`
mkdir -p /tmp/222/$AA.html
done
2.批量修改名称,后缀修改为大写
# apquvdpqbk_tmp.html ---> apquvdpqbk_tmp.HTML
#!/bin/bash
#
for I in /tmp/111/*.html
do
AA=`echo $I | awk -F. '{print $1}'`
mv $I $AA.HTML
done
3.批量创建10个系统帐号user01-user10并设置密码(密码为随机数,要求字符和数字等混合)
#!/bin/bash
#
for I in {1..10}; do
useradd user$I &> /dev/null
echo "[[:punct]]|[[:alnum]]" |passwd --stdin user$I
echo "add user$I is finished"
done
4.判断自己的网络里,当前在线的IP有多少
#!/bin/bash
#
PING() {
if ping -c 1 -w 1 $1 &> /dev/null; then
return 0
else
return 1
fi
}
for I in {1..200}; do
PING 192.168.88.$I
if [ $? -eq 0 ]; then
echo "192.168.88.$I is up"
else
echo "192.168.88.$I is down"
fi
done >/root/file1
more /root/file1 |grep ".* up" |wc -l
5.计算1-100的和
#!/bin/bash
#
declare -i SUM=0
for I in {1..100}; do
SUM=$[ $SUM + $I ]
done
echo "the sum is: $SUM"
~
6.把/root/目录下的所有目录 拷贝到/tmp/目录下
#!/bin/bash
#
tar -czf /tmp/tmp.tar.gz /root/*
7.判断输入的IP是否正确(x.x.x.x)
程序如下:#/bin/bash
echo -n "请输入IP地址 : "
read ip
ip1=`echo $ip|cut -d . -f 1`
ip2=`echo $ip|cut -d . -f 2`
ip3=`echo $ip|cut -d . -f 3`
ip4=`echo $ip|cut -d . -f 4`
a=`echo $ip|grep "\."`
if [[ -z "$ip1" ]];then
echo "ip error"
exit 8
fi
if [[ ! -z "$ip1" ]] && [ $ip1 -lt 255 ];then
if [[ ! -z "$ip2" ]] && [ $ip2 -lt 255 ] ;then
if [[ ! -z "$ip3" ]] && [ $ip3 -lt 255 ] ;then
if [[ ! -z "$ip4" ]] && [ $ip4 -lt 255 ] && [ $ip4 -ne 0 ] && [ $ip4 -ne 255 ];then
echo "ip ok"
else
echo "ip error"
fi
else
echo "ip error"
fi
else
echo "ip error"
fi
else
echo "ip error"
fi
~
8.生成1-50内取随机数
# $RANDOM
#!/bin/bash
#
echo $(($RANDOM%50+1 ))
9.每日生成一个文件,格式为2018-05-25-diskinfo.log, 并且把磁盘的使用情况写到到这个文件中
#!/bin/bash
df -Th > `date +%F`-diskinfo.log
10.http的access.log中访问量最多的5个ip
more /var/log/httpd/access_log-20180527 | grep ^192 | awk '{print $1}' | sort -g | tail -5
11.可以查看进程的内存占用大小,计算一下所有进程所占用内存大小的和
#!/bin/bash
#
free -h |head -2 |tail -1
12.查看/var/log目录下的文件数
#!/bin/bash
#
more /var/log |wc -l
13.如果查看Linux系统每个ip的连接数
#!/bin/bash
#
netstat -ntpl |grep 'ESTBLISH' |wc -l estblite 是显示连接的
14.shell下生成32位随机密码
#!/bin/bash
#
openssl rand -base64 32
15.简述Linux系统的开机启动顺序
1、加载BIOS设置,即检查硬件设备(CPU CD-ROM 主板 内存 键盘 硬盘)
2、加载MBR (主要加载GRUB分区)用户的自定义配置等
3、a、在内存中释放kernel使用的file system
b、执行根文件系统中的进程
4、加载配置文件。init程序启动后,读取/etc/inintab文件,决定系统的启动级别
5、加载内核模块
6、根据运行级别 ,系统运行0-6中的相应程序 来初始化和启动相应的服务
7、启动init.d下的系统进程
8、出现系统登录画面
16.如何在文本里面进行复制、粘贴,删除行,删除全部,按行查找和按字母查找
复制:yy
粘贴:p
删除行:dd
删除全部:gg ndd
按行查找:fX
17.如何手动安装grub
a、如果grub文件破坏
开机启动时会进入grub命令行模式
查找一下grub find (hd0,0)直到找到含有内核版本的盘
然后执行
root (hd0,0)
kernel /vmlinuz内核版本 root=/dev/sd盘
initrd /initramfs 内核版本.img
重新启动系统
b、 如果/boot/目录破坏了
在开机时使用光盘启动进入救援模式(Fn+F2)
语言,键盘等都选择默认,不启用网络执行以下
df -Th #查看当前的系统环境
chroot /mnt/sysimge/ 修改系统环境
df -Th
mount /dev/sr0 /mnt 挂载光盘
rpm -ivh kernel --force 安装内核
ls /boot
grub-install /dev/sd盘 安装grub
ls /boot
vim /boot/grub/grub.conf
default=0
timeout=5
title c77
root (hd0,0)
kernel /vmlinuz内核版本 root=/dev/sd盘
initrd /initramfs内核版本.img
sync 同步
exit
重新启动系统
18.显示/etc/inittab中以#开头,且后面跟了一个或者多个空白字符,
more /etc/inittab |grep -v "^#$"
19.history命令显示具体时间
# export HISTTIMEFORMAT="%F "
# history
20.打印3天前的日期
#!/bin/bash
#
date -d "3 day ago" +"%F"
21.一个目录中有很多文件,最快速度查看到最近更新的文件,如何看?
ll -t
22.如何过滤出目录中的所有一级目录(不包含子目录,即只能是一级目录)
#!/bin/bash
ls -la $1 | grep '^d' | wc -l
# apquvdpqbk_tmp.html
# mktemp | awk -F. '{print $2}',利用正则来生成也可
答
#!/bin/bash
#
for I in {1..10}; do
AA=` mktemp |awk -F. '{print $2}' | tr 'A-Z' 'a-z' |tr '0-9' 'a-z'`
mkdir -p /tmp/222/$AA.html
done
2.批量修改名称,后缀修改为大写
# apquvdpqbk_tmp.html ---> apquvdpqbk_tmp.HTML
#!/bin/bash
#
for I in /tmp/111/*.html
do
AA=`echo $I | awk -F. '{print $1}'`
mv $I $AA.HTML
done
3.批量创建10个系统帐号user01-user10并设置密码(密码为随机数,要求字符和数字等混合)
#!/bin/bash
#
for I in {1..10}; do
useradd user$I &> /dev/null
echo "[[:punct]]|[[:alnum]]" |passwd --stdin user$I
echo "add user$I is finished"
done
4.判断自己的网络里,当前在线的IP有多少
#!/bin/bash
#
PING() {
if ping -c 1 -w 1 $1 &> /dev/null; then
return 0
else
return 1
fi
}
for I in {1..200}; do
PING 192.168.88.$I
if [ $? -eq 0 ]; then
echo "192.168.88.$I is up"
else
echo "192.168.88.$I is down"
fi
done >/root/file1
more /root/file1 |grep ".* up" |wc -l
5.计算1-100的和
#!/bin/bash
#
declare -i SUM=0
for I in {1..100}; do
SUM=$[ $SUM + $I ]
done
echo "the sum is: $SUM"
~
6.把/root/目录下的所有目录 拷贝到/tmp/目录下
#!/bin/bash
#
tar -czf /tmp/tmp.tar.gz /root/*
7.判断输入的IP是否正确(x.x.x.x)
程序如下:#/bin/bash
echo -n "请输入IP地址 : "
read ip
ip1=`echo $ip|cut -d . -f 1`
ip2=`echo $ip|cut -d . -f 2`
ip3=`echo $ip|cut -d . -f 3`
ip4=`echo $ip|cut -d . -f 4`
a=`echo $ip|grep "\."`
if [[ -z "$ip1" ]];then
echo "ip error"
exit 8
fi
if [[ ! -z "$ip1" ]] && [ $ip1 -lt 255 ];then
if [[ ! -z "$ip2" ]] && [ $ip2 -lt 255 ] ;then
if [[ ! -z "$ip3" ]] && [ $ip3 -lt 255 ] ;then
if [[ ! -z "$ip4" ]] && [ $ip4 -lt 255 ] && [ $ip4 -ne 0 ] && [ $ip4 -ne 255 ];then
echo "ip ok"
else
echo "ip error"
fi
else
echo "ip error"
fi
else
echo "ip error"
fi
else
echo "ip error"
fi
~
8.生成1-50内取随机数
# $RANDOM
#!/bin/bash
#
echo $(($RANDOM%50+1 ))
9.每日生成一个文件,格式为2018-05-25-diskinfo.log, 并且把磁盘的使用情况写到到这个文件中
#!/bin/bash
df -Th > `date +%F`-diskinfo.log
10.http的access.log中访问量最多的5个ip
more /var/log/httpd/access_log-20180527 | grep ^192 | awk '{print $1}' | sort -g | tail -5
11.可以查看进程的内存占用大小,计算一下所有进程所占用内存大小的和
#!/bin/bash
#
free -h |head -2 |tail -1
12.查看/var/log目录下的文件数
#!/bin/bash
#
more /var/log |wc -l
13.如果查看Linux系统每个ip的连接数
#!/bin/bash
#
netstat -ntpl |grep 'ESTBLISH' |wc -l estblite 是显示连接的
14.shell下生成32位随机密码
#!/bin/bash
#
openssl rand -base64 32
15.简述Linux系统的开机启动顺序
1、加载BIOS设置,即检查硬件设备(CPU CD-ROM 主板 内存 键盘 硬盘)
2、加载MBR (主要加载GRUB分区)用户的自定义配置等
3、a、在内存中释放kernel使用的file system
b、执行根文件系统中的进程
4、加载配置文件。init程序启动后,读取/etc/inintab文件,决定系统的启动级别
5、加载内核模块
6、根据运行级别 ,系统运行0-6中的相应程序 来初始化和启动相应的服务
7、启动init.d下的系统进程
8、出现系统登录画面
16.如何在文本里面进行复制、粘贴,删除行,删除全部,按行查找和按字母查找
复制:yy
粘贴:p
删除行:dd
删除全部:gg ndd
按行查找:fX
17.如何手动安装grub
a、如果grub文件破坏
开机启动时会进入grub命令行模式
查找一下grub find (hd0,0)直到找到含有内核版本的盘
然后执行
root (hd0,0)
kernel /vmlinuz内核版本 root=/dev/sd盘
initrd /initramfs 内核版本.img
重新启动系统
b、 如果/boot/目录破坏了
在开机时使用光盘启动进入救援模式(Fn+F2)
语言,键盘等都选择默认,不启用网络执行以下
df -Th #查看当前的系统环境
chroot /mnt/sysimge/ 修改系统环境
df -Th
mount /dev/sr0 /mnt 挂载光盘
rpm -ivh kernel --force 安装内核
ls /boot
grub-install /dev/sd盘 安装grub
ls /boot
vim /boot/grub/grub.conf
default=0
timeout=5
title c77
root (hd0,0)
kernel /vmlinuz内核版本 root=/dev/sd盘
initrd /initramfs内核版本.img
sync 同步
exit
重新启动系统
18.显示/etc/inittab中以#开头,且后面跟了一个或者多个空白字符,
more /etc/inittab |grep -v "^#$"
19.history命令显示具体时间
# export HISTTIMEFORMAT="%F "
# history
20.打印3天前的日期
#!/bin/bash
#
date -d "3 day ago" +"%F"
21.一个目录中有很多文件,最快速度查看到最近更新的文件,如何看?
ll -t
22.如何过滤出目录中的所有一级目录(不包含子目录,即只能是一级目录)
#!/bin/bash
ls -la $1 | grep '^d' | wc -l