Linux之打包/解包、压缩/解压
这里介绍Linux下如何对文件进行打包/解包、压缩/解压
压缩/解压:gzip命令Linux中压缩、解压文件的工具有很多,比如:compress、gzip、bzip2、xz等。这里介绍高频使用的gzip命令。gzip工具特征在于:只能压缩文件,不能压缩目录。gzip压缩后默认在原文件名称后追加 .gz 后缀
(资料图片)
#压缩若干个指定的文件gzipfile1file2...#压缩当前目录下的所有文件,其中通配符*代表当前目录下所有文件gzip*#压缩当前目录下(含子目录下)的所有文件,其中通配符*代表当前目录下所有文件gzip-r*
解压操作类似,既可以使用gunzi命令。也可以继续使用gzip命令,只需添加 -d 选项即可
#解压当前目录下(含子目录下)的所有文件,其中通配符*代表当前目录下所有文件gzip-dr*打包/解包:tar命令
通过对比Linux、Win下的压缩操作表现来看,似乎发现一个问题了。Win下可以将多个文件压缩成一个文件,而在Linux中gzip命令则是一个一个压缩的。为此在Linux下需要先将多个文件归档到一个文件当中,即所谓的打包(归档文件的后缀习惯上用 .tar )。通常使用tar命令即可。事实上该tar命令选项较为复杂,而且很多选项基本很少用到。故这里只介绍常见的选项
-c :创建tar归档文件,即所谓的打包
-v :命令执行过程中显示正在处理的文件名
-f :用以指定操作的tar归档文件
-x :从tar归档文件中提取文件,即所谓的解包
-t :列出以查看tar归档文件中的内容,但不提取
-C :切换到指定目录
-z :调用gzip命令压缩/解压文件
-Z :调用compress命令压缩/解压文件
-j :调用bzip2命令压缩/解压文件
-J :调用xz命令压缩/解压文件
1. 打包命令如下所示
#将指定文件打包到归档文件file1.tar中tar-cvffile1.tarfile1file2dir1/dir2/...#将当前目录下(含子目录下)的所有文件打包到归档文件file1.tar中,其中通配符*代表当前目录下所有文件tar-cvffile1.tar*
2. 查看归档文件中的内容
#查看归档文件file1.tar中的内容tar-tffile1.tar
3. 解包命令如下所示
#对指定tar归档文件在当前工作目录下进行解包tar-xvftemp/file1.tar#对指定tar归档文件在指定目录下进行解包tar-xvftemp/file1.tar-C./temp2/组合拳
故在Linux当中对多文件进行压缩前,一般都需要先打包成tar归档文件;而在解压后,通常得到也是一个tar归档文件,还需要再次解包。为此,tar命令中直接提供了 compress 、 -z 、 -j 、 -J 等选项,以便直接调用compress、gzip、bzip2、xz等命令进行压缩/解压。故如果期望对多文件进行压缩,直接利用tar命令即可一次性搞定。解压文件同理。具体命令如下,这里以使用gzip压缩为例,如果期望使用其他压缩命令,只需将下述命令中的 -z 选项 替换为其它压缩软件对应的选项即可
#压缩文件命令组合拳:对指定文件打包并使用gzip压缩tar-zcvffoo.tar.gzfile1file2dir1dir2...#解压文件命令组合拳:对压缩文件,先使用gzip解压,再解包tar-zxvffoo.tar.gz
压缩示例
解压示例
这里强调下在解压的时候,我们首先需要知道该压缩文件是用什么工具压缩的。一方面,我们可以通过文件后缀名来判定;另一方面,我们还可以使用file命令来判定
文件后缀名 .tar.gz 或 .tgz 习惯上代表该tar归档文件使用gzip命令进行压缩
文件后缀名 .tar.bz2 习惯上代表该tar归档文件使用bzip2命令进行压缩
文件后缀名 .tar.xz 习惯上代表该tar归档文件使用xz命令进行压缩
参考文献Linux命令行与shell脚本编程大全·第4版 Richard Blum、Christine Bresnahan著
关键词:
下一篇:最后一页
X 关闭
X 关闭
产业
-
不用跑北京 在家门口也能挂上顶...
日前,我省首个神经疾病会诊中心——首都医科大学宣武医院河北医院...
-
“十四五”期间 河北省将优化快...
从省邮政管理局获悉,十四五期间,我省将优化快递空间布局,着力构...
-
张家口市宣化区:光伏发电站赋能...
3月19日拍摄的张家口市宣化区春光乡曹庄子村光伏发电站。张家口市宣...
-
“张同学”商标被多方抢注 涉及...
“张同学”商标被多方抢注,官方曾点名批评恶意抢注“丁真” ...
-
山东济南“防诈奶奶团”花式反诈...
中新网济南12月15日电 (李明芮)“老有所为 无私奉献 志愿服...
-
广州新增1例境外输入关联无症状...
广州卫健委今日通报,2021年12月15日,在对入境转运专班工作人...
-
西安报告初筛阳性病例转为确诊病例
12月15日10:20,经陕西西安市级专家组会诊,西安市报告新冠病毒...
-
广东东莞新增本土确诊病例2例 ...
(抗击新冠肺炎)广东东莞新增本土确诊病例2例 全市全员核酸检测...
-
中缅边境临沧:民警深夜出击捣毁...
中新网临沧12月15日电 (胡波 邱珺珲)记者15日从云南临沧边境...
-
“土家鼓王”彭承金:致力传承土...
中新网恩施12月15日电 题:“土家鼓王”彭承金:致力传承土家...