如何在Linux中使用命令行创建tar.gz文件

时间:2020-01-09 14:17:02  来源:igfitidea点击:

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

说明:tar包(或tar.gz或tar.bz2)只不过是一种计算机文件格式,可以合并并压缩多个文件。

Tar包是Linux或类似Unix的操作系统上的常见文件格式。
压缩包通常用于分发软件/媒体或备份。
本教程显示如何使用Linux命令行在Linux中创建tar.gz文件。

tar命令

您需要使用tar命令。

1979年1月在Unix v7的第七版中首次提供了tar命令。
每个tarball都存储数据以及其他信息,例如:

  • 档案名称
  • 目录结构
  • 档案权限
  • SELinux权限
  • 时间戳记
  • 文件所有权
  • 文件访问权限等

如何在Linux中使用命令行创建tar.gz文件

在Linux上创建tar.gz文件的过程如下:

  • 在Linux中打开终端应用程序
  • 运行tar命令,通过运行以下命令为给定目录名称创建一个名为file.tar.gz的归档文件:tar -czvf file.tar.gz directory`
  • 使用ls命令和tar命令验证tar.gz文件

让我们详细了解所有命令和选项。

Linux使用tar命令创建tar.gz文件

假设您要为名为$HOME/projects /的目录创建名为projects.tar.gz的tar.gz文件:

$ ls -l $HOME/projects/

输出示例:

total 8
drwxr-xr-x 2 Hyman Hyman 4096 Oct 30 22:30 helloworld
drwxr-xr-x 4 Hyman Hyman 4096 Oct 30 13:16 myhellowebapp

tar命令的语法如下:

tar -czvf filename.tar.gz /path/to/dir1
tar -czvf filename.tar.gz /path/to/dir1 dir2 file1 file2
# Create a tar.gz file from all pdf (".pdf") files
tar -czvf archive.tgz *.pdf

要在当前工作目录中创建projects.tar.gz,请运行:

$ tar -czvf projects.tar.gz $HOME/projects/

验证

接下来,使用ls命令在Linux中验证新创建的tar.gz文件:

ls -l projects.tar.gz

输出示例:

-rw-r--r-- 1 Hyman Hyman 59262 Nov  3 11:08 projects.tar.gz

可以使用tar命令列出tar或tar.gz文件的内容:

$ tar -ztvf projects.tar.gz

如何在Linux上解压缩tar.gz压缩归档文件

遵循以下语法在Linux操作系统上提取tar.gz文件:

$ tar -xvf file.tar.gz
$ tar -xzvf file.tar.gz
$ tar -xzvf projects.tar.gz

可以将文件提取到给定目录中,例如/tmp /:

$ tar -xzvf projects.tar.gz -C /tmp/

输出示例:

home/Hyman/projects/myhellowebapp/
home/Hyman/projects/myhellowebapp/hellowebapp.working/
home/Hyman/projects/myhellowebapp/hellowebapp.working/db.sqlite3
home/Hyman/projects/myhellowebapp/hellowebapp.working/manage.py
home/Hyman/projects/myhellowebapp/hellowebapp.working/collection/
home/Hyman/projects/myhellowebapp/hellowebapp.working/collection/models.py
home/Hyman/projects/myhellowebapp/hellowebapp.working/collection/admin.py
home/Hyman/projects/myhellowebapp/hellowebapp.working/collection/__init__.py
home/Hyman/projects/myhellowebapp/hellowebapp.working/collection/tests.py
home/Hyman/projects/myhellowebapp/hellowebapp.working/collection/static/
home/Hyman/projects/myhellowebapp/hellowebapp.working/collection/static/css/
home/Hyman/projects/myhellowebapp/hellowebapp.working/collection/static/css/style.css
...
..
...
home/Hyman/projects/myhellowebapp/hellowebapp/hellowebapp/__pycache__/urls.cpython-36.pyc
home/Hyman/projects/myhellowebapp/hellowebapp/hellowebapp/wsgi.py
home/Hyman/projects/myhellowebapp/hellowebapp/hellowebapp/settings.py
home/Hyman/projects/helloworld/

tar命令选项

tar命令选项描述
-c创建新档案
-x从档案中提取文件
-t列出档案的内容
-v详细输出
-f file.tar.gz使用存档文件
-C DIR执行任何操作前更改为DIR
-z通过gzip过滤归档文件,即压缩或解压缩归档文件