linux,有关的压缩文件,如XX.tar.gz或者xx.tar.bz2,我只用tar -xvf xx.tar.gz 就能完成解压,有什么弊端?
发布网友
发布时间:2022-04-30 20:59
我来回答
共3个回答
热心网友
时间:2023-10-12 11:01
你要看一下tar的使用方法,
-x 参数是表示解压缩
-v 是表示在解压过程中把解压出来的东西都显示到屏幕上来让你看到
-f 就是你要解压缩的文件名叫什么(如XX.tar.gz)
另外,Linux 下的后缀名只起到一个让人识别的一个作用而已,它的是什么文件,可不可以执行是跟你的后缀名无关的,比如你把你上面的文件XX.tar.gz 改成:XX.txt 对你那个文件是没有什么影响的,只不过名字改了一下而已,它是什么类型的文件,可不可以执行还是靠它的属性(即:你ls -l看到的第一个字段里的信息)来决定的,它不像Windows ,你把你的word文档后缀改成 XX.exe后就没法识别了,在Linux 下只要你的文件是可执行的,你改成什么后缀名再双击还是可以执行的。请不要用windows的思维来考虑Linux的东西。。所以你上面说的两个后缀名不一样,但用同一条命令都可以起到解压的目的是因为它们原来都是同一个类型的文件,所以你执行后结果都一样了。
再说说这两个后缀一般表示什么意思。
XX.tar 表示这个文件是经过一个叫tar的程序打过包(里面可以只有一个文件,也可能有几个文件)。而那个.tar是用户自己加上去的,为了方便下次看到就可以知道这个是什么类型的文件而已,你也可以不加的,比如我也是用tar这个程序打过包,但我就只命名为:XX,我不加后缀名,这样也是可以的,只是时间长了你不记得它是一个什么类型的文件而已。
XX.tar.gz 后面的gz就是说,它不但用tar来打成一个包,还用一个叫gzip的程序来压缩过(在windows 下你是不是常用一个叫RaR的解压缩程序??这个gzip就类似于这个程序)所以用户用
XX.tar.gz两个后缀加起来让其他用户和自己明白这个文件是通过用tar和gzip来打包和压缩过的意思,所以你用tar -zxvf 这几个参数就是说:我用-z这个参数来调用gzip这个程序来解压文件,并用-x这个参数来把打成包的东西再打开包包把里面的东东取出来。
XX.tar.bz2 后面是bz2而不是gz了,怎么回事?是不是说它不是压缩包了?其实原理和上面说的差不多一个样的,它还是用了tar这个程序来打成包包,然后它不再是用gzip这个解压缩程序来压缩程序,而是调用了一个叫做 bzip2 这么一个可压缩程序来压缩一下你刚才打成的包包,所以用.bz2来标识一下,方便下次自己或者别人看到就知道我用bzip2来压缩过。要解压的话就不能再用-z这个参数来解压了,而是应该用 -j 这个参数来解压,所以,一般是这样的:
tar -jxvf XX.tar.bz2 这条命令来解压这种类型的文件。
上面你用同一条命令就能完成解压它们这两个压缩包是因为你的那个xx.tar.bz2 其实还是只用了gzip这个解压缩程序来压缩过的,但是压缩的那个人把后缀名错写成了.bz2而已,它的本质还是一个只经过gzip压缩过的文件。
不知道楼主看明白了否????????????
热心网友
时间:2023-10-12 11:01
linux下没有扩展名的概念。写成tar.gz和tar.bz2只是为了更好的对文件类型进行描述。
就算后边写tar.gz,也未必就是gzip压的包,我也可以用bzip压起个名叫tar.gz
至于你说的弊端,没考虑过。包能释放,基本上应该没什么问题。
热心网友
时间:2023-10-12 11:02
无弊端的,孩子加油