ZIP 软件包管理
ZIP 也是计算机文件的压缩的算法,原名 Deflate(真空),发明者为菲利普•卡兹(Phil
Katz)),他于 1989 年 1 月公布了该格式的资料。ZIP 通常使用后缀名“.zip”。
主流的压缩格式包括 tar、rar、zip、war、gzip、bz2、iso 等。从性能上比较,TAR、WAR、
RAR 格式较 ZIP 格式压缩率较高,但压缩时间远远高于 ZIP,Zip 命令行工具可以实现对 zip
属性的包进行管理,也可以将文件及文件及打包成 zip 格式。如下为 ZIP 工具打包常见参数详解:
-f freshen:只更改文件;
-u update:只更改或新文件;
-d 从压缩文件删除文件;
-m 中的条目移动到 zipfile(删除 OS 文件);
-r 递归到目录;
-j junk(不记录)目录名;
-l 将 LF 转换为 CR LF(-11 CR LF 至 LF);
-1 压缩更快 1-9 压缩更好;
-q 安静操作,不输出执行的过程;
-v verbose 操作/打印版本信息;
-c 添加一行注释;
-z 添加 zipfile 注释;
-o 读取名称使 zip 文件与最新条目一样旧;
-x 不包括以下名称;
-F 修复 zipfile(-FF 尝试更难);
-D 不要添加目录条目;
-T 测试 zip 文件完整性;
-X eXclude eXtra 文件属性;
-e 加密 - 不要压缩这些后缀;
-h2 显示更多的帮助。
源码包安装
通常使用 RPM 工具管理.rpm 结尾的二进制包,而标准的.zip、tar 结尾的源代码包则不能使用 RPM 工具去安装、卸载及升级,源码包安装有三个步骤,如下:
./configure 预编译,主要用于检测系统基准环境库是否满足,生成 MakeFile 文件;
make 编译,基于第一步生成的 makefile 文件,进行源代码的编译;
make install 安装,编译完毕之后,将相关的可运行文件安装至系统中;
使用 make 编译时,Linux 操作系统必须有 GCC 编译器,用于编译源码。
源码包安装通常需要./configure、make、make install 三个步骤,某些特殊源码可以只有
三步中的其中一个步骤,或者两个步骤。
以 CentOS Linux 系统为基准,在其上安装 Nginx 源码包,企业中源码安装的详细步
骤如下:

(1) Nginx.org 官网下载 Nginx-1.13.0.tar.gz 包
wget http://nginx.org/download/nginx-1.13.0.tar.gz (2) Nginx 源码包解压 tar -xvf nginx-1.13.0.tar.gz
(3) 源码 Configure 预编译,需进入解压后的目录执行./configure 指令,分号“;”表示连接多个命令。
cd nginx-1.13.0;./configure
(4) make 编译 make
(5) make install 安装 make install
通过以上五个步骤,源码包软件安装成功,源码包在编译及安装时,可能会遇到各种错
误,需要把错误解决之后,然后再进行下一步安装即可,后面章节会重点针对企业使用的软
件进行案例演练。
注:需要加入几个依赖,才能正常操作以上步骤
安装依赖
yum install gcc
yum install pcre-devel
yum install zlib zlib-devel
yum install openssl openssl-devel
//一键安装上面四个依赖
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel

