Linux 文件的打包与压缩

目录

实验准备

文件的打包

文件的打包解包

.gz格式的压缩

 .gz格式的解压

.zip格式的压缩

.zip格式的解压

 .bz2格式的压缩

.bz2格式的解压

tar命令的压缩

 tar命令的解压

 实验任务

任务一

任务二


实验准备

打开终端窗口,依次输入以下命令:
$ cd base
$ mkdir compress
在当前目录下新建文件夹compress,作为本实验的工作目录。
再将file.txt和longfile.txt复制到工作目录:
$ cp file.txt longfile.txt compress
$ cd compress
$ mkdir dir//创建一个用于打包的文件夹

文件的打包

是指将多个文件打包成一个文件,由于Linux的很多压缩程序只能对一个文件进行压缩,因此首先要将多个文件打包成一个文件,这个过程并不会减小文件占用的磁盘空间,常用的打包命令为tar

语法:
tar [-cvf] 生成tar包名 将要打包的文件和目录

选项与参数:

  • -c 指定打包后的tar包名

  • -v 查看打包过程

  • -f 指定将要打包的文件和目录

示例:
$ tar -cvf tar1.tar dir file.txt longfile.txt
dir/
file.txt
longfile.txt    

文件的打包解包

语法

tar [-xvf] 解压的包名 [-C] 解压到的文件夹

选项与参数:

  • -x 从打包文件中解压

  • -v 查看解压过程

  • -f 指定解压的tar包

  • -C 指定解压到的文件夹

示例:
$ rm -rf file.txt longfile.txt dir    

#解压到默认的当前文件夹

$ tar -xvf tar1.tar
dir/
file.txt
longfile.txt  

#解压到指定文件夹
$ tar -xvf tar1.tar -C dir
dir/
file.txt
longfile.txt  

.gz格式的压缩

gzip只能压缩文件,不能压缩目录

语法:
gzip [-cdrvlf] 要压缩的文件名

选项与参数:

  • -d 解压.gz文件

  • -c 保留原文件,并将输出写到标准输出中

  • -r 递归地压缩指定的目录

  • -v 显示压缩过程信息

  • -l 显示压缩文件的详细信息

  • -f 强制压缩

示例:
$ gzip -v longfile.txt
longfile.txt:     46.7% -- replaced with longfile.txt.gz
$ gzip -l longfile.txt.gz
        compressed        uncompressed  ratio uncompressed_name
        10930               20435  46.7% longfile.txt  

 .gz格式的解压

语法:
gunzip [-crvlf] 要解压的.gz文件

选项与参数:

  • -c 将解压后的文件写到标准输出

  • -r 递归地解压指定的目录

  • -v 显示解压过程信息

  • -l 显示压缩文件的详细信息

  • -f 强制解压

示例:
$ gunzip -v longfile.txt.gz
longfile.txt.gz:     46.7% -- replaced with longfile.txt

.zip格式的压缩

语法:
zip [-drqvx] 压缩包名 将要打包的文件和目录

选项与参数:

  • -d 从压缩文件内删除指定的文件

  • -r 递归地压缩指定的目录

  • -q 不显示压缩过程信息

  • -v 显示压缩过程或版本信息

  • -x 压缩时排除符合条件的文件

示例:
$ zip -r dir.zip dir
 adding: dir/ (stored 0%)
 adding: dir/file.txt (stored 0%)
 adding: dir/dir/ (stored 0%)
 adding: dir/longfile.txt (deflated 47%)

.zip格式的解压

语法:
unzip [-fndqv] 要解压的.zip文件

选项与参数:

  • -f 解压缩时覆盖现有的文件

  • -n 解压缩时不覆盖现有的文件

  • -d 指定解压到的文件夹

  • -q 不显示解压过程信息

  • -v 显示解压过程或版本信息

示例:
$ unzip -f dir.zip
Archive:  dir.zip  

 .bz2格式的压缩

bzip2只能压缩文件,不能压缩目录

语法:
bzip2 [-zdfv] 要压缩的文件名

选项与参数:

  • -z 强制执行压缩

  • -d 解压.bz2文件

  • -f 压缩时覆盖同名文件

  • -v 显示压缩过程或版本信息

示例:
$ bzip2 -v tar1.tar
 tar1.tar:  3.188:1,  2.509 bits/byte, 68.63% saved, 30720 in, 9636 out.    

.bz2格式的解压

语法:
bunzip2 [-fkLsvV] 要解压的.bz2文件

选项与参数:

  • -f 解压缩时,若要覆盖同名文件,需添加该选项

  • -k 解压时保留原压缩文件

  • -v 显示解压过程或版本信息

示例:
$ bunzip2 -kv tar1.tar.bz2
 tar1.tar.bz2: done  

tar命令的压缩

采用gzip进行压缩:
tar -zcvf .tar.gz 压缩包名 一系列文件或目录
示例:
$ tar -zcvf compress1.tar.gz dir longfile.txt
dir/
dir/file.txt
dir/dir/
dir/longfile.txt
longfile.txt  

采用bzip2进行压缩:
tar -jcvf .tar.bz2 压缩包名 一系列文件或目录
示例:
$ tar -jcvf compress2.tar.bz2 dir longfile.txt
dir/
dir/file.txt
dir/dir/
dir/longfile.txt
longfile.txt 

 tar命令的解压

选项与参数:

  • -C 解压到指定的文件夹

解压.tar.gz压缩包:
tar -zxvf .tar.gz压缩包名
示例:
$ tar -zxvf compress1.tar.gz
dir/
dir/file.txt
dir/dir/
dir/longfile.txt
longfile.txt  

解压.tar.bz2压缩包:
tar -jxvf .tar.bz2压缩包名
示例:
$ tar -jxvf compress2.tar.bz2
dir/
dir/file.txt
dir/dir/
dir/longfile.txt
longfile.txt  

 实验任务

只保留本实验工作目录下的dir、file.txt和longfile.txt,删除其他内容。

rm + 文件名 一个一个删了就行了

任务一

将dir压缩为compress1.zip(10分),将file.txt压缩为compress2.tar.gz(20分),将longfile.txt压缩为compress3.tar.bz2(20分)。

zip -v compress1.zip dir

tar -zxcf compress2.tar.gz dir file.txt

tar -jxcf compress3.tar.bz2 dir longfile.txt

任务二

新建文件夹decompress,依次将任务一中的compress1.zip(10分)、compress2.tar.gz(20分)、compress3.tar.bz2(20分)解压到该文件夹下。

unzip -d decompress compress1.zip

tar -zxcf compress2.tar.gz -C decompress

tar -jxcf compress3.tar.bz2 -C decompress

2021/10/26 做了两个linux实验

  • 12
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值