patch命令用于为特定软件包打补丁,该命令使用diff命令对源文件进行操作。
格式:patch [选项] [原始文件 [补丁文件]]。
常用参数:
-r 是一个递归选项,设置了这个选项,diff会将两个不同版本源代码目录中的所有对应文件全部都进行一次比较,包括子目录文件。
-N 选项确保补丁文件将正确地处理已经创建或删除文件的情况。
-u 选项以统一格式创建补丁文件,这种格式比缺省格式更紧凑些。
-p0 选项从当前目录查找目的文件(夹)(直接使用补丁文件里面指定的路径)。
-p1 选项忽略掉第一层目录,从当前目录查找(去掉补丁文件指定路径最左的第1个'/'及前面所有内容)。
-E 选项说明如果发现了空文件,那么就删除它。
-R 选项说明在补丁文件中的“新”文件和“旧”文件现在要调换过来了(实际上就是给新版本打补丁,让它变成老版本)
示例:
1、单个文件
首先将两个文件的内容显示如下:
$ cat test0
00000000
00000000
00000000
$ cat test1
00000000
11111111
00000000
*生成补丁:
$ diff -uN test0 test1 >test1.patch。
这样将通过比较,生成test1的补丁文件。这里选项u表示使用同一格式输出这样产生的输出便于阅读易于修改,N表示把不存在的文件看做empty的.就算文件test0不存在,也会生成补丁。
*把test0通过打补丁变成test1文件:
$ patch -p0 <test1.patch。
或$patch <test1.patch。
这样,test0的内容将和test1的内容一样,但是文件名称还是test0。关于patch的选项见后面多文件有说明。当前目录下可以有test1.如果比较的时候test0是不存在的,那么这时候会生成一个test0文件。
*把打过补丁的test0还原:。
$ patch -RE -p0<test1.patch。
或$patch -R <test1.patch。
这样,test0的内容将还原为原来没有打过补丁的状态。当前目录下可以有test1.这里的-E选项是要求patch在文件为空的时候删除文件,这个选项是不必要的因为patch是根据时间戳来判断一个文件是否存在。如果比较的时候test0是不存在的,这将会删除test0文件。
**
2、多个文件的:
首先查看文件结构如下:
1)外层目录列表:
$ ls -p
prj0/ prj1/
2)子目录prj0列表:
$ ls -p prj0
prj0name test0。
3)子目录prj1列表:
$ ls -p prj1
prj1name test1。
4)文件prj0/prj0name:。
$ cat prj0/prj0name。
--------
prj0/prj0name
--------
5)文件prj1/prj1name:。
$ cat prj1/prj1name。
---------
prj1/prj1name
---------
6)文件prj0/test0:。
$ cat prj0/test0。
0000000
0000000
0000000
0000000
0000000
0000000
0000000
7)文件prj1/test1:。
$ cat prj1/test1。
1111111
1111111
1111111
1111111
1111111
1111111
1111111
*创建补丁:
$ diff -uNr prj0 prj1 > prj1.patch。
这里项u表示使用同一格式输出这样产生的输出便于阅读易于修改,N表示把不存在的文件看做empty的,r表示递归地比较子目录,比较的结果被标准重定向到文件prj1.patch中了。
运行之后,输出的就是一个补丁,描述了两个文件的不同,这个补丁就是把diff参数的第一个文件打补丁变成第二个文件的补丁文件。
实际过程依次比较两个目录下的同名文件,如果这里不加-N就会指明prj0name和test0只在prj0中存在,prj1name和test1只在prj1中存在,这就无法比较了,所以这里为了能够比较,加上了-N选项。
为了便于理解,这里给出prj1.patch文件的内容:
$ cat prj1.patch。
diff -uNr prj0/prj0name prj1/prj0name。
--- prj0/prj0name 2009-08-24 10:44:19.000000000 +0800。
+++ prj1/prj0name 1970-01-01 08:00:00.000000000 +0800。
@@ -1,5 +0,0 @@。
---------
-prj0/prj0name
---------
diff -uNr prj0/prj1name prj1/prj1name。
--- prj0/prj1name 1970-01-01 08:00:00.000000000 +0800。
+++ prj1/prj1name 2009-08-24 10:45:05.000000000 +0800。
@@ -0,0 +1,5 @@。
+---------
+prj1/prj1name
+---------
diff -uNr prj0/test0 prj1/test0。
--- prj0/test0 2009-08-24 11:21:12.000000000 +0800。
+++ prj1/test0 1970-01-01 08:00:00.000000000 +0800。
@@ -1,7 +0,0 @@。
-0000000
-0000000
-0000000
-0000000
-0000000
-0000000
-0000000
diff -uNr prj0/test1 prj1/test1。
--- prj0/test1 1970-01-01 08:00:00.000000000 +0800。
+++ prj1/test1 2009-08-24 11:21:33.000000000 +0800。
@@ -0,0 +1,7 @@。
+1111111
+1111111
+1111111
+1111111
+1111111
+1111111
+1111111
*将prj0中的所有文件打补丁成为prj1中的所有文件:
步骤如下:
1)$ cp prj1.patch ./prj0。
2)$ cd prj0
3)$ patch -p1 < prj1.patch。
这里,把补丁文件复制到了prj0下面,然后将该文件夹下面的文件"变成"prj1下的文件了.。
$ ls -p
prj1name prj1.patch test1。
关于patch命令的-p选项接数字n,意思是去掉补丁文件里指定路径的前n个'/'前缀.。
例如补丁文件中指定路径是/u/howard/src/blurfl/blurfl.c,那么p0选项处理之后的路径还是原来路径不变,而p1选项处理之后的路径是u/howard/src/blurfl/blurfl.c,同理p4处理之后的路径是:blurfl/blurfl.c.。
注意:如果在外层目录运行这个命令,那么会在外层目录创建两个prj1name和test1文件。
*将打好补丁的prj0中的所有文件还原成为原来打补丁之前的文件:
$ patch -R -p1 < prj1.patch。
运行之后文件变成原来的文件了,如下:
$ ls -p
prj0name prj1.patch test0。
*将prj1中的所有文件反向打补丁成为prj0中的所有文件:
$ patch -R -p1 < prj1.patch。
运行之后prj1中的文件变成prj0的文件了,如下:
$ ls -p
prj0name prj1.patch test0。
*将prj1中反打补丁后的文件还原成原来的prj1中的文件:
$ patch -p1 < prj1.patch。
运行之后,prj1中的文件被还原了,如下:
$ ls -p
prj1name prj1.patch test1。
*在外层目录把prj0的内容打补丁成prj1的内容:
$ls -p
prj0/ prj1.patch。
$patch -p0 <prj1.patch。
这样prj0中的内容变成了prj1中的内容,但是prj0的目录名仍旧是prj0,如下:
$ls -p prj0
prj1name test1。
注意:当前文件夹下面不能prj1目录,否则会出现一些警告提示。
*在外层目录把prj0的内容反打补丁还原成原来prj0的内容:
$ patch -R -p0 <prj1.patch。
这样原来的文件如下:
$ ls -p prj0
prj0name test0。
**
[armlinux@lqm patch]$ diff-uN test0 test1 > test1.patch。
【注:因为单个文件,所以不需要-r选项。选项顺序没有关系,即可以是-uN,也可以是-Nu。】
[armlinux@lqm patch]$ ls。
test0 test1 test1.patch。
[armlinux@lqm patch]$ moretest1.patch。
************************************************************。
patch文件的结构
补丁头
补丁头是分别由---/+++开头的两行,用来表示要打补丁的文件。---开头表示旧文件,+++开头表示新文件。
一个补丁文件中的多个补丁
一个补丁文件中可能包含以---/+++开头的很多节,每一节用来打一个补丁。所以在一个补丁文件中可以包含好多个补丁。
块
块是补丁中要修改的地方。它通常由一部分不用修改的东西开始和结束。他们只是用来表示要修改的位置。他们通常以@@开始,结束于另一个块的开始或者一个新的补丁头。
块的缩进
块会缩进一列,而这一列是用来表示这一行是要增加还是要删除的。
块的第一列
+号表示这一行是要加上的。
-号表示这一行是要删除的。
没有加号也没有减号表示这里只是引用的而不需要修改。
************************************************************。
***diff命令会在补丁文件中记录这两个文件的首次创建时间,如下***。
--- test0 2006-08-18 09:12:01.000000000 +0800。
+++ test1 2006-08-18 09:13:09.000000000 +0800。
@@ -1,3 +1,4 @@。
+222222
111111
-111111
+222222
111111
[armlinux@lqm patch]$ patch-p0 < test1.patch。
patching file test0。
[armlinux@lqm patch]$ ls。
test0 test1 test1.patch。
[armlinux@lqm patch]$ cattest0。
222222
111111
222222
111111
3、可以去除补丁,恢复旧版本
[armlinux@lqm patch]$ patch-RE -p0 < test1.patch。
patching file test0。
[armlinux@lqm patch]$ ls。
test0 test1 test1.patch。
[armlinux@lqm patch]$ cattest0。
111111
111111
111111
1.补钉,补片;贴片
The child's jeans had a patch at the knee. 。
这孩子的裤子在膝盖处有一块补钉。2.(颜色等与周围不同的)斑驳,斑点。
The flowers made white patches against the grass. 。
绿色草地上点缀着簇簇白花。3.(护伤用的)膏药;裹伤布;(保护病伤眼睛用的)眼罩4.小块土地。
There was a patch of garden behind the house. 。
屋后有一小块园地。5.【主英】期间,一段时间6.【英】警察巡逻区;管辖区。
Patch多指补丁的意思比如内存补丁、文件补丁等, 也是电脑命令程序的一种。
用途
对文件应用更改。
patch 命令读取如何更改文件的源文件指示信息,然后应用这些更改。源文件包含由 diff 命令产生的差别列表(或者 diff 列表)。差异列表是比较两个文件和构建关于如何纠正差别的指示信息的结果。缺省情况下,patch 命令使用从标准输入读入的源文件,但是使用 -i 标志和 PatchFile 变量可以覆盖此设置。 差异列表有三种格式:正常、上下文或者是 ed 编辑器风格。patch 命令确定差异列表格式,除非被 -c、-e 或 -n 标志否决。 缺省情况下,文件的打过补丁的版本替换原始版本。指定 -b 标志时,每个补丁文件的原文件保存在同名的文件中,只是在文件名后附加了后缀 .orig。使用 -o 标志也可以指定输出的目的地。
有钱人哦 GT-8 当初我的梦想是有块GT-6就满足了`你还有GT-8啊`牛啊`。
我没有参数只能告诉你怎么调了`谢谢给个满意的回服吧`~有什么其它问题请给我留言~一定全力为你解决`。
第一步,基础调节
设定电平。这是最重要的一步。耐心点,花点时间以免返工。无须多言,有几点必须牢记。
输入电平的调整。关掉所有效果,打开电平表 [SYSTEM] [PARAMETER]—METER:INPUT,调整PATCH LEVEL在100(我的建议),然后用力弹琴在METER上得到峰值LEVEL。接下来,[SYSTEM] [PARAMETER]—METER:OUTPUT,确定二者匹配。我的值是-3。
这样说可能会有点误导,实际上INPUT LEVEL的调整不会影响INPUT METER。INPUT METER得到的是吉他的直接输入信号(未经过任何处理),但是可以注意到OUTPUT METER是随着INPUT METER的调整而变化的。INPUT LEVEL的调整是在效果之前吉他输入之后,而我们的目的是保证INPUT LEVEL和OUTPUT LEVEL之间不产生衰减(保持相同的LEVEL)。如果你的吉他输入信号的确很弱的话,你可能希望通过提升INPUT LEVEL的电平调整来得到好的、强的信号,这是最重要的设置步骤。预制INPUT LEVEL设定值为0db。
另外,必须注意的是INPUT LEVEL的调整会影响整体的电平,所以如果你调整了INPUT LEVEL的话,随时应该检查OUTPUT LEVEL,以确保没有衰减信号。
调整输入音量(INPUT VOLUME)会对失真(GAIN)控制产生直接的影响。INPUT VOLUME越大则GAIN(DISTROTION)越大,PATCH LEVEL最好设定在100。储存音色时,记得确保不同效果的LEVEL应该接近,避免对PREAMP或EQ环节中电平范围调整过大造成信号衰减。平衡是最重要的。我发现,所有GAIN类型的VOLUME LEVEL设定在中间是个比较好的选择(比如,OD/50 PRE/50 PATCH LEVEL/50等等),2/3处也好。基本上,从吉他到放大器之间的LEVEL越接近越好,通过INPUT 和 OUTPUT LEVEL 的调整可以最大程度的减少噪音或减少NOISE SUPRESOR效果器的使用,以得到更为真实的延音更长的声音。我的方式是用耳朵或[SYSTEM] [PARAMETER]—METER来确定LEVEL的平衡。(使用单块的应该都有这个经验,关掉所有的效果调整音箱音量,然后每次进一个效果器,并用耳朵检查音量的变化来调整单块上的INPUT 或 OUTPUT LEVEL)
第二步,输出选择[OUTPUT SELECT] 。
这是最容易被迷惑的地方,很难决定对或错。我认为选择哪一个并不不重要,最好首先都试一遍看看哪一个更适合你的耳朵和设备,并从一而终,从长远来看这更节省你的时间而且还少一点困惑。我相信你从每个设置中都可以得到好的音色,说到底它们只是EQ上的变化而已(低频调整高频调整等等),不论选择什么都是由音色和EQ的变化组成的。我个人不论连接什么设备(我从未用过PA连接),都是采用LINEOUT/PA输出方式。
第三步,调节音色
面对GT-8的时候,最好在脑子里把它分解开来,直接看着这个黑色的小东西,容易让你忘了这只野兽的能力。当我坐下来看它的时候,我不仅仅看到的是表面的东西,我在脑子里想的是满屋子的放大器、箱体、麦克风、成排的单块效果器,这样讲比较容易领会。
A.前级(PREAMP)选择:在这样一间房子里你第一件事想做什么?对我而言,我首先想找一个我喜欢的放大器(PREAMP),开始做任何事之前都是这样。通常,决定想要什么音色,不要抓瞎。确定了PREAMP之后,有两件事要做,第一,把所有的音色都设定在中间(@50)并且听一下,然后再全部设定在最大值(@100)并进行比较。第二,全部回到中间然后根据个人喜好进行微调。接下来,选择箱体和麦克风(CAB & MIC),选择肥厚的(低频突出)、奶油的(中频突出)或者尖利的(高频突出)设定。然后,再回到GAIN LOW MEDIUM & HIGH上进行微调,通常我会在选定GAIN的基础上尝试所有的LOW MEDIUM & HIGH的组合来确定我最喜欢的。记得,不同的放大器(AMP)都有不同的GAIN特性,所以没有什么金科玉律,一旦发现接近自己喜欢的GAIN,马上进行LOW MEDIUM & HIGH的调整。有一个窍门,在CAB & MIC和GAIN LOW MEDIUM & HIGH之间有一个平衡点,CAB & MIC的设定对音色的影响至关重要。
B.箱体(CABINET)选择:箱体越大低频越重高频越少,箱体越小则高频越重。
C.麦克风(MIC)选择:麦克风的选择对音色的微调很重要,麦克风的位置越远则高频越少。麦克风远离可以减少高频的吱吱声,麦克风越近则低频越重。
D.在CAB & MIC的调整中必须反复和GAIN LOW MEDIUM & HIGH的调整进行平衡。首要原则,在PREAMP的调整中我总是少开一点BASS,过重的低音总是产生过多的嗡嗡声并且减低了音符的清晰度,可以在失真之后的TONE MODIFY或EQ上把低音补回来,对高音来说同样如此。
E.一旦在PREAMP中得到了比较好的音色,下一步就该进行修饰了。我喜欢做的是使用TONE MODIFY效果器,在效果链(FX CHAIN)中直接放在PREAMP之后,我个人比较喜欢RESONATOR(S),在这里你可以提升低频和高频来得到更加紧凑的低频和平滑的高频,同样在EQ中也可以做到,当然如果你需要使用FX1/2的其他效果那么就需要单独使用EQ进行微调。有时我也同时使用TONE MODIFY和EQ效果器来进行更细致的调节。经验之谈,如果TONE MODIFY调节并不满意的话,在FX CHAIN中紧跟其后加EQ调节。我喜欢TONE MODIFY效果器的另一个原因就是,它可以用最快的方式调整你的GT-8以适用于不同的设备上,并且效果不错。
F.失真调节:现在你可以通过OD/DIST的调节来得到更多的失真。在FX CHAIN中应该在PREAMP之前,地球人都知道。有三种使用方式:1,轻度失真以给你的PREAMP加点不同的味道;2,提升电平(BOOSTER)推动PREAMP得到更大的失真;3,作为主失真源应用在PREAMP的干琴音色上。我的经验是用它作为PREAMP音色的修饰,因为我更喜欢PREAMP出来的失真。
G.再回到PREAMP:GT-8你可以在一个音色(PATCH)上创建两个PREAMP,并有几种方式,Single, Dual Mono , Dual L/R & Dynamic,另外还有一个SOLO开关来轻微提升失真和中频。我通常喜欢打开SOLO开关键。
电平匹配(Level Matching/Unity Gain):
这是一个法国人写的文章,可以更清晰的解释如何调整GT-8输入输出电平匹配。
一、阅读测试结果之前需要注意:
在电子方面我是个自学的爱好者,而不是一个行家,那是矽谷哥们的工作。
测试结果是相对的,因为输入输出音量的变化是互动的,也因为GT-8的总体音量调整并非数字式的,而是通过手的调整,我的手指头不可能做到每次都完全一样。
某些测试值不太精确,因为每次测试表都会表现出微小差异:在1.5KHZ以上约有0.5db的误差。为了得到平坦的响应曲线,必须在GLOBAL EQ的设置上做些调整,BASS加1db,MID部分的调整几乎无效,因为中频的频宽太窄了。
我没有时间做二次的校核测试。
二、缩略语解释:
PL = patch level,在面板上的黑色大圆轮子的附近 。
OL = output level,后板上的黑色小旋钮。当你低下头去看得时候正好颠倒方向。我把这个旋钮的设定位置用时钟标示:MIN level = 7点钟方向,MAX level = 5点钟方向,Half level = 正午 (12点钟方向),1小时 = 1度,共为10小时(度)。
三、测试结果:
1、INPUT输入-10db的信号,PL和OL须做如下调整才能做到输入输出电平匹配:
PL最大(200) 、OL在11点钟方向 。
PL在172、OL在12点钟方向 。
PL在100、OL在2点钟方向 。
PL在54~56、OL在3点钟方向 。
PL在26~28、OL在5点钟方向 。
INPUT输入信号减小,则上述位置也不一样。如果你的输入信号不是-10db,结果也不一样,不要说我错了。
2、如果PL设置在100,那么根据INPUT LEVEL的不同:
OL在12点钟方向,输入信号会衰减- 6~ -8db 。
OL在1:30~2:30之间,这是最佳位置,输入输出电平匹配 。
OL在3点钟方向,输入信号会提升+7~ +8db 。
OL在最大位置,输入信号会提升+10~ +12db 。
3、EFFECT SEND:
INPUT输入-10db的信号,则EFFECT SEND的SEND LEVEL电平设置在100时,输入输出电平匹配。如果输入信号较弱,比如我的单线圈STRATOCASTER,那么该电平应设置在78 。
EFFECT SEND的SEND LEVEL电平设置在150时,输入信号会提升+6~ +7db 。
EFFECT SEND的SEND LEVEL电平设置在最大时,输入信号会提升+12~ +13db 。
4、EFFECT RETURN:
EFFECT RETURN的RETURN LEVEL电平设置在100时,输入输出电平匹配。如果输入信号来自单线圈STRATOCASTER,EFFECT SEND LEVEL设置在了78,那么RETURN LEVEL的设置值应为122 。
EFFECT RETURN的RETURN LEVEL电平设置在50时,输入信号会衰减- 6db 。
EFFECT RETURN的RETURN LEVEL电平设置在20时,输入信号会衰减- 12db。这个设置下我的MARSHALL音箱可以接入,此时OL开到最大,这样在4CM连接方式下我切换音箱前级和GT-8得PREAMP时音量平衡 。
EFFECT RETURN的RETURN LEVEL电平设置在14时,输入信号会衰减- 18db 。
关于PATCH LEVEL的设定 。
讲到电平匹配(LEVEL MATCHING)我指的并非仅仅是不同音色之间的“音量平衡”,当然当你切换音色的时候不同PATCH之间的音量平很也很重要。更重要的是在同一个音色之内的音量平衡,在理想的信号处理流程中必须得特别注意哪些可能提升电平的过程,比如压缩/限幅(COMPRESSION/LIMITER)、超载/失真(OD/DIST)、放大器(PREAMP)以及所有的均衡(EQ)等等。我把PATCH LEVEL设定在100,你不会想在进入EQ之前的PREAMP和OD//DIST环节中就产生过大的切峰失真。
通常,不论需要的是干净音色或失真音色,我总是先打开一个效果(多数情况是PREAMP)来得到一个好的、强的信号而不是太过的信号来最大可能的接近我想要的音色。检查电平表(METER),并用我的耳朵确定音色不是太过了,然后再加入其他我想要的效果,每次一个,同时每次都检查电平表。
每一级的LEVEL都会影响到下一级,通常会需要反复进行检查,但是从长远来看这是值得的。如果保证了所有的环节都平衡,你就能得到更具有音乐性的、真实性的声音。你可以弹得大声点、干净点并且不产生你不不需要的反馈啸叫,如果产生啸叫的话,说明你的音色太过了。
有几点我必须重申,对于单个的效果器如OD/DIST的LEVEL来说,都应该设定在50(相信这就是统一)。我用PREAMP作为主失真源,用OD/DIST作为音色修饰或solo时的提升(booster),我从不提升EQ的LEVEL而且也从不对任何有频率调整部分的音色进行超过+6~-6的调整,并且我总是在失真后进行EQ调整(并非只有如此,只是我的习惯)。当然,在失真前后都加入EQ也可以,但是我相信越简单的方式得到的声音就越自然真实,不要过分的调整EQ。
我的首要建议是,只要加入效果就要检查电平表(LEVEL METER),FX CHAIN的路径上不能产生过大的衰减。
4CM连接法
如果你有一台音色很好的音箱,同时又不想放弃GT-8的preamp音色,这里有一个方法可以让你两者兼顾,就是所谓的4线连接法(4CM)。这种方法把你的音箱前级独立接入到GT-8的FX chain的loop部分,你可以通过关闭GT-8的preamp、同时打开loop来使用你的音箱音色,此时如果你需要GT-8的OD部分修饰音色的话,就需要在FX chain中把OD调到loop之前。连接顺序如下:Guitar-->GT8 Input-->GT8 FX SEND-->Amps Main Input-->Amps FX Send-->GT8 FX Return--> Main GT8 OUT to Amps FX Return。这种连接方法还有一个好处就是,当你关闭loop的时候,GT-8就成为了一个preamp来替代你的音箱上的preamp,然后直接进入音箱的poweramp,此时音箱上的音量音色控制都失去作用了。同样道理,接入loop后的电平调整也很重要,如果输入输出不匹配的话音色会变得很怪,声音不是过大就是过小。
如果你的音箱上的loop可以选择并联或串联的话,记得一定要选择串联。如果音箱上的loop只能并联,那么记得把FX level钮调到最大(100%)。