在 Linux 上使用 tarball

Tarball 提供了一种在 Linux 系统上备份和管理一组文件的通用方法。请按照以下提示了解如何创建它们,以及从中提取和删除单个文件。

“tarball” (LCTT 译注:国内也常称为“tar 包”)一词通常用于描述备份一组选择的文件并将它们打包在一个文件中的一种文件格式。该名称来自 .tar 文件扩展名和 tar 命令,它用于将文件打包到一个文件中,有时还会压缩该文件,使其在移动到其它系统时更小。

tarball 通常用于备份个人或系统文件来创建存档,特别是在进行可能需要撤消的更改之前。例如,Linux 系统管理员通常会在更改应用之前创建包含一系列配置文件的 tarball,以防必须撤消这些更改。从 tarball 中解压文件通常比在备份中搜索文件快。

如何在 Linux 上创建 tarball

使用如下命令,你可以在单条命令中创建 tarball 并压缩它。

1

$ tar -cvzf PDFs.tar.gz *.pdf

其结果是一个压缩文件(gzip 压缩的),其中包含了当前目录中的所有 PDF 文件。当然,压缩是可选的。一个稍微简单的只是将 PDF 文件打包成未压缩 tarball 的命令:

1

$ tar -cvf PDFs.tar *.pdf

注意,选项中的 z 将文件变成压缩的。 c 表明创建文件,v(详细)表示你在命令运行时需要一些反馈。如果你不想查看列出的文件,请忽略 v

另一个常见的命名约定是给压缩的 tarball 命名成 .tgz 而不是双扩展名 .tar.gz,如下所示:

1

$ tar cvzf MyPDFs.tgz *.pdf

如何从 tarball 中解压文件

要从 gzip 压缩包中解压所有文件,你可以使用如下命令:

1

$ tar -xvzf file.tar.gz

如果使用 .tgz 命名约定,该命令将如下所示:

1

$ tar -xvzf MyPDFs.tgz

要从 gzip 包中解压单个文件,你可以执行几乎相同的操作,只需添加文件名:

1

2

3

4

$ tar -xvzf PDFs.tar.gz ShenTix.pdf

ShenTix.pdf

ls -l ShenTix.pdf

-rw-rw-r-- 1 shs shs 122057 Dec 14 14:43 ShenTix.pdf

如果未压缩 tarball,你甚至可以从 tarball 中删除文件。例如,如果我们想从 PDFs.tar.gz 中删除我们上面解压过的文件,我们会这样做:

1

2

3

4

5

6

$ gunzip PDFs.tar.gz

$ ls -l PDFs.tar

-rw-rw-r-- 1 shs shs 10700800 Dec 15 11:51 PDFs.tar

$ tar -vf PDFs.tar --delete ShenTix.pdf

$ ls -l PDFs.tar

-rw-rw-r-- 1 shs shs 10577920 Dec 15 11:45 PDFs.tar

请注意,我们在删除 ShenTix.pdf 后,缩小了一点 tarball 文件占用的空间。如果我们想要,我们可以再次压缩文件:

1

2

3

$ gzip -f PDFs.tar

ls -l PDFs.tar.gz

-rw-rw-r-- 1 shs shs 10134499 Dec 15 11:51 PDFs.tar.gzFlickr / James St. John

丰富的命令行选项使得 tarball 使用起来简单方便。

原文地址:https://www.cnblogs.com/sjht/p/10518198.html

时间: 2024-08-30 18:31:23

在 Linux 上使用 tarball的相关文章

Linux 上使用 backup-manager 进行系统备份

无论简单与否,我们都有机会去了解这么一件事,那就是备份的重要性从来都不可以被低估.考虑到备份的方法真的多如牛毛,你可能想要知道怎样来有效地为你的系统选择正确的工具和和合适的策略. 在本文中,我将为你介绍backup-manager,一个简单易用的命令行备份工具,在大多数的Linux发行版的标准软件库中都能见到它的身影. 是什么让备份管理器在众多的备份工具或备份策略中脱颖而出呢?让我来简单介绍一些它的与众不同的特性吧: 简单的设计与管理:配置文件易于读懂和编辑,即便是初学者也很容易上手. 一劳永逸

