Linux之文件打包,压缩,解压

打印 上一主题 下一主题

主题 801|帖子 801|积分 2403

打包和压缩

Linux中对文件举行打包,压缩有两种命令
zip:将文件举行压缩
tar:将文件举行打包(通过和其他命令团结,也能实现压缩的功能)

1、tar打包命令

在Linux中,tar命令是一个常用的工具,用于打包息争压文件。它在文件管理、备份和压缩方面饰演侧重要角色。tar(tape archive)最初是为磁带装备设计的,但如今已经成为文件操作的尺度工具之一。它可以大概将一组文件和目录打包成单个归档文件,也可以从归档文件中提取出文件和目录。通过团结不同的选项,你可以在tar命令中实现广泛的功能。
   tar [选项] file.tar [file]
  1.1、常用参数

参数功能
-c创建新的归档文件(打包)
-x从归档文件中提取文件(解包)
-f <文件名>指定归档名
-v显示操作的详细信息
-z通过gzip的方式压缩归档文件
-j通过bzip2的方式压缩归档文件
-C指定目录
 
1.2 常规操作

  1. # 将file1的文件打包成一个文件
  2. tar -cvf file.tar file1
  3. # 将aa目录打包
  4. tar -cvf aa.tar aa/
  5. # 将aa目录打包并通过gzip的方式压缩
  6. tar -zcvf aa.tar.gz aa/
  7. #查看归档文件中的内容
  8. tar -tvf aa.tar
  9. # 将aa.tar解压到当前路径
  10. tar -xvf aa.tar
  11. # 将aa.tar解压到指定目录
  12. tar -xvf aa.tar -C bb/
复制代码

2、 zip压缩命令

   zip file.zip [选项] 文件
  2.1、 常用参数

参数功能
-r压缩文件夹
-q压缩文件时不显示压缩过程的详细信息。
-d从压缩文件中删除指定文件
-u 用于更新现有的ZIP文件,将新的文件或修改后的文件添加到ZIP存档中。
-f用于刷新(更新)现有ZIP文件中的指定文件。
-m用于移动(归档)文件到一个ZIP压缩文件中,并在移动后将源文件删除。
-e用于对ZIP文件举行加密。
-z为压缩文件添加解释。
2.2、常规操作

  1. # 压缩某个文件
  2. [root@192 ~]# zip aa.zip aa.tar
  3.   adding: aa.tar (deflated 97%)
  4. # 压缩某个目录
  5. [root@192 ~]# zip aa.zip -r aa/
  6.   adding: aa/ (stored 0%)
  7.   adding: aa/file1 (deflated 85%)
  8.   adding: aa/file5 (deflated 82%)
  9.   adding: aa/file2 (deflated 82%)
  10.   adding: aa/file.tar (deflated 96%)
  11. # 静默压缩
  12. [root@192 ~]# zip aa.zip -q -r aa/
  13. [root@192 ~]#
  14. # 从压缩文件中删除某个文件
  15. [root@192 aa]# zip file.zip -d file5
  16. deleting: file5
  17. # 往压缩文件中更新某个文件
  18. [root@192 aa]# zip file.zip -u file5
  19.   adding: file5 (deflated 82%)
  20. # 往压缩文件中更新某个文件
  21. [root@192 aa]# zip file.zip -f file5
  22. freshening: file5 (deflated 71%)
  23. # 将某个文件添加到压缩文件中,并删除源文件
  24. [root@192 aa]# zip file.zip -m file6
  25.   adding: file6 (stored 0%)
  26. [root@192 aa]# ll
  27. 总用量 16
  28. -rw-r--r--. 1 root root 1901 6月   5 21:56 file1
  29. -rw-r--r--. 1 root root   74 6月   5 21:51 file2
  30. -rw-r--r--. 1 root root   86 6月   5 22:49 file5
  31. -rw-r--r--. 1 root root 1400 6月   5 22:50 file.zip
  32. # 压缩某个文件并进行加密
  33. [root@192 aa]# zip test.zip file* -e
  34. Enter password:
  35. Verify password:
  36.   adding: file1 (deflated 85%)
  37.   adding: file2 (deflated 82%)
  38.   adding: file5 (deflated 71%)
  39. # 压缩某个文件并添加注释
  40. [root@192 aa]# zip test.zip file* -z
  41.   adding: file1 (deflated 85%)
  42.   adding: file2 (deflated 82%)
  43.   adding: file5 (deflated 71%)
  44. enter new zip file comment (end with .):
  45. zheshi^H^H
  46. .
