首先要说明的是在Linux系统中,可执行文件没有统一的后缀,系统从文件的属性来区分可执行文件和不可执行文件。

gcc则通过后缀来区别输入文件的类别,下面我们来介绍gcc所遵循的部分约定规则。

.c 为后缀的文件,C语言源代码文件;

.a 为后缀的文件,是由目标文件构成的档案库文件;

.C,.cc或.cxx 为后缀的文件,是C++源代码文件;

.h 为后缀的文件,是程序所包含的头文件;

.i 为后缀的文件,是已经预处理过的C源代码文件;

.ii 为后缀的文件,是已经预处理过的C++源代码文件;

.m 为后缀的文件,是Objective-C源代码文件;

.o 为后缀的文件,是编译后的目标文件;

.s 为后缀的文件,是汇编语言源代码文件;

.S 为后缀的文件,是经过预编译的汇编语言源代码文件。

 

详细介绍:

1. 以.a为扩展名的文件:

#tar xv file.a

 

2. 以.z为扩展名的文件:

#uncompress file.Z

 

3. 以.gz为扩展名的文件:

#gunzip file.gz

 

4. 以.bz2为扩展名的文件:

#bunzip2 file.bz2

 

5. 以.tar.Z为扩展名的文件:

#tar xvZf file.tar.Z

或 #compress -dc file.tar.Z | tar xvf -

 

6. 以.tar.gz/.tgz为扩展名的文件:

#tar xvzf file.tar.gz

或 gzip -dc file.tar.gz | tar xvf -

 

7. 以.tar.bz2为扩展名的文件:

#tar xvIf file.tar.bz2

或 bzip2 -dc file.tar.bz2 | xvf -

 

8. 以.cpio.gz/.cgz为扩展名的文件:

#gzip -dc file.cgz | cpio -div

 

9. 以.cpio/cpio为扩展名的文件:

#cpio -div file.cpio

或cpio -divc file.cpio

 

10. 以.rpm为扩展名的文件安装:

#rpm -i file.rpm

 

11. 以.rpm为扩展名的文件解压缩:

#rpm2cpio file.rpm | cpio -div

 

12. 以.deb为扩展名的文件安装:

#dpkg -i file.deb

 

13. 以.deb为扩展名的文件解压缩:

#dpkg-deb --fsys-tarfile file.deb | tar xvf - ar p

file.deb data.tar.gz | tar xvzf -

 

14. 以.zip为扩展名的文件:

#unzip file.zip

 

 

参考推荐:

void main(void) – the Wrong Thing