Linux tar.gz、tar、bz2、zip 等解压缩、压缩命令

蔚落 2024-03-30 11:11 132阅读 0赞

Linux tar 介绍

Linux tar(英文全拼:tape archive )命令用于备份文件。

tar 是用来建立,还原备份文件的工具程序,它可以加入,解开备份文件内的文件。

语法:

  1. tar [-ABcdgGhiklmMoOpPrRsStuUvwWxzZ][-b <区块数目>][-C <目的目录>][-f <备份文件>][-F <Script文件>][-K <文件>][-L <媒体容量>][-N <日期时间>][-T <范本文件>][-V <卷册名称>][-X <范本文件>][-<设备编号><存储密度>][--after-date=<日期时间>][--atime-preserve][--backuup=<备份方式>][--checkpoint][--concatenate][--confirmation][--delete][--exclude=<范本样式>][--force-local][--group=<群组名称>][--help][--ignore-failed-read][--new-volume-script=<Script文件>][--newer-mtime][--no-recursion][--null][--numeric-owner][--owner=<用户名称>][--posix][--erve][--preserve-order][--preserve-permissions][--record-size=<区块数目>][--recursive-unlink][--remove-files][--rsh-command=<执行指令>][--same-owner][--suffix=<备份字尾字符串>][--totals][--use-compress-program=<执行指令>][--version][--volno-file=<编号文件>][文件或目录...]

