如何压缩整个Linux或UNIX目录?

时间:2020-01-09 14:16:39  来源:igfitidea点击:

如何使用shell提示在Linux/UNIX下压缩整个目录?压缩整个Linux/UNIX目录非常容易。备份文件,通过电子邮件发送所有文件,甚至将您创建的软件发送给朋友都非常有用。从技术上讲,它称为压缩存档。

GNU tar或BSD tar命令最适合此工作。它可以在远程Linux或UNIX服务器上使用。它为您做两件事:

=>创建档案

=>压缩档案

=>其他操作包括列出或更新档案

如何在Linux或Unix中压缩整个目录

解决方法:您需要按以下方式使用tar命令(tar命令的语法):

tar -zcvf archive-name.tar.gz directory-name

其中:

  • -z:在Linux或Unix中使用gzip程序压缩档案
  • -c:在Linux上创建档案
  • -v:详细,即在创建存档时显示进度
  • -f:存档文件名

例如,假设您有一个名为/home/jerry/prog的目录,并且要压缩此目录,则可以按如下所示执行tar命令:

$ tar -zcvf prog-1-jan-2005.tar.gz /home/jerry/prog

上面的命令将在当前目录中创建一个名为prog-1-jan-2005.tar.gz的存档文件。
如果要还原存档,则需要使用以下命令(它将提取当前目录中的所有文件):

$ tar -zxvf prog-1-jan-2005.tar.gz

其中:

  • -x:从给定档案中提取文件

如果要提取特定目录中的文件,例如/tmp中的文件,则需要使用以下命令:

$ tar -zxvf prog-1-jan-2005.tar.gz -C /tmp
$ cd /tmp
$ ls 

将整个目录压缩为单个文件

要将名为/home/Hyman/bin /的目录压缩到/tmp/bin-backup.tar.gz中,请在Linux上执行tar命令:

tar -zcvf /tmp/bin-backup.tar.gz /home/Hyman/bin/

您也可以压缩多个目录:

tar -zcvf my-compressed.tar.gz /path/to/dir1/ /path/to/dir2/

关于非gnu/tar命令的说明

上面的语法使用GNU tar命令来压缩和解压缩tar文件。
如果您的系统不使用GNU tar,您仍然可以通过以下语法创建压缩的tar文件:

tar -cvf - file1 file2 dir3 | gzip > archive.tar.gz

如何使用bzip2压缩而不是gzip压缩

语法为:

tar -jcvf my-compressed.tar.bz2 /path/to/dir1/
  • -j:在Linux或Unix中使用bzip2程序压缩档案
  • -c:在Linux上进行存档
  • -v:详细输出
  • -f my-compressed.tar.bz2:将存档存储在my-compressed.tar.bz2文件中