.tar
解包:tar xvf FileName.tar打包:tar cvf FileName.tar DirName(注:tar是打包,不是压缩!)———————————————.gz解压1:gunzip FileName.gz解压2:gzip -d FileName.gz压缩:gzip FileName.tar.gz 和 .tgz
解压:tar zxvf FileName.tar.gz压缩:tar zcvf FileName.tar.gz DirName———————————————.bz2解压1:bzip2 -d FileName.bz2解压2:bunzip2 FileName.bz2压缩: bzip2 -z FileName.tar.bz2
解压:tar jxvf FileName.tar.bz2压缩:tar jcvf FileName.tar.bz2 DirName———————————————.bz解压1:bzip2 -d FileName.bz解压2:bunzip2 FileName.bz压缩:未知.tar.bz
解压:tar jxvf FileName.tar.bz压缩:未知———————————————.Z解压:uncompress FileName.Z压缩:compress FileName.tar.Z解压:tar Zxvf FileName.tar.Z
压缩:tar Zcvf FileName.tar.Z DirName———————————————.zip解压:unzip FileName.zip压缩:zip FileName.zip DirName———————————————.rar解压:rar x FileName.rar压缩:rar a FileName.rar DirName———————————————.lha解压:lha -e FileName.lha压缩:lha -a FileName.lha FileName———————————————.rpm解包:rpm2cpio FileName.rpm | cpio -div———————————————.deb解包:ar p FileName.deb data.tar.gz | tar zxf -———————————————.tar .tgz .tar.gz .tar.Z .tar.bz .tar.bz2 .zip .cpio .rpm .deb .slp .arj .rar .ace .lha .lzh .lzx .lzs .arc .sda .sfx .lnx .zoo .cab .kar .cpt .pit .sit .sea解压:sEx x FileName.*压缩:sEx a FileName.* FileName sEx只是调用相关程序,本身并无压缩、解压功能,请注意!gzip 命令
减少文件大小有两个明显的好处,一是可以减少存储空间,二是通过网络传输文件时,可以减少传输的时间。gzip 是在 Linux 系统中经常使用的一个对文件进行压缩和解压缩的命令,既方便又好用。语法:gzip [选项] 压缩(解压缩)的文件名该命令的各选项含义如下:
-c 将输出写到标准输出上,并保留原有文件。-d 将压缩文件解压。-l 对每个压缩文件,显示下列字段: 压缩文件的大小;未压缩文件的大小;压缩比;未压缩文件的名字-r 递归式地查找指定目录并压缩其中的所有文件或者是解压缩。-t 测试,检查压缩文件是否完整。-v 对每一个压缩和解压的文件,显示文件名和压缩比。-num 用指定的数字 num 调整压缩的速度,-1 或 --fast 表示最快压缩方法(低压缩比),-9 或--best表示最慢压缩方法(高压缩比)。系统缺省值为 6。指令实例:
gzip *% 把当前目录下的每个文件压缩成 .gz 文件。gzip -dv *% 把当前目录下每个压缩的文件解压,并列出详细的信息。gzip -l *% 详细显示例1中每个压缩的文件的信息,并不解压。gzip usr.tar% 压缩 tar 备份文件 usr.tar,此时压缩文件的扩展名为.tar.gz。
gdb调试带参数程序
一般来说GDB主要调试的是C/C++的程序。要调试C/C++的程序,首先在编译时,我们必须要 把调试信息加到可执行文件中。使用编译 器(cc/gcc/g++)的 -g 参数可以做到这一点。如:> cc -g hello.c -o hello
> g++ -g hello.cpp -o hello如果没有-g,你将看不见程序的函数名、变量名,所代替的全是 运行时的内存地址。当你用
-g把调试信息加入之后,并成功编译目标代码以后,让我们来看看如何用gdb来调试他。启动 GDB的方法有以下几种:
1、gdb <program>
program也就是你的执行文件,一般在当然目录下。2、gdb <program> core
用gdb同时调试一个运行程序和core文件,core是程序非法执行后core dump后产生 的文件。3、gdb <program> <PID>
如果你的程序是一个服务程序,那么你可以指定这个服务程序运行时的进程ID。gd b会自动attach上去,并调试他。program应该在 PATH环境变量中搜索得到。
GDB启动时,可以加上一些GDB的启动开关,详细的开关可以用gdb -help查看。我在下面只
例举一些比较常用的参数:-symbols <file>
-s <file> 从指定文件中读取符号表。-se file
从指定文件中读取符号表信息,并把他用在可执行文件中。-core <file>
-c <file> 调试时core dump的core文件。-directory <directory>
-d <directory> 加入一个源文件的搜索路径。默认搜索路径是环境变量中PATH所定义的路径。当以gdb <program>方式启动gdb后,gdb会在PATH路径和当前目录中搜索<program>的源文件
。 如要确认gdb是否读到源文件,可使用l或list命令,看看gdb是否能列出源代码。在gdb中,运行程序使用r或是run命令。 程序的运行,你有可能需要设置下面四方面的事。
1、程序运行参数。
set args 可指定运行时参数。(如:set args 10 20 30 40 50) show args 命令可以查看设置好的运行参数。2、 运行环境。
path <dir> 可设定程序的运行路径。 show paths 查看程序的运行路径。 set environment varname [=value] 设置环境变量。如:set env USER=hchen show environment [varname] 查看环境变量。3、工作目录。
cd <dir> 相当于shell的cd命令。 pwd 显示当前的所在目录。4、程序的输入输出。
info terminal 显示你程序用到的终端的模式。 使用重定向控制程序输出。如:run > outfile tty命令可以指写输入输出的终端设备。如:tty /dev/ttyb具体来说就是
例如一个程序名为prog 参数为 -l a -C abc
则,运行gcc/g++ -g prog.c/cpp -o prog就可以用gdb调试程序prog#gdb prog进入gdb调试界面输入参数命令set args 后面加上程序所要用的参数,注意,不再带有程序名,直接加参数,如:set args -l a -C abc回车后输入r即可开始运行