Linux 压缩与解压缩

打印 上一主题 下一主题

主题 861|帖子 861|积分 2583

参考资料

  • linux 压缩和解压缩命令gz、tar、zip、bz2
  • tar命令 – 压缩和解压缩文件


  

⏹.gz 文件 压缩与解压缩

0.1 压缩



  • -k:压缩后保存原文件(默认源文件会被删除)
  • -v:显示执行之后的详细信息
⏹压缩一个文件
  1. gzip -kv newfile.csv
  2. # newfile.csv.gz
复制代码
⏹压缩多个文件
  1. gzip -kv newfile1.csv newfile2.csv
  2. # newfile1.csv.gz
  3. # newfile2.csv.gz
复制代码
0.2 解压缩



  • -d:用来解压缩文件
  • -k:如果不添加此设置项,文件解压缩之后,原始压缩文件会被删除
  1. gzip -dkv newfile.csv_bk.gz
  2. # newfile.csv_bk
复制代码
⏹使用gunzip命令解压文件后,原始的.gz文件会被删除(没有提供保存源文件的设置项)
  1. gunzip newfile.csv.gz
  2. # newfile.csv
复制代码
一. gzip命令



  • 压缩后的文件后缀名为.gz。
  • 只能用于压缩单个文件,不能压缩文件夹。
设置项分析-k保存源文件(默认情况下,源文件压缩后会被删除)-r递归处理处罚所有子文件(将文件夹中的所有子文件压缩为.gz)-l显示压缩包内文件信息-v显示执行过程中详细信息 1.1 压缩

1.1.1 -k 压缩后保存源文件

⏹默认情况下,当文件被压缩后,源文件会被删除。

⏹使用 -k 设置项 可以在压缩后保存源文件

1.1.2 -l 查看压缩文件中的文件信息


1.1.3 -r 递归压缩文件夹中的所有文件

⏹无法压缩文件夹,但是可以递归压缩文件夹中的所有子文件

1.2 解压缩



  • 使用gunzip命令来解压缩,解压后,默认情况下,压缩包会被删除
  • 使用 -k 设置项来保存源文件


二. zip命令

2.1 zip 压缩

2.1.1 -r 压缩文件夹