复制代码
3、unzip解压命令

unzip是用来对zip文件举行解压的命令
   unzip [选项] 压缩包名 源文件或源目录列表
  3.1、 常用参数

参数功能
-l显示压缩文件内所包含的文件
-t检查压缩文件是否正确
-v实行时显示详细的信息
-z仅显示压缩文件的备注文字
-n解压缩时不要覆盖原有的文件
-P<密码>使用zip的密码选项
-q
实行时不显示任何信息
-d<目录>指定文件解压缩后所要存储的目录
3.2、常规操作

  1. # 显示压缩包中的文件,但是不做解压
  2. [root@192 aa]# unzip -l t.zip
  3. Archive:  t.zip
  4.   Length      Date    Time    Name
  5. ---------  ---------- -----   ----
  6.         0  06-05-2024 23:33   test/
  7.      1901  06-05-2024 21:56   test/file1
  8.        74  06-05-2024 21:51   test/file2
  9.        86  06-05-2024 22:49   test/file5
  10. ---------                     -------
  11.      2061                     4 files
  12. # 解压文件压缩包到指定目录(如果目录不存在,则会创建一个目录)
  13. [root@192 aa]# unzip  t.zip -d test/
  14. Archive:  t.zip
  15.   inflating: test/file1              
  16.   inflating: test/file2              
  17.   inflating: test/file5
  18. # 解压路径压缩包到指定目录(如果目录不存在,则会创建一个目录)
  19. 先创建一个压缩包(相对路径)
  20. [root@192 aa]# zip t.zip -r test/
  21.   adding: test/ (stored 0%)
  22.   adding: test/file1 (deflated 85%)
  23.   adding: test/file2 (deflated 82%)
  24.   adding: test/file5 (deflated 71%)
  25. [root@192 aa]# ll
  26. 总用量 16
  27. -rw-r--r--. 1 root root 1901 6月   5 21:56 file1
  28. -rw-r--r--. 1 root root   74 6月   5 21:51 file2
  29. -rw-r--r--. 1 root root   86 6月   5 22:49 file5
  30. drwxr-xr-x. 2 root root   45 6月   5 23:33 test
  31. -rw-r--r--. 1 root root  918 6月   5 23:35 t.zip
  32. # 解压到指定目录
  33. [root@192 aa]# unzip t.zip -d a/
  34. Archive:  t.zip
  35.    creating: a/test/
  36.   inflating: a/test/file1            
  37.   inflating: a/test/file2            
  38.   inflating: a/test/file5            
  39. [root@192 aa]# ll
  40. 总用量 16
  41. drwxr-xr-x. 3 root root   18 6月   5 23:35 a
  42. -rw-r--r--. 1 root root 1901 6月   5 21:56 file1
  43. -rw-r--r--. 1 root root   74 6月   5 21:51 file2
  44. -rw-r--r--. 1 root root   86 6月   5 22:49 file5
  45. drwxr-xr-x. 2 root root   45 6月   5 23:33 test
  46. -rw-r--r--. 1 root root  918 6月   5 23:35 t.zip
  47. 可以看到在a目录下,又创建了test目录
  48. [root@192 aa]# ll a
  49. 总用量 0
  50. drwxr-xr-x. 2 root root 45 6月   5 23:33 test
  51. # 测试压缩文件的有效性
  52. [root@192 aa]# unzip -t t.zip
  53. Archive:  t.zip
  54.     testing: test/                    OK
  55.     testing: test/file1               OK
  56.     testing: test/file2               OK
  57.     testing: test/file5               OK
  58. No errors detected in compressed data of t.zip.
复制代码




免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

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

本版积分规则

天津储鑫盛钢材现货供应商

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

标签云

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