1、tar命令
tar命令具有打包、解包、压缩、解压缩4种功能。它常用的压缩、解压缩方式有两种:gzip、bzip2。一般而言,以“.gz”、“.z”结尾的文件是用gzip方式进行压缩的,以“.bz2”结尾的文件是用bizp2方式进行压缩的,后缀中用“tar”是表示这是一个文件包。
tar命令有5个常用的选项。
1)“c”:表示创建,用来生成文件包。
2)“x”:表示提取,从文件包中提取文件。
3)“z”:使用gzip方式进行处理,它与“c”结合表示压缩,与“x”结合表示解压缩。对应后缀“.gz”、“.z”。
4)“j”:使用bzip2方式进行处理,它与“c”结合表示压缩,与“x”结合表示解压缩。对应后缀“.bz2”。
5)“f”:表示文件,后面接一个文件名。
举例:
1)压缩:
tar czf dirA.tar.gz dirA //将目录dirA以gzip方式压缩为dirA.tar.gz文件包。
tar cjf dirA.tar.bz2 dirA //将目录dirA以bzip2方式压缩为dirA.tar.bz2文件包。
2)解压缩
tar xzf dirA.tar.gz //在当前目录以gzip方式解压缩dirA.tar.gz文件包。
tar xjf dirA.tar.bz2 //在当前目录以bzip2方式解压缩dirA.tar.bz2文件包。
tar xzf dirA.tar.gz -C //解压到指定目录
tar xjf dirA.tar.bz2 -C //解压到指定目录
2、diff命令
diff命令常用来比较文件、目录,也可用来制作补丁文件。常用的选项如下:
1)“-u”在比较结果中输出上下文中一些相同的行,有利于人工定位。
2)“-r”递归比较各个子目录下的文件。
3)“-N”将不存在的文件当作空文件。
4)“-w”忽略对空格的比较。
5)“-B” 忽略对空行的比较。
举例:
diff -urNwB u-boot-1.1.6 u-boot-1.1.6_jz2440 >u-boot-1.1.6_jz2440.diff 比较u-boot-1.1.6(源文件)与u-boot-1.1.6_jz2440(修改后的文件)文件下的文件的不同并输出到u-boot-1.1.6_jz2440.diff。
3、patch命令
patch命令被用于打补丁——根据补丁文件修改源文件。比如对于上面的例子可以使用一下命令将补丁文件应用到原始目录u-boot-1.1.6上去。假设u-boot-1.1.6_jz2440.diff与u-boot-1.1.6位于同一目录下。
cd u-boot-1.1.6
patch -p1 < ../u-boot-1.1.6_jz2440.diff
patch命令最重要的选项就是“-pn”:补丁文件中指明了要修改的文件的路径,“-pn”表示忽略路径中第n个斜线之前的目录。
例如diff文件中有一下几行
diff -urN u-boot-1.1.6/board/100ask24x0/100ask24x0.c u-boot-1.1.6_jz2440/board/100ask24x0/100ask24x0.c
--- u-boot-1.1.6/board/100ask24x0/100ask24x0.c 1970-01-01 07:00:00.000000000 +0700
+++ u-boot-1.1.6_jz2440/board/100ask24x0/100ask24x0.c 2010-11-26 12:54:37.034090906 +0800
上述命令将忽略第一个斜线以前的目录,所以要修改的是当前目录下的/board/100ask24x0/100ask24x0.c。
阅读(2628) | 评论(0) | 转发(0) |