Linux(5)压缩和归档管理

时间:2023-02-15 16:21:44

压缩和归档管理

  • tar :归档管理
    此命令可以把一系列文件归档到一个大文件中, 使用格式:
    • -v :显示进度
    • -f :指定文件名称, f后面一定是.tar文件, 此参数必须放在选项最后
    • -t :列出文档中包含的文件
    • -x :解开tar文件
      ```
      ql@ql:~/桌面/py$
      ql@ql:~/桌面/py$ ls
      1.py 2.py
      ql@ql:~/桌面/py$
      ql@ql:~/桌面/py$ tar -cvf demo.tar 1.py 2.py
      1.py
      2.py
      ql@ql:~/桌面/py$
      ql@ql:~/桌面/py$ ls
      1.py 2.py demo.tar
      ql@ql:~/桌面/py$
      ql@ql:~/桌面/py$ rm *.py
      ql@ql:~/桌面/py$
      ql@ql:~/桌面/py$ ls
      demo.tar
      ql@ql:~/桌面/py$
      ql@ql:~/桌面/py$ tar -xvf demo.tar
      1.py
      2.py
      ql@ql:~/桌面/py$
      ql@ql:~/桌面/py$ ls
      1.py 2.py demo.tar
      ql@ql:~/桌面/py$

- gzip :文件压缩和解压  
tar只负责打包, 但不压缩, 用gzip压缩tar打包后的文件, 其拓展名一般为xxx.tar.gz  
tar与gzip命令结合使用实现文件打包, 压缩

ql@ql:~/桌面/py$ ls
demo.tar
ql@ql:~/桌面/py$
ql@ql:~/桌面/py$
ql@ql:~/桌面/py$ gzip -r demo.tar demo.tar.gz #对demo.tar进行压缩
ql@ql:~/桌面/py$
ql@ql:~/桌面/py$ ls
demo.tar.gz
ql@ql:~/桌面/py$
ql@ql:~/桌面/py$
ql@ql:~/桌面/py$ gzip -d demo.tar.gz #对demo.tar.gz进行解压
ql@ql:~/桌面/py$
ql@ql:~/桌面/py$ ls
demo.tar
ql@ql:~/桌面/py$
ql@ql:~/桌面/py$

__注:__ 同常加上参数`z`表示同时打包并压缩

ql@ql:~/桌面/py$ ls
1.py 2.py
ql@ql:~/桌面/py$
ql@ql:~/桌面/py$
ql@ql:~/桌面/py$ tar -zcvf demo.tar.gz 1.py 2.py
1.py
2.py
ql@ql:~/桌面/py$
ql@ql:~/桌面/py$ ls
1.py 2.py demo.tar.gz
ql@ql:~/桌面/py$
ql@ql:~/桌面/py$ rm *.py
ql@ql:~/桌面/py$
ql@ql:~/桌面/py$ ls
demo.tar.gz
ql@ql:~/桌面/py$
ql@ql:~/桌面/py$
ql@ql:~/桌面/py$ tar -zxvf demo.tar.gz
1.py
2.py
ql@ql:~/桌面/py$
ql@ql:~/桌面/py$ ls
1.py 2.py demo.tar.gz
ql@ql:~/桌面/py$
ql@ql:~/桌面/py$

解压到指定目录, 加`-C`参数

ql@ql:~/桌面/py$ ls
demo.tar.gz
ql@ql:~/桌面/py$
ql@ql:~/桌面/py$ tar -zxvf demo.tar.gz -C /home/ql
1.py
2.py
ql@ql:~/桌面/py$
ql@ql:~/桌面/py$ cd /home/ql
ql@ql:~$
ql@ql:~$ ls
~ VMware-Workstation-Full-12.1.1-3770994.x86_64.bundle 文档
1.py workspace 下载
2.py 公共的 音乐
examples.desktop 模板 桌面
github 视频
vmware 图片
ql@ql:~$
ql@ql:~$


- bzip2 :文件压缩解压
tar和bzip2命令结合使用实现文件打包, 压缩(用法和gzip样, 把z变为j, 拓展名用xxxx.tar.bz2)

   - 压缩用法: tar -jcvf 压缩文件名.tar.bz2 文件...
   - 解压用法: tar -jxvf 压缩文件名.tar.bz2
 
- zip 和 unzip
通过zip压缩文件的目标文件不需要指定拓展名, 默认拓展名为zip
   - 压缩文件: zip [-r] 目标文件 源文件
   - 解压文件: unzip 压缩文件

ql@ql:~/桌面/py$ zip demo 1.py 2.py
adding: 1.py (deflated 44%)
adding: 2.py (deflated 28%)
ql@ql:~/桌面/py$
ql@ql:~/桌面/py$ ls
1.py 2.py demo.zip
ql@ql:~/桌面/py$
ql@ql:~/桌面/py$ rm *.py
ql@ql:~/桌面/py$
ql@ql:~/桌面/py$ unzip demo.zip
Archive: demo.zip
inflating: 1.py
inflating: 2.py
ql@ql:~/桌面/py$
ql@ql:~/桌面/py$ ls
1.py 2.py demo.zip
ql@ql:~/桌面/py$
ql@ql:~/桌面/py$

```