7、通过网络下载源码包的指令
1、使用wget下载单个文件
以下的例子是从网络下载一个文件并保存在当前目录
wget http://cn.wordpress.org/wordpress-3.1-zh_CN.zip 在下载的过程中会显示进度条,包含(下载完成百分比,已经下载的字节,当前下载速度,剩余下载时间)。
2、使用wget -O下载并以不同的文件名保存
wget默认会以最后一个符合”/”的后面的字符来命令,对于动态链接的下载通常文件名会不正确。
错误:下面的例子会下载一个文件并以名称download.php?id=1080保存
wget http://www.centos.bz/download?id=1 即使下载的文件是zip格式,它仍然以download.php?id=1080命令。
正确:为了解决这个问题,我们可以使用参数-O来指定一个文件名:
wget -O wordpress.zip http://www.centos.bz/download.php?id=1080 3、使用wget –limit -rate限速下载
当你执行wget的时候,它默认会占用全部可能的宽带下载。但是当你准备下载一个大文件,而你还需要下载其它文件时就有必要限速了。
wget –limit-rate=300k http://cn.wordpress.org/wordpress-3.1-zh_CN.zip 4、使用wget -c断点续传
使用wget -c重新启动下载中断的文件:
wget -c http://cn.wordpress.org/wordpress-3.1-zh_CN.zip 对于我们下载大文件时突然由于网络等原因中断非常有帮助,我们可以继续接着下载而不是重新下载一个文件。需要继续中断的下载时可以使用-c参数。
5、使用wget -b后台下载
对于下载非常大的文件的时候,我们可以使用参数-b进行后台下载。
wget -b http://cn.wordpress.org/wordpress-3.1-zh_CN.zip Continuing in background, pid 1840.
Output will be written to `wget-log’.
你可以使用以下命令来察看下载进度
tail -f wget-log
作业:
1、RPM 及 YUM 管理工具的区别是什么?
2. 企业中安装软件,何时选择 YUM 安装或者源码编译安装?
3. 将 Linux 系统中 PHP5.3 版本升级至 PHP5.5 版本,升级方法有几种,分别写出升级步
骤?
4. 使用源码编译安装 httpd-2.4.25.tar.bz2,写出安装的流程及注意事项。
5. 如何将 CentOS 7 Linux 字符界面升级为图形界面,并设置系统启动默认为图形界面?
5.3、linux通配符,特殊字符以及正则表达式
1、通配符
通配符是shell在做路径名扩展时用到的。一般只用于文件名匹配,它是由shell解析的,比如find,ls,cp,mv等。
2、Shell常见通配符:
通配符 含义 实例

  • 匹配 0 或多个字符 a*b a与b之间可以有任意长度的任意字符, 也可以一个也没有, 如aabcb, axyzb, a012b, ab。
    ? 匹配任意一个字符 a?b a与b之间必须也只能有一个字符, 可以是任意字符, 如aab, abb, acb, a0b。
    [list] 匹配 list 中的任意单一字符 a[xyz]b a与b之间必须也只能有一个字符, 但只能是 x 或 y 或 z, 如: axb, ayb, azb。
    [!list]或[^list] 匹配 除list 中的任意单一字符 a[!0-9]b a与b之间必须也只能有一个字符, 但不能是阿拉伯数字, 如axb, aab, a-b。
    [c1-c2] 匹配 c1-c2 中的任意单一字符 如:[0-9] [a-z] a[0-9]b 0与9之间必须也只能有一个字符 如a0b, a1b… a9b。
    [!c1-c2]或[^c1-c2] 匹配不在c1-c2的任意字符 a[!0-9]b 如acb adb
    {string1,string2,…} 匹配 sring1 或 string2 (或更多)其一字符串 a{abc,xyz,123}b 列出aabcb,axyzb,a123b

3、特殊字符
字符 说明
IFS 由 或 或 三者之一组成(我们常用 space )
CR 由 产生
= 设定变量
$ 取变量值或取运算值

重定向 stdout
< 重定向 stdin
| 管道符号管道“|”可将命令的结果输出给另一个命令作为输入之用:
& 重导向 file descriptor ,或将命令置于背景执行
( ) 将其内的命令置于 nested subshell 执行,或用于运算或命令替换
{ } 将其内的命令置于 non-named function 中执行,或用在变量替换的界定范围
; 在前一个命令结束时,而忽略其返回值,继续执行下一个命令
&& 在前一个命令结束时,若返回值为 true,继续执行下一个命令
|| 在前一个命令结束时,若返回值为 false,继续执行下一个命令
! 运算意义上的非(not)的意思

注释,常用在脚本中

\ 转义字符,去除其后紧跟的元字符或通配符的特殊意义
管道 |
其它字符不再这里多介绍,比如追加,重定向,注释已经讲过,至于逻辑运算符,放到shell语句中使用才方便,在这里着重介绍一下管道,这里的管道与咱们平常见到的通水的管道是一个意思,水从管道的这头流向那头,而放在linux命令中,则是将命令的结果输出给另一个命令作为输入之用
比如: cat 123.txt | grep -v ‘cccc’
5、转义字符
有时候,我们想让 通配符,或者元字符 变成普通字符,不需要使用它。那么这里我们就需要用到转义符了。 shell提供转义符有三种。
字符 说明
‘’(单引号) 硬转义,其内部所有的shell 元字符、通配符都会被关掉。
“”(双引号) 软转义,其内部只允许出现特定的shell 元字符:$用于参数替换 `(反单引号,esc键下面)用于命令替换
(反斜杠) 又叫转义,去除其后紧跟的元字符或通配符的特殊意义

zip archive和zip区别 zip跟zipper一样吗_源码包