参数

  1. -A或--catenate 新增文件到已存在的备份文件。
  2. -b<区块数目>或--blocking-factor=<区块数目> 设置每笔记录的区块数目,每个区块大小为12Bytes
  3. -B或--read-full-records 读取数据时重设区块大小。
  4. -c或--create 建立新的备份文件。
  5. -C<目的目录>或--directory=<目的目录> 切换到指定的目录。
  6. -d或--diff或--compare 对比备份文件内和文件系统上的文件的差异。
  7. -f<备份文件>或--file=<备份文件> 指定备份文件。
  8. -F<Script文件>或--info-script=<Script文件> 每次更换磁带时,就执行指定的Script文件。
  9. -g或--listed-incremental 处理GNU格式的大量备份。
  10. -G或--incremental 处理旧的GNU格式的大量备份。
  11. -h或--dereference 不建立符号连接,直接复制该连接所指向的原始文件。
  12. -i或--ignore-zeros 忽略备份文件中的0 Byte区块,也就是EOF
  13. -k或--keep-old-files 解开备份文件时,不覆盖已有的文件。
  14. -K<文件>或--starting-file=<文件> 从指定的文件开始还原。
  15. -l或--one-file-system 复制的文件或目录存放的文件系统,必须与tar指令执行时所处的文件系统相同,否则不予复制。
  16. -L<媒体容量>或-tape-length=<媒体容量> 设置存放每体的容量,单位以1024 Bytes计算。
  17. -m或--modification-time 还原文件时,不变更文件的更改时间。
  18. -M或--multi-volume 在建立,还原备份文件或列出其中的内容时,采用多卷册模式。
  19. -N<日期格式>或--newer=<日期时间> 只将较指定日期更新的文件保存到备份文件里。
  20. -o或--old-archive或--portability 将资料写入备份文件时使用V7格式。
  21. -O或--stdout 把从备份文件里还原的文件输出到标准输出设备。
  22. -p或--same-permissions 用原来的文件权限还原文件。
  23. -P或--absolute-names 文件名使用绝对名称,不移除文件名称前的"/"号。
  24. -r或--append 新增文件到已存在的备份文件的结尾部分。
  25. -R或--block-number 列出每个信息在备份文件中的区块编号。
  26. -s或--same-order 还原文件的顺序和备份文件内的存放顺序相同。
  27. -S或--sparse 倘若一个文件内含大量的连续0字节,则将此文件存成稀疏文件。
  28. -t或--list 列出备份文件的内容。
  29. -T<范本文件>或--files-from=<范本文件> 指定范本文件,其内含有一个或多个范本样式,让tar解开或建立符合设置条件的文件。
  30. -u或--update 仅置换较备份文件内的文件更新的文件。
  31. -U或--unlink-first 解开压缩文件还原文件之前,先解除文件的连接。
  32. -v或--verbose 显示指令执行过程。
  33. -V<卷册名称>或--label=<卷册名称> 建立使用指定的卷册名称的备份文件。
  34. -w或--interactive 遭遇问题时先询问用户。
  35. -W或--verify 写入备份文件后,确认文件正确无误。
  36. -x或--extract或--get 从备份文件中还原文件。
  37. -X<范本文件>或--exclude-from=<范本文件> 指定范本文件,其内含有一个或多个范本样式,让ar排除符合设置条件的文件。
  38. -z或--gzip或--ungzip 通过gzip指令处理备份文件。
  39. -Z或--compress或--uncompress 通过compress指令处理备份文件。
  40. -<设备编号><存储密度> 设置备份用的外围设备编号及存放数据的密度。
  41. --after-date=<日期时间> 此参数的效果和指定"-N"参数相同。
  42. --atime-preserve 不变更文件的存取时间。
  43. --backup=<备份方式>或--backup 移除文件前先进行备份。
  44. --checkpoint 读取备份文件时列出目录名称。
  45. --concatenate 此参数的效果和指定"-A"参数相同。
  46. --confirmation 此参数的效果和指定"-w"参数相同。
  47. --delete 从备份文件中删除指定的文件。
  48. --exclude=<范本样式> 排除符合范本样式的文件。
  49. --group=<群组名称> 把加入设备文件中的文件的所属群组设成指定的群组。
  50. --help 在线帮助。
  51. --ignore-failed-read 忽略数据读取错误,不中断程序的执行。
  52. --new-volume-script=<Script文件> 此参数的效果和指定"-F"参数相同。
  53. --newer-mtime 只保存更改过的文件。
  54. --no-recursion 不做递归处理,也就是指定目录下的所有文件及子目录不予处理。
  55. --null null设备读取文件名称。
  56. --numeric-owner 以用户识别码及群组识别码取代用户名称和群组名称。
  57. --owner=<用户名称> 把加入备份文件中的文件的拥有者设成指定的用户。
  58. --posix 将数据写入备份文件时使用POSIX格式。
  59. --preserve 此参数的效果和指定"-ps"参数相同。
  60. --preserve-order 此参数的效果和指定"-A"参数相同。
  61. --preserve-permissions 此参数的效果和指定"-p"参数相同。
  62. --record-size=<区块数目> 此参数的效果和指定"-b"参数相同。
  63. --recursive-unlink 解开压缩文件还原目录之前,先解除整个目录下所有文件的连接。
  64. --remove-files 文件加入备份文件后,就将其删除。
  65. --rsh-command=<执行指令> 设置要在远端主机上执行的指令,以取代rsh指令。
  66. --same-owner 尝试以相同的文件拥有者还原文件。
  67. --suffix=<备份字尾字符串> 移除文件前先行备份。
  68. --totals 备份文件建立后,列出文件大小。
  69. --use-compress-program=<执行指令> 通过指定的指令处理备份文件。
  70. --version 显示版本信息。
  71. --volno-file=<编号文件> 使用指定文件内的编号取代预设的卷册编号。

解压缩、压缩命令

Linux 常用的压缩与解压缩命令有:tar、gzip、gunzip、bzip2、bunzip2、compress 、uncompress、 zip、 unzip、rar、unrar 等。

tar 命令的选项有很多(用 man tar 可以查看到),但常用的就那么几个选项,下面来举例说明一下:

  1. tar -cf all.tar *.jpg

这条命令是将所有 .jpg 的文件打成一个名为 all.tar 的包。-c 是表示产生新的包,-f 指定包的文件名。

  1. tar -rf all.tar *.gif

这条命令是将所有 .gif 的文件增加到 all.tar 的包里面去,-r 是表示增加文件的意思。

  1. tar -uf all.tar logo.gif

