admin@80vps.com
联系我们
QQ:1668121212
CN
Cn
En
邮件订阅
服务条款
优惠促销
会员中心
Toggle navigation
站群服务器
香港站群
美国站群
日本站群
韩国站群
新加坡站群
国内云主机
景安多线
四川双线云主机
上海电信
华为云
香港服务器
香港Cera高防
香港PowerLine
香港Pangnet
香港BGP大带宽
沙田大带宽
香港九龙
香港大浦
亚太服务器
越南服务器
韩国优化
韩国首尔
日本CIA
日本CN2
日本精品
新加坡
欧美及高防
洛杉矶MC
凤凰城IF
洛杉矶Cera高防
洛杉矶SK高防
VPS主机
亚太VPS列表
新加坡SG
日本CTG
香港CTG
韩国BGP
香港CI
欧美VPS列表
美国Cera
美国MC
帮助中心
账户管理
用户注册
登录验证
购买结算
充值汇款
新购续费
退款处理
VPS购买及使用
常用下载
VPS云服务器介绍
用户操作指南
Linux操作指南
Windows操作指南
产品介绍
常用下载
PHP源码
ASP源码
在线工具
推广
本月特价
gzip -cd xxxxx | path -d xxx -p1命令的含义
浏览次数:2154 关键词 (
含义
命令
xxxxx
cd
)
在nginx实战系列 在编译安装过程中 编译安装PHP时使用了一个命令
“ gzip -cd php-5.2.6.-fpm-0.5.9diff.gz | patch -d php-5.2.6 -p1 ”
这条命令的作用是把“php-5.2.6.-fpm”(这个是小布老师推荐的一个php管理工具)给添加到PHP的源码包中,
但是这条命令具体是什么意思呢? 经过小半天的搜索、阅读、思考,大致了解了这条命令的含义,秉承boobooke的精神
加强大家学习时的交流,也为了分享和巩固自己学到的知识,保持这种积极的学习状态,所以发了这个..叫什么.....算是学习笔记吧!
这个“gzip"就是”gun zip“啦,解压用的 “-cd”呢? -c 就是” stdout --to-stdout “ 将结果写到标准输出;原文件保持不变 ,
用大白话来说就是解压并保留源文件。-d 就是解压缩啦。
那么这个patch呢?我们知道它翻译过来就是 补丁 的意思。说道这里我们要介绍一下另一个工具diff
在开源的世界里大多数人都通过网络来传播和更新软件,但是 在互联网的早期,网络带宽是非常有限的,
这个时候就产生了diff和patch(diff比patch大约早十年,g.cn说的)
diff的主要用来”生成一个文件,该文件中列出了内容发生改变的行,显示两个原始文件、修改过的行以及由于
内容没有变化而忽略掉的行“(简单的讲就是生成更新包啦)
patch典型地用于把一个目录下的源代码文件更新到新的版本,从而就避免了下载整个新的源代码档案的必要
(就是用更新包更新啦,但有一点区别就是,它更新的是源码包,完了之后你还得重新编译安装)。
我简单说一个diff和patch的用法:
diff A B >C ,一般A是原始文件,B是修改后的文件,C称为A的补丁文件
A 和B可以是文件和目录,如果一个是文件,另一个是目录,那么目录下同名的文件起作用。如果是两个目录,
则作用于该目录下的所有文件,但不递归,使用-r参数可以实现递归
patch的用法
还是用上面的例子
patch A C
执行后,A就变成了B。如果执行之后发现补丁打错了,怎么办?这时就可以使用参数 -R (注意大小写!)
patch -R B C 就可以重新还原到A了。
这里还有一个原文件的路径和名称的问题:
-p参数决定了是否使用读出的源文件名的前缀目录信息,不提供-p参数,则忽略所有目录信息,-p0(或者-p 0)表示使用全部的路径信息,
-p1将忽略第一个"/"以前的目录,依此类推。如/usr/src/linux-2.4.15/Makefile这样的文件名,在提供-p3参数时将使用linux-2.4.15/Makefile作为所要patch的文件。