⏹zip -r 压缩文件名.zip ./文件夹名/*

2.1.2 压缩文件夹中的指定文件



  • 指定多个文件:zip 压缩文件名.zip ./路径1/文件1 ./路径2/文件2 ...
  • 指定通配符:zip 压缩文件名.zip ./路径/filename-2023*.txt

2.2 查看压缩文件内容

2.2.1 zipinfo 命令


2.2.1 unzip -l 命令



  • -l:显示压缩包内文件列表

2.3 unzip 解压缩

2.3.1 解压压缩包中的全部文件



  • -d:解压压缩包中的文件到指定路径
  1. # 将out.zip文件解压到当前目录的temp文件夹下,若temp文件夹不存在,会新建
  2. unzip -d ./temp out.zip
复制代码

2.3.2 解压压缩包中的部分文件

  1. fengyehong@ubuntu:~/jmw_work_space/20240625$ ls -l
  2. -rw-rw-r-- 1 fengyehong fengyehong  910 Jun 25 03:53 output.zip
  3. drwxrwxr-x 2 fengyehong fengyehong 4096 Jun 25 03:54 temp
  4. # 查看压缩包中的文件
  5. fengyehong@ubuntu:~/jmw_work_space/20240625$ unzip -l output.zip
  6. Archive:  output.zip
  7.   Length      Date    Time    Name
  8. ---------  ---------- -----   ----
  9.         0  2024-06-25 03:52   001/
  10.         0  2024-06-25 03:52   001/file2.txt
  11.         0  2024-06-25 03:52   001/file1.txt
  12.         0  2024-06-25 03:52   002/
  13.         0  2024-06-25 03:52   002/fileA.txt
  14.         0  2024-06-25 03:52   002/fileB.txt
  15. ---------                     -------
  16.         0                     6 files
  17. # 解压压缩包中的部分文件到指定路径
  18. fengyehong@ubuntu:~/jmw_work_space/20240625$ unzip output.zip 001/file1.txt 002/fileB.txt -d ./temp
  19. Archive:  output.zip
  20. extracting: ./temp/001/file1.txt
  21. extracting: ./temp/002/fileB.txt
  22. # 查看解压之后的部分文件
  23. fengyehong@ubuntu:~/jmw_work_space/20240625$ ls -l ./temp/
  24. drwxrwxr-x 2 fengyehong fengyehong 4096 Jun 25 03:55 001
  25. drwxrwxr-x 2 fengyehong fengyehong 4096 Jun 25 03:55 002
  26. fengyehong@ubuntu:~/jmw_work_space/20240625$ ls -l ./temp/*
  27. ./temp/001:
  28. -rw-rw-r-- 1 fengyehong fengyehong 0 Jun 25 03:52 file1.txt
  29. ./temp/002:
  30. -rw-rw-r-- 1 fengyehong fengyehong 0 Jun 25 03:52 fileB.txt
复制代码

三. tar命令

  -z:用gzip来压缩/解压缩文件(gzip)
-v:详细报告tar处理处罚的文件信息(verbose)
-c:创建新的档案文件(create)
-C:解压到指定的目次
-x:解压缩文件或目次(extract)
-f:使用档案文件或装备,这个选项通常是必选的(file)
-t:显示压缩包的内容
3.1 压缩

⏹ 将指定路径下的文件压缩
  1. tar -zvcf output.tar.gz ./business-content-1.csv ./business-content-2.csv
复制代码

3.2 查看压缩包内容

⏹ 查看指定路径下压缩包中的文件


  • -t:显示压缩包的内容
  1. tar -tzvf ./output.tar.gz
复制代码
  1. fengyehong@ubuntu:~/jmw_work_space/20240625$ ls -l-rw-rw-r-- 1 fengyehong fengyehong 232 Jun 25 03:10 output.tar.gzfengyehong@ubuntu:~/jmw_work_space/20240625$fengyehong@ubuntu:~/jmw_work_space/20240625$ tar -tzvf ./output.tar.gz
  2. drwxrwxr-x fengyehong/fengyehong 0 2024-06-25 02:37 ./001/-rw-rw-r-- fengyehong/fengyehong 0 2024-06-25 02:35 ./001/file2.txt-rw-rw-r-- fengyehong/fengyehong 0 2024-06-25 02:37 ./001/file3.txt-rw-rw-r-- fengyehong/fengyehong 0 2024-06-25 02:35 ./001/file1.txtdrwxrwxr-x fengyehong/fengyehong 0 2024-06-25 02:37 ./002/-rw-rw-r-- fengyehong/fengyehong 0 2024-06-25 02:36 ./002/fileA.txt-rw-rw-r-- fengyehong/fengyehong 0 2024-06-25 02:37 ./002/fileC.txt-rw-rw-r-- fengyehong/fengyehong 0 2024-06-25 02:36 ./002/fileB.txt
复制代码
3.3 解压缩

3.3.1 将整个压缩包解压到当前目次

  1. tar -zvxf ./output.tar.gz
复制代码

3.3.2 将压缩包中的部分文件解压到当前目次

  1. tar -zxvf output.tar.gz ./001/file3.txt ./001/file2.txt
复制代码
  1. # 查看压缩文件中的信息fengyehong@ubuntu:~/jmw_work_space/20240625$ tar -tzvf ./output.tar.gz
  2. drwxrwxr-x fengyehong/fengyehong 0 2024-06-25 02:37 ./001/-rw-rw-r-- fengyehong/fengyehong 0 2024-06-25 02:35 ./001/file2.txt-rw-rw-r-- fengyehong/fengyehong 0 2024-06-25 02:37 ./001/file3.txt-rw-rw-r-- fengyehong/fengyehong 0 2024-06-25 02:35 ./001/file1.txtdrwxrwxr-x fengyehong/fengyehong 0 2024-06-25 02:37 ./002/-rw-rw-r-- fengyehong/fengyehong 0 2024-06-25 02:36 ./002/fileA.txt-rw-rw-r-- fengyehong/fengyehong 0 2024-06-25 02:37 ./002/fileC.txt-rw-rw-r-- fengyehong/fengyehong 0 2024-06-25 02:36 ./002/fileB.txt# 解压压缩包中的部分文件到当前目次fengyehong@ubuntu:~/jmw_work_space/20240625$ tar -zxvf output.tar.gz ./001/file3.txt ./001/file2.txt
  3. ./001/file2.txt./001/file3.txtfengyehong@ubuntu:~/jmw_work_space/20240625$ ls -ldrwxrwxr-x 2 fengyehong fengyehong 4096 Jun 25 03:33 001-rw-rw-r-- 1 fengyehong fengyehong  232 Jun 25 03:10 output.tar.gzfengyehong@ubuntu:~/jmw_work_space/20240625$ ls -l ./001-rw-rw-r-- 1 fengyehong fengyehong 0 Jun 25 02:35 file2.txt-rw-rw-r-- 1 fengyehong fengyehong 0 Jun 25 02:37 file3.txt
复制代码
3.3.3 将压缩包中的文件解压到指定目次



  • -C:解压到指定的目次
⏹将整个文件解压到指定目次
  1. tar -zvxf ./15/output.tar.gz -C ./15/temp
复制代码

⏹将部分文件解压到指定目次
  1. tar -zxvf output.tar.gz -C ./temp ./001/file3.txt ./001/file2.txt
复制代码
  1. fengyehong@ubuntu:~/jmw_work_space/20240625$ ls -l-rw-rw-r-- 1 fengyehong fengyehong  232 Jun 25 03:10 output.tar.gzdrwxrwxr-x 2 fengyehong fengyehong 4096 Jun 25 03:40 temp# 将部分文件解压到指定目次fengyehong@ubuntu:~/jmw_work_space/20240625$ tar -zxvf output.tar.gz -C ./temp ./001/file3.txt ./001/file2.txt
  2. ./001/file2.txt./001/file3.txt# 查看解压的效果fengyehong@ubuntu:~/jmw_work_space/20240625$ ls -l ./temp/drwxrwxr-x 2 fengyehong fengyehong 4096 Jun 25 03:40 001fengyehong@ubuntu:~/jmw_work_space/20240625$ ls -l ./temp/001-rw-rw-r-- 1 fengyehong fengyehong 0 Jun 25 02:35 file2.txt-rw-rw-r-- 1 fengyehong fengyehong 0 Jun 25 02:37 file3.txt
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

曂沅仴駦

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表