这条命令是更新原来 tar 包 all.tar 中 logo.gif 文件,-u 是表示更新文件的意思。

  1. tar -tf all.tar

这条命令是列出 all.tar 包中所有文件,-t 是列出文件的意思。

  1. tar -xf all.tar

这条命令是解出 all.tar 包中所有文件,-x 是解开的意思。

以上就是 tar 的最基本的用法。为了方便用户在打包解包的同时可以压缩或解压文件,tar 提供了一种特殊的功能。这就是 tar 可以在打包或解包的同时调用其它的压缩程序,比如调用 gzip、bzip2 等。

1、tar调用

gzip 是 GNU 组织开发的一个压缩程序,.gz 结尾的文件就是 gzip 压缩的结果。与 gzip 相对的解压程序是 gunzip。tar 中使用 -z 这个参数来调用gzip。下面来举例说明一下:

  1. tar -czf all.tar.gz *.jpg

这条命令是将所有 .jpg 的文件打成一个 tar 包,并且将其用 gzip 压缩,生成一个 gzip 压缩过的包,包名为 all.tar.gz。

  1. tar -xzf all.tar.gz

这条命令是将上面产生的包解开。

2、tar 调用 bzip2

bzip2 是一个压缩能力更强的压缩程序,.bz2 结尾的文件就是 bzip2 压缩的结果。

与 bzip2 相对的解压程序是 bunzip2。tar 中使用 -j 这个参数来调用 gzip。下面来举例说明一下:

  1. tar -cjf all.tar.bz2 *.jpg

这条命令是将所有 .jpg 的文件打成一个 tar 包,并且将其用 bzip2 压缩,生成一个 bzip2 压缩过的包,包名为 all.tar.bz2

  1. tar -xjf all.tar.bz2

这条命令是将上面产生的包解开。

3、tar 调用 compress

compress 也是一个压缩程序,但是好象使用 compress 的人不如 gzip 和 bzip2 的人多。.Z 结尾的文件就是 bzip2 压缩的结果。与 compress 相对的解压程序是 uncompress。tar 中使用 -Z 这个参数来调用 compress。下面来举例说明一下:

  1. tar -cZf all.tar.Z *.jpg

这条命令是将所有 .jpg 的文件打成一个 tar 包,并且将其用 compress 压缩,生成一个 uncompress 压缩过的包,包名为 all.tar.Z。

  1. tar -xZf all.tar.Z

这条命令是将上面产生的包解开。

4、tar 系列的压缩文件小结

有了上面的知识,应该可以解开多种压缩文件了,下面对于 tar 系列的压缩文件作一个小结:

1) 对于.tar结尾的文件

  1. tar -xf all.tar

2) 对于 .gz 结尾的文件

  1. gzip -d all.gz
  2. gunzip all.gz

3)对于 .tgz 或 .tar.gz 结尾的文件

  1. tar -xzf all.tar.gz
  2. tar -xzf all.tgz

4) 对于 .bz2 结尾的文件

  1. bzip2 -d all.bz2
  2. bunzip2 all.bz2

5) 对于 tar.bz2 结尾的文件

  1. tar -xjf all.tar.bz2

6) 对于 .Z 结尾的文件

  1. uncompress all.Z

7) 对于 .tar.Z 结尾的文件

  1. tar -xZf all.tar.z

5、Windows压缩文件.zip 和 .rar下的解压

另外对于 Windows 下的常见压缩文件 .zip 和 .rar,Linux 也有相应的方法来解压它们:

1) 对于 .zip

linux 下提供了 zip 和 unzip 程序,zip 是压缩程序,unzip 是解压程序。它们的参数选项很多,这里只做简单介绍,依旧举例说明一下其用法:

  1. zip all.zip *.jpg

这条命令是将所有 .jpg 的文件压缩成一个 zip 包:

  1. unzip all.zip

这条命令是将 all.zip 中的所有文件解压出来。

2) 对于 .rar