利用tinyproxy在Linux上搭建HTTP Proxy Server

之所以需要用到HTTP Proxy Server并不是为了要翻墙,而是为了让没有公网IP地址的内网主机通过有公网IP地址的外网主机访问Internet.举个例子,阿里云ECS在购买时可以不购买公网IP地址,但这种没有公网IP地址的ECS云主机(实例)是没有访问Internet的能力的,也就是说无法在这台实例上下载文件,这在部署应用如部署MySQL时可能遇到无法完成安装问题.解决的办法有两种,一种是在另一台具有公网访问能力的ECS实例上搭建VPN服务,另一种是在另一台具有公网访问能力的ECS实例上

利用smba实现windows上写程序,linux上运行

1.在linux下载程序代码(确保获取正确的文件属性) 2.在windows编写代码,对于已有代码,不改变文件权限,如原先为755的,更改文件内容后依然是755的文件,如果要新建文件,默认为644,其它权限,需在linux中用chmod设置 3.更改完成直接在windows上传,上传到服务器的文件权限与linux上传相一致. 第1点没什么奇怪,windows上用git下载代码后会使得文件权限丢失 对于第2点,需要smba中进行设置,其中要把/etc/samba/smb.conf中这几行取消注释就

让Qt在MIPS Linux上运行 good

下载 首先下载Qt everywhere,当前的版本是4.7.2,可以从nokia的网站上下载,也可以从git服务器上下载.考虑到文件有200M 以上的大小,下载速率低于25kBPS的,需要考虑从什么地方复制一份,否则需要等待较长时间才能下载下来.我是在家里下载这个文件的,所以开始编译已经是第二天了.考虑提升员工效率的话,需要预先预备好这些下载文件,或者增加接入带宽. 解压 第一步下载的文件是一个tar包,所以需要解压,通常解压需要在unix/Linux环境下进行,如果只是看代码,windows

怎么使用Python和Flask在Linux上创建应用

无论你在linux上娱乐还是工作,这对你而言都是一个使用python来编程的很好的机会,也是一个从零基础开始学习python开发(http://www.maiziedu.com/course/python/)的一个好机会,pyhon学起来很有趣且在实际的应用如yum包管理器中很有用. 给大家分享一个关于很赞的教程贴,本篇教程会带你使用python和一个称为flask的微型框架来构建一个简单的应用,来显示诸如每个进程的内存使用,CPU百分比之类有用的信息. 前置需求 Python基础.列表.类.函

在开发板Linux上挂载"驱动"挂载不成功,出现提示server 172.27.52.100 not responding, still trying

1.在开发板具体操作步骤如下: 1.1 :设置IP ifconfig eth0 172.27.52.200 1.2 :ping通 虚拟机Linux 主机Linux ping XXX.XXX.XXX.XXX 1.3.挂接 mount -t nfs -o nolock  XXX.XXX.XXX.XXX:/work/nfs_root/first_fs  /mnt // 例如:mount -t nfs -o nolock  172.27.52.100:/work/nfs_root/first_fs  /

linux上源码编译安装mysql-5.6.28

在 linux 上编译安装 mysql-5.6.28.tar.gz http://www.mysql.com/ mysql下载地址: http://www.mysql.com/downloads/mysql/#downloads mysql 官方网站文档: https://dev.mysql.com/doc/ 01.准备工作 yum install -y gcc gcc-c++ cmake make ncurses ncurses-devel bison 02.解压 tar zxf mysql-

在Linux上使用C编程获取IPv4地址及子网掩码

在Linux上(如Ubuntu或CentOS), 获取某个Network Interface比如eth0的IP地址等信息,我们可以使用ifconfig或者ip addr show命令. $ ifconfig eth0 eth0 Link encap:Ethernet HWaddr 00:25:64:ba:8d:be inet addr:192.168.1.102 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::225:64ff:f

Linux上的free命令详解

Linux上的free命令详解 转自: http://www.cnblogs.com/coldplayerest/archive/2010/02/20/1669949.html 解释一下Linux上free命令的输出. 下面是free的运行结果,一共有4行.为了方便说明,我加上了列号.这样可以把free的输出看成一个二维数组FO(Free Output).例如: FO[2][1] = 24677460 FO[3][2] = 10321516 1          2          3