如何在Linux中使用命令行对文件进行tar

时间:2020-01-09 10:39:46  来源:igfitidea点击:

如何使用命令行选项在Linux操作系统中创建tar文件?

说明:Linux tar包(tar.gz或tar.bz2文件)只不过是一种组合并压缩多个文件的系统文件格式。

tar包是Linux操作系统上的常见文件格式。
压缩包通常用于分发软件/媒体或备份。
本教程显示如何使用Linux tar命令行选项在Linux中对文件进行tar。

如何在Linux中使用命令行对文件进行tar

在Linux中为文件tar的过程如下:

  • 在Linux中打开终端应用
  • 在Linux中通过运行tar -zcvf file.tar.gz/path/to/dir /`命令压缩整个目录
  • 在Linux中通过运行tar -zcvf file.tar.gz/path/to/filename命令压缩单个文件
  • 在Linux中通过运行tar -zcvf file.tar.gz dir1 dir2 dir3命令压缩多个目录文件

如何在Linux中创建tar文件

假设您要压缩名为/home/Hyman/data /的整个目录:

$ tar -czvf file.tar.gz /home/Hyman/data/

要压缩多个目录和文件,请执行:

$ tar -czvf file.tar.gz /home/Hyman/data/ /home/Hyman/pics/ /home/Hyman/.accounting.db

通过将-j选项传递给tar命令,可以使用bzip2压缩而不是gzip:

$ tar -cjvf file.tar.bz2 /home/Hyman/data/

其中:

  • -c:创建一个新的档案
  • -v:详细输出
  • -f file.tar.gz:使用档案文件
  • -z:通过gzip过滤存档
  • -j:通过bzip2过滤存档

使用tar时如何排除目录和文件

创建tar包时可以排除某些文件。
语法为:

$ tar -zcvf archive.tar.gz --exclude='dir1' --exclude='regex' dir1

例如,排除~/Downloads /目录:

$ tar -czvf /nfs/backup.tar.gz --exclude="Downloads" /home/Hyman/

如何查看存档中存储的文件?

现在您有了一个档案,可以使用tar命令列出tar或tar.gz文件的内容:

$ tar -ztvf file.tar.gz
$ tar -jtvf file.tar.bz2

如何提取tar包?

您可以使用tar命令提取归档文件或tar包。
语法为:

$ tar -xzvf file.tar.gz
$ tar -xjvf file.tar.bz2

是否要将档案的内容提取到特定目录中,例如/home/Hyman/backups /?
尝试传递-C DIR选项:

$ tar -xzvf my.tar.gz -C /home/Hyman/backups/
$ tar -xjvf archive.tar.bz2 -C /tmp/
  • -x:从档案中提取文件
  • -t:列出档案的内容
  • -v:详细输出
  • -f file.tar.gz:使用档案文件
  • -C DIR:在执行任何操作之前更改为DIR
  • --exclude:排除匹配PATTERN/DIR/FILENAME的文件