编译安装、压缩打包、定时任务
1、编译安装
1、何为编译安装
编译:将源代码变为机器可执行的代码文件。
安装:将可执行文件安装到操作系统里,才可以使用
'''
我们平常所安装的软件包(.exe文件等)都是打包好的源代码,只需要点击.exe文件即可执行,但是会发现,下载好的软件,安装目录里有很多的代码文件,这其实就是所谓的源代码,而所有的安装目录里的文件夹是事先打包好的,我们修改不了。
而所谓的编译安装就是直接下载相应软件的软代码,再经过编译成二进制语言(即机器能读懂的语言),进而可以实现个性化定时的效果,只有编译过才能进行安装
'''
2、编译安装的特点
1、可以自定制软件(可以对软件的源代码配置文件进行修改)
2、按自身所需定制软件
3、编辑安装的步骤
1、下载源代码包
这里涉及到一个工具(获取软件源代码)
利用yum下载wget工具
yum install wget
若出现报错的情况,可以去华为云下载wget对应的软件包,再利用rpm安装
rpm -ivh wget-1.14-18.el7_6.1.x86_64.rpm
补充:wget
'''
wget命令用来从指定的URL下载文件。
wget非常稳定,它在带宽很窄的情况下和不稳定网络中有很强的适应性,
如果是由于网络的原因下载失败,wget会不断的尝试,直到整个文件下载完毕。
如果是服务器打断下载过程,它会再次联到服务器上从停止的地方继续下载。这对从那些限定了链接时间的服务器上下载大文件非常有用
'''
语法格式:wget [选项] [参数]
完成了以上的任务后,利用wget获取源代码
这里以nginx为例
nginx源代码包下载网址:nginx: download
获取nginx源代码包
wget https://nginx.org/download/nginx-1.20.2.tar.gz
2、对下载下来的源代码包进行解压
这里涉及到一个知识点,tar命令,现在先使用,下面会对tar细讲
[root@jinx ~]# tar -xf nginx-1.20.2.tar.gz
3、解压完成以后进行系统参数的配置
1、切换到解压后的nginx文件目录下
2、自定制软件包,截图会稍后附上
[root@jinx nginx-1.20.2]# vim ./src/core/nginx.h
修改相应配置信息,自定制服务器界面
3、配置参数
./configure # 在nginx-1.20.2当前目录直接执行
4、编译(编译安装一定要先进行编译再进行安装)
make # 执行make命令即可
5、安装
make install
6、启动nginx
[root@jinx local]# /usr/local/nginx/sbin/nginx
#关闭nginx
[root@jinx nginx-1.20.2]# /usr/local/nginx/sbin/nginx -s stop
2、压缩打包
1、什么是打包、什么是压缩
1、打包是指将一大堆文件或目录什么的变成一个总的文件
2、压缩则是将一个大的文件通过一些压缩算法变成一个小文件
2、有哪些所谓的压缩包
在windows中,常见的压缩包有:zip,rar
在linux系统中,常见的压缩包有:
gzip
bzip2
3、linux压缩命令讲解
1、gzip命令
压缩命令格式
gzip [待压缩文件]
eg:以我事先创建的1.txt文件为例
[root@jinx ~]# gzip 1.txt
解压命令格式
gzip -d [压缩包]
eg:以刚才下好的源代码包为例,解压后得到nginx
[root@jinx ~]# gzip -d nginx-1.20.2.tar.gz
2、bzip2命令
压缩命令格式
bzip2 [待压缩文件]
eg:以我事先创建的2.txt文件为例
[root@jinx ~]# bzip2 2.txt
解压命令格式
bzip2 -d [压缩包]
eg:以刚才压缩过的2.txt.bzip2为例
[root@jinx ~]# bzip2 -d 2.txt.bz2
注:1、压缩命令无法对目录进行压缩
2、用什么进行压缩,就用对应的命令进行解压
4、linux打包命令详解
关键字:tar
语法格式:tar [参数] [待打包的文件]
参数:
-f :指定打包的包名称(即文件的路径)
tar -f [文件路径(包名称)] [待打包文件]
-c : 打包
-v : 显示打包的过程
-z :使用gzip对打包的文件进行压缩
-j : 使用bzip2对打包的文件进行压缩
-x : 解压(解压不需要指定压缩类型)
-t : 查看压缩包内部的内容
-P : 忽略使用绝对路径时报出的错误
注:
1、压缩时是什么路径,解压缩时就是什么路径,所以为了安全不要使用绝对路径压缩
2、-f参数后面永远跟压缩包的名称(文件路径)
3、定时任务
1、定时任务
在linux中,定时任务是为了能够在指定的时间点通过执行事先创建的定时任务,
到点执行脚本文件让机器执行我们想让机器执行的操作,大大节省了人力资源,同时也大大提高了工作效率
2、定时任务配置信息格式
# 查看相关配置信息
vim /etc/crontab
# Example of job definition:
# .---------------- minute (0 - 59) (分钟)
# | .------------- hour (0 - 23) (小时)
# | | .---------- day of month (1 - 31) (每个月的哪一天)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...(每个月份)
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat (每周的周几)
# | | | | |
# * * * * * user-name command to be
定时任务语法格式:
* * * * * :crontab
上面的每个*分别对应分钟、小时、天、月、星期
*号默认为每一(分钟、小时、天、月、星期)
注:在linux中,没有秒的概念
3、增加定时任务
命令
crontab -e
语法格式:
* * * * *(什么时间) [要做的事也即脚本文件]
执行crontab -e进入增加定时任务界面,按照上面的语法格式进行,
示例:每天的凌晨2:50执行/root下的1.sh文件
50 2 * * * /root/1.sh
4、查看crontab定时任务
crontab -l
5、每一个用户的定时任务是相对隔离的,可以在/var/spool/cron目录下进行查看,定时任务是以用户的用户名进行命名的文件
6、常用的一些命令
head :从首行开始查看文件,默认查看10行
-n :指定查看的行数
tail :从行尾开始查看文件,默认查看10行
-n : 执行查看的行数
-f : 实时监控文件的变化
less :类似于vim的方式查看文件
5、定时任务的特殊格式
1、每隔两分钟执行
*/2 * * * *
2、每天的2,4,6,8,10这5个小时的1分钟执行
01 2,4,6,8,10 * * *
3、每天的2到6点执行
00 2-6 * * *
4、每天的2到6点中每隔2小时执行
00 2-6/2 * * *
5、每天的2点执行,但是这天必须是周三
00 2 * * 03