要在 linux 下处理 .rar 文件,需要安装 RAR for Linux。下载地址:http://www.rarsoft.com/download.htm,下载后安装即可。

  1. tar -xzpvf rarlinux-x64-5.6.b5.tar.gz
  2. cd rar
  3. make

这样就安装好了,安装后就有了 rar 和 unrar 这两个程序,rar 是压缩程序,unrar 是解压程序。它们的参数选项很多,这里只做简单介绍,依旧举例说明一下其用法:

  1. rar a all *.jpg

这条命令是将所有 .jpg 的文件压缩成一个 rar 包,名为 all.rar,该程序会将 .rar 扩展名将自动附加到包名后。

  1. unrar e all.rar

这条命令是将 all.rar 中的所有文件解压出来。

  1. unrar x all.rar

这条命令是将 all.rar 中的所有文件解压出来,按目录层级。

扩展内容

tar

  1. -c: 建立压缩档案
  2. -x:解压
  3. -t:查看内容
  4. -r:向压缩归档文件末尾追加文件
  5. -u:更新原压缩包中的文件

这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。

  1. -z:有gzip属性的
  2. -j:有bz2属性的
  3. -Z:有compress属性的
  4. -v:显示所有过程
  5. -O:将文件解开到标准输出

下面的参数 -f 是必须的:

  1. -f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。
  2. tar -cf all.tar *.jpg

这条命令是将所有 .jpg 的文件打成一个名为 all.tar 的包。-c 是表示产生新的包,-f 指定包的文件名。

  1. tar -rf all.tar *.gif

这条命令是将所有 .gif 的文件增加到 all.tar 的包里面去。-r 是表示增加文件的意思。

  1. tar -uf all.tar logo.gif

这条命令是更新原来 tar 包 all.tar 中 logo.gif 文件,-u 是表示更新文件的意思。

  1. tar -tf all.tar

这条命令是列出 all.tar 包中所有文件,-t 是列出文件的意思。

  1. tar -xf all.tar

这条命令是解出 all.tar 包中所有文件,-x 是解开的意思。

压缩

  1. tar cvf jpg.tar *.jpg // 将目录里所有jpg文件打包成 tar.jpg
  2. tar czf jpg.tar.gz *.jpg // 将目录里所有jpg文件打包成 jpg.tar 后,并且将其用 gzip 压缩,生成一个 gzip 压缩过的包,命名为 jpg.tar.gz
  3. tar cjf jpg.tar.bz2 *.jpg // 将目录里所有jpg文件打包成 jpg.tar 后,并且将其用 bzip2 压缩,生成一个 bzip2 压缩过的包,命名为jpg.tar.bz2
  4. tar cZf jpg.tar.Z *.jpg // 将目录里所有 jpg 文件打包成 jpg.tar 后,并且将其用 compress 压缩,生成一个 umcompress 压缩过的包,命名为jpg.tar.Z
  5. rar a jpg.rar *.jpg // rar格式的压缩,需要先下载 rar for linux
  6. zip jpg.zip *.jpg // zip格式的压缩,需要先下载 zip for linux

解压

  1. tar xvf file.tar // 解压 tar 包
  2. tar -xzvf file.tar.gz // 解压 tar.gz
  3. tar -xjvf file.tar.bz2 // 解压 tar.bz2
  4. tar xZvf file.tar.Z // 解压 tar.Z
  5. unrar e file.rar // 解压 rar
  6. unzip file.zip // 解压 zip

总结

  1. *.tar tar xvf 解压
  2. *.gz gzip -d或者gunzip 解压
  3. *.tar.gz和*.tgz tar xzf 解压
  4. *.bz2 bzip2 -d或者用bunzip2 解压
  5. *.tar.bz2tar xjf 解压
  6. *.Z uncompress 解压
  7. *.tar.Z tar xZf 解压
  8. *.rar unrar e解压
  9. *.zip unzip 解压

发表评论

表情:
评论列表 (有 0 条评论,132人围观)

还没有评论,来说两句吧...

相关阅读