一丶yum安装
用yum安装软件分三步
- 第一步:准备一个软件源。软件源其实就是一个目录,在这个目录中有很多的rpm包
- 第二步:创建yum的配置文件,文件需要指向到软件源。
- 第三步:用yum进行安装/卸载软件
第一步:配置软件源
1)首选将系统镜像文件挂载到linux中
- 安装系统的时候,那个后缀是iso的文件,就是系统镜像文件
- # 将光盘挂载到mnt下
- #/dev/cdrom 这个是光盘
- #/mnt 这就是Linux的一个目录,这个目录是作为外部设备的挂载点来使用的
[root@localhost ~]# mount /dev/cdrom /mnt
# 重启系统后,需要重新进行挂载 mount: /dev/sr0 写保护,将以只读方式挂载
- # 检查挂载点
- # 只要挂载点下面有内容,就说明挂载成功了
[root@localhost ~]# ls /mnt/
第二步:修改配置文件
关于yum的配置文件
- 1)yum的配置文件路径:/etc/yum.repos.d
- 2)yum的配置文件名:配置文件名不是固定的,而是有一个统一的后缀,.repo
- 3)yum的默认配置文件,都是无效的,建议删除原有的所有配置文件
# 切换到yum的配置文件路径下
[root@localhost ~]# cd /etc/yum.repos.d/
# 删除原有的配置文件
[root@localhost yum.repos.d]# rm -rf *repo
# 检查是否还有配置文件,如果为空就正常了
root@localhost yum.repos.d]# ls
# 创建一个新的配置文件,只要保证后缀是.repo就可以
[root@localhost yum.repos.d]# vi new.repo
修改了配置文件以后,需要检查是否配置成功
[root@localhost yum.repos.d]# yum repolist
第三步:安装卸载软件
yum命令格式
参数
#1 用yum安装httpd
[root@localhost ~]# yum install httpd
#2 用 rpm -q 软件名 可以检查软件是否安装了
[root@localhost ~]# rpm -q httpd
二丶计划任务
1.周期行计划
- 通过周期性计划任务,可以定时、自动完成特定的工作
- 使用周期性计划任务,需要开启服务:crond
:
- crontab -e 创建计划任务
- crontab -l 查看计划任务
1)检查crond服务
[root@localhost ~]# systemctl status crond
# 确保服务处于运行状态
2)创建计划任务
crontab -e 可以创建计划任务
#案例1:每天5点27分,删除一次 tmp下的全部的文件a.txt
27 5 * * * rm -rf /tmp/a.txt
#案例2: 每个月7号的5点27分,删除一次 tmp下的全部的文件a.txt
27 5 7 * * rm -rf /tmp/a.txt
#案例3: 每年3月7号的5点27分,删除一次 tmp下的全部的文件a.txt
27 5 7 3 * rm -rf /tmp/a.txt
#案例4: 没个小时的27分,删除一次 tmp下的全部的文件a.txt
27 * * * * rm -rf /tmp/a.txt
三丶shell脚本编程
1.简介
- 也是一种编程语言,最大的特点的就是简单
- 在shell中,其实就是包含了各种linux命令
- 这个保存了命令的文件就是shell脚本
- 通过shell脚本可以实现批量执行linux命令
2.写shell脚本的流程
第一步:用vi/vim去创建一个后缀是.sh的文件
- vi是Linux的文本编辑器
- vim是vi的升级版,在vim中可以实现内容的高亮显示
- vim可能没有安装,可以执行 yum install vim 进行安装
注意:
- 1)Linux中文件的后缀,对于文件的属性,没有任何影响
- 2)因此,vi创建的shell脚本的后缀可以不是.sh
例如:创建一个文件 new.sh
[root@localhost ~]# vim new.sh
第二步:在sh文件中写入指令
- 第一行固定写法:#!/bin/bash
- 从第二行开始,写你想要执行的命令
# 要求:在shell脚本中,
# 1)在home下创建一个文件a.txt touch /home/a.txt #
2)删除tmp下的所有的文件 rm -rf /tmp/*
# 3)创建一个用户tom useradd tom
# 4)查看etc下有哪些文件 ls /etc
shell脚本的内容
#!/bin/bash
touch /home/a.txt
rm -rf /tmp/*
useradd tom
ls /etc
第三步:给脚本赋予权限
[root@localhost ~]# chmod +x new.sh
第四步:执行脚本
[root@localhost ~]# ./new.sh
3.shell流控制
1)循环
格式:
for 变量 in 列表
do
done
for的执行流程
- 1)量列表中的元素,拿出一个赋值给变量,然后执行do和done之间的代码
- 2)do和done之间的代码执行完成后,会再次去列表中取出一个元素,然后执行do和done之间的代 码
- 3)do和done之间的代码执行完成后,会再次去列表中取出一个元素,然后执行do和done之间的代 码
- 4)当列表中的元素用尽了,就会结束循环,结束循环后,才会去执行done后面的代码
案例:
#!/bin/bash
for num in 1 2 3 4 5 6 7 8 9 10
do
echo "hello"
echo "a"
done
echo "over"
执行流程
首先 将 1 赋值给 num,然后输出 hello 和 a
- 输出后,再去将2 赋值 num,然后输出 hello 和 a
- 输出后,再去将3 赋值 num,然后输出 hello 和 a
- 输出后,再去将4 赋值 num,然后输出 hello 和 a ...
- 输出后,再去将10 赋值 num,然后输出 hello 和 此时列表结束,此时会执行done后面的内容,也就是输出over
2)判断
格式1:
if [ 判断条件 ];then
语句
fi
- 这种格式称之为单分支格式
- 中间的语句,必须当条件满足的时候,才会执行
格式2:
if [ 判断条件 ];then
语句1
else
语句2
fi
- 这种格式称之为双分支格式 #
- 中间的语句1,必须当条件满足的时候,才会执行
- 当条件不满足的时候,会去执行语句2
案例:
#!/bin/bash # 指定解释器
m=3 # 定义变量,变量名是m,变量中的值是3
n=5 # 定义变量,变量名是n,变量中的值是5
if [ $m -gt $n ];then
# 条件是m中的值大于n中的值。变量名前必须加上$才能获得变量中的值
echo "ok" # 当条件成立,输出这里的内容
echo "$m"
else
echo "error" # 当条件不成立,输出这里的内容
echo "$n"
fi
4.shell脚本和计划任务
案例:要求每天晚上23点55分1执行如下操作
- 1)在home下创建一个文件
- 2)删除tmp下的所有的文件
- 3)创建一个用户
- 4)查看etc下有哪些文件
第一步:用vim创建一个文件
[root@localhost ~]# vim 1.sh
第二步:文件内容如下
#!/bin/bash
touch /home/a.txt
rm -rf /tmp/*
useradd tom
ls /etc
第三步:给这个脚本赋予权限
[root@localhost ~]#chmod +X 1.sh
第四步:创建一个计划任务
[root@localhost ~]#chmod -e
内容如下
55 23 * * *bash /1.sh