Linux--Shell练习题

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: Linux--Shell练习题

一,第一套

1.利用脚本安装httpd

vim http.sh

复制:(没有源代码的可以上CSDN搜索用户:征服bug,找到这个文章就可以复制了)

#!/bin/bash
#安装httpd服务
rpm -q httpd
if [ $? -eq httpd ]
then
       rpm -e httpd
fi
#安装依赖包
rpm -ivh /mnt/Packages/apr-1.4.8-3.el7.x86_64.rpm
rpm -ivh /mnt/Packages/apr-devel-1.4.8-3.el7.x86_64.rpm
rpm -ivh /mnt/Packages/cyrus-sasl-devel-2.1.26-20.el7_2.x86_64.rpm
rpm -ivh /mnt/Packages/expat-devel-2.1.0-8.el7.x86_64.rpm
rpm -ivh /mnt/Packages/libdb-devel-5.3.21-19.el7.x86_64.rpm
rpm -ivh /mnt/Packages/openldap-devel-2.4.40-13.el7.x86_64.rpm
rpm -ivh /mnt/Packages/apr-util-devel-1.5.2-6.el7.x86_64.rpm
rpm -ivh /mnt/Packages/apr-util-1.5.2-6.el7.x86_64.rpm
rpm -ivh /mnt/Packages/pcre-devel-8.32-15.el7_2.1.x86_64.rpm
rpm -ivh /mnt/Packages/pcre-8.32-15.el7_2.1.x86_64.rpm
#安装源代码包
tar zxf /mnt/tar/httpd-2.4.25.tar.gz  -C /usr/src/
cd /usr/src/httpd-2.4.25/
./configure  --prefix=/usr/local/httpd  --enable-so  --enable-rewrite  --enable-charset-lite  --enable-cgi
make
make install
#优化超链接
ln -s /usr/local/httpd/bin/* /usr/local/bin

挂盘

mount /dev/sr0 /mnt

运行脚本(安装时间可以直接开第二个桌面做第三套)

.  http.sh

二,第二套

systemctl stop firewalld
setenforce 0
ifconfig ens33 192.168.1.1

配置两个httpd虚拟主机

vim /usr/local/httpd/conf/extra/httpd-vhosts.conf
  1. 第一个域名为www.bdqn1.com,第二个为www.bdqn2.com
mkdir /A
mkdir /B
echo "A" > /A/index.html
echo "B" > /B/index.html
htpasswd -c /usr/local/httpd/conf/.passwd xiaoming

3.第一个只允许192.168.1.0/24网段访问,第二个需要用户验证

4.删除http配置文件中的注释:vim /usr/local/httpd/conf/httpd.conf

Include conf/extra/httpd-vhosts.conf

5.打开服务:

apachectl start

注:如果出现文件:报错信息,更改配置文件,重启

1. killall httpd
2. 
3. apachectl start

6.并分别进行验证,找系统文件 添加一下内容

网页访问:

三,第三套

1.在mysql上创建数据库bdqn,创建表test1,表中包含姓名,成绩列

mysql -u root
create database bdqn;
use bdqn;
create table test1 (name varchar(6),age int);

2.在test1中添加3条记录

insert into test1 values('B',89);
insert into test1 values('C',123);
insert into test1 values('A',100);

3.利用mysqldump备份数据库

mysqldump  -u root bdqn test1 >bdqn- test1-$(date +%F).sql

4.然后再添加两条记录

mysql -u root
insert into test1 values(‘D',13);
insert into test1 values('E',23);

5.删除test1表

drop table bdqn.t1;

6.删除test1表

mysql -u root bdqn <bdqn-test1-2022-07-30.sql
mysql -u root
use bdqn;
select * from test1

四,第四套

1.创建用户名列表文件users.txt,其中包含用户小明、小红、小黑、小白

vim users.txt
xiaoming
xiaohong
xiaohei
xiaobai

2.利用for循环语句创建以上用户

vim foruseradd.sh
#!/bin/bash
ulist=$(cat /root/users.txt)
for uname in $ulist
do
useradd $uname
echo "123456" | passwd --stdin $uname &> /dev/null
done

3.利用while循环语句创建用户stu1—10

vim whileuseradd.sh
#!/bin/bash
NAMEADD="stu"
i=1
while [ $i -le 10 ]
do
    useradd ${NAMEADD}$i
    let i++
done

4.创建脚本测试192.168.1.0/24网段在线的主机

#!/bin/bash
NADD="192.168.1."
HADD=1
while [ $HADD -le 5 ]
do
        ping -c 3 -i 0.2 -W 3 ${NADD}${HADD} &> /dev/null
        if [ $? -eq 0 ] ; then
               echo ${NADD}${HADD} >> ping.txt
        fi
        let HADD++
done

4.创建脚本测试192.168.1.0/24网段在线的主机

#!/bin/bash
NADD="192.168.1."
HADD=1
while [ $HADD -le 5 ]
do
        ping -c 3 -i 0.2 -W 3 ${NADD}${HADD} &> /dev/null
        if [ $? -eq 0 ] ; then
               echo ${NADD}${HADD} >> ping.txt
        fi
        let HADD++
done

五,第五套

开启第二台虚拟机,关闭防火墙,SLinux,配置地址,两台虚拟机可以通信

1.在ser2上配置ssh免密码登录

ssh-keygen -t ecdsa
ssh-copy-id -i ~/.ssh/id_ecdsa.pub  root@192.168.1.2
ssh 192.168.1.2

2.安装xshell,在windows主机上可以连接ser2,并将windows主机上的文件上传到ser2的/tmp目录下

六,第六套

1.利用yum安装两台httpd

rm -f /etc/yum.repos.d/*
vim /etc/yum.repos.d/local.repo
[local]
name=local
baseurl=file:///mnt
gpgcheck=0
yum -y install httpd

2.编写脚本,利用inotify+rsync实时监控httpd1上的/var/www/htnl目录,当发现变化后能自动的将变化的数据上传到另一个httpd上


两台虚拟机,一台192.168.1.1(rsync),另外一台192.168.1.2(inotify)


第一台虚拟机192.168.1.1配置


第二台虚拟机(192.168.1.2)

tar zxf /mnt/inotify-tools-3.14.tar.gz -C /usr/src/
cd /usr/src/inotify-tools-3.14/
./configure && make && make install
vim inotify.sh
#!/bin/bash
inotify="inotifywait -mrq -e modify,create,move,delete /var/www/html"
rsync="rsync -avzH /var/www/html/ @192.168.1.1::aaa"
$inotify | while read DIRECTORY EVENT FILE
do
        $rsync
done

3.并实现脚本自动运行

. inotify.sh

七,第七套

注:可以恢复快照,到安装squid完成的位置


1.安装squid代理服务器


2.配置传统代理,让客户机访问internet


#vim   /etc/resolv.conf


Nameserver  192.168.1.2


#vim  /etc/squid.conf


acl Safe_ports port 53


(1条消息) Linux-Squid代理服务器搭建_征服bug的博客-CSDN博客_squid代理快速搭建


3.只允许员工在工作时间访问internet


4.并禁止访问mp3、mp4等谋体文件

acl aa url_regex -i \.mp3$ \.mp4$
acl bb time MTWHF 08:30-17:30
http_access allow !aa bb

八,第八套

1.安装kvm并在其上部署一台虚拟机


2.在虚拟机上部署httpd

rm -f /etc/yum.repos.d/*
vim /etc/yum.repos.d/local.repo
[local]
name=local
baseurl=file:///mnt
gpgcheck=0
yum -y install httpd

3.并在客户机上可以访问web服务器

目录
相关文章
|
Linux Shell Perl
Linux 入门及常见 Shell 命令
Linux 体系结构:用户态(用户上层活动)和内核态 内核:本质是一段管理计算机硬件设备的程序 系统调用:内核的访问接口,是一种能再简化的操作 公用函数库:系统调用的组合拳