mirror of
https://github.com/LCTT/TranslateProject.git
synced 2024-12-26 21:30:55 +08:00
PUB:20150225 10 quick tar command examples to create or extract archives in Linux
@theo-l
This commit is contained in:
parent
de57e8d830
commit
a765603abe
@ -1,41 +1,40 @@
|
|||||||
linux中创建和解压文档的10个快速tar命令样例
|
在linux中创建和解压文档的11个 tar 命令例子
|
||||||
================================================================================
|
================================================================================
|
||||||
### linux中的tar命令###
|
### linux中的tar命令###
|
||||||
|
|
||||||
tar(磁带归档)命令是linux系统中被经常用来将文件存入到一个归档文件中的命令。
|
tar(磁带归档)命令是linux系统中被经常用来将文件存入到一个归档文件中的命令。
|
||||||
|
|
||||||
常见的文件扩展包括:.tar.gz 和 .tar.bz2, 分别表示通过gzip或bzip算法进一步压缩的磁带归档文件扩展。
|
其常见的文件扩展包括:.tar.gz 和 .tar.bz2, 分别表示通过了gzip或bzip算法进一步进行了压缩。
|
||||||
|
|
||||||
|
在本教程中我们会管中窥豹一下在linux桌面或服务器版本中使用tar命令来处理一些创建和解压归档文件的日常工作的例子。
|
||||||
|
|
||||||
在该教程中我们会窥探一下在linux桌面或服务器版本中使用tar命令来处理一些日常创建和解压归档文件的工作样例。
|
|
||||||
### 使用tar命令###
|
### 使用tar命令###
|
||||||
|
|
||||||
tar命令在大部分linux系统默认情况下都是可用的,所以你不用单独安装该软件。
|
tar命令在大部分linux系统默认情况下都是可用的,所以你不用单独安装该软件。
|
||||||
|
|
||||||
> tar命令具有两个压缩格式,gzip和bzip,该命令的“z”选项用来指定gzip,“j”选项用来指定bzip。同时也可哟用来创建非压缩归档文件。
|
> tar命令具有两个压缩格式,gzip和bzip,该命令的“z”选项用来指定gzip,“j”选项用来指定bzip。同时也可以创建非压缩归档文件。
|
||||||
|
|
||||||
#### 1.解压一个tar.gz归档 ####
|
#### 1.解压一个tar.gz归档 ####
|
||||||
|
|
||||||
一般常见的用法是用来解压归档文件,下面的命令将会把文件从一个tar.gz归档文件中解压出来。
|
一般常见的用法是用来解压归档文件,下面的命令将会把文件从一个tar.gz归档文件中解压出来。
|
||||||
|
|
||||||
|
|
||||||
$ tar -xvzf tarfile.tar.gz
|
$ tar -xvzf tarfile.tar.gz
|
||||||
|
|
||||||
这里对这些参数做一个简单解释-
|
这里对这些参数做一个简单解释-
|
||||||
|
|
||||||
> x - 解压文件
|
> x - 解压文件
|
||||||
|
|
||||||
> v - 繁琐,在解压每个文件时打印出文件的名称。
|
> v - 冗长模式,在解压每个文件时打印出文件的名称。
|
||||||
|
|
||||||
> z - 该文件是一个使用 gzip压缩的文件。
|
> z - 该文件是一个使用 gzip 压缩的文件。
|
||||||
|
|
||||||
> f - 使用接下来的tar归档来进行操作。
|
> f - 使用接下来的tar归档来进行操作。
|
||||||
|
|
||||||
这些就是一些需要记住的重要选项。
|
这些就是一些需要记住的重要选项。
|
||||||
|
|
||||||
**解压 tar.bz2/bzip 归档文件 **
|
**解压 tar.bz2/bzip 归档文件**
|
||||||
|
|
||||||
具有bz2扩展名的文件是使用bzip算法进行压缩的,但是tar命令也可以对其进行处理,但是是通过使用“j”选项来替换“z”选项。
|
具有bz2扩展名的文件是使用bzip算法进行压缩的,但是tar命令也可以对其进行处理,但是需要通过使用“j”选项来替换“z”选项。
|
||||||
|
|
||||||
$ tar -xvjf archivefile.tar.bz2
|
$ tar -xvjf archivefile.tar.bz2
|
||||||
|
|
||||||
@ -47,25 +46,25 @@ tar命令在大部分linux系统默认情况下都是可用的,所以你不用
|
|||||||
|
|
||||||
然后,首先需要确认目标目录是否存在,毕竟tar命令并不会为你创建目录,所以如果目标目录不存在的情况下该命令会失败。
|
然后,首先需要确认目标目录是否存在,毕竟tar命令并不会为你创建目录,所以如果目标目录不存在的情况下该命令会失败。
|
||||||
|
|
||||||
####3. 解压出单个文件 ####
|
####3. 提取出单个文件 ####
|
||||||
|
|
||||||
为了从一个归档文件中解压出单个文件,只需要将文件名按照以下方式将其放置在命令后面。
|
为了从一个归档文件中提取出单个文件,只需要将文件名按照以下方式将其放置在命令后面。
|
||||||
|
|
||||||
$ tar -xz -f abc.tar.gz "./new/abc.txt"
|
$ tar -xz -f abc.tar.gz "./new/abc.txt"
|
||||||
|
|
||||||
在上述命令中,可以按照以下方式来指定多个文件。
|
在上述命令中,可以按照以下方式来指定多个文件。
|
||||||
|
|
||||||
$ tar -xv -f abc.tar.gz "./new/cde.txt" "./new/abc.txt"
|
$ tar -xz -f abc.tar.gz "./new/cde.txt" "./new/abc.txt"
|
||||||
|
|
||||||
#### 4.使用通配符来解压多个文件 ####
|
#### 4.使用通配符来解压多个文件 ####
|
||||||
|
|
||||||
通配符可以用来解压于给定通配符匹配的一批文件,例如所有以".txt"作为扩展名的文件。
|
通配符可以用来解压于给定通配符匹配的一批文件,例如所有以".txt"作为扩展名的文件。
|
||||||
|
|
||||||
$ tar -xv -f abc.tar.gz --wildcards "*.txt"
|
$ tar -xz -f abc.tar.gz --wildcards "*.txt"
|
||||||
|
|
||||||
#### 5. 列出并检索tar归档文件中的内容 ####
|
#### 5. 列出并检索tar归档文件中的内容 ####
|
||||||
|
|
||||||
如果你仅仅想要列出而不是解压tar归档文件的中的内容,使用“-t”选项, 下面的命令用来打印一个使用gzip压缩过的tar归档文件中的内容。
|
如果你仅仅想要列出而不是解压tar归档文件的中的内容,使用“-t”(test)选项, 下面的命令用来打印一个使用gzip压缩过的tar归档文件中的内容。
|
||||||
|
|
||||||
$ tar -tz -f abc.tar.gz
|
$ tar -tz -f abc.tar.gz
|
||||||
./new/
|
./new/
|
||||||
@ -75,7 +74,7 @@ tar命令在大部分linux系统默认情况下都是可用的,所以你不用
|
|||||||
./new/abc.txt
|
./new/abc.txt
|
||||||
...
|
...
|
||||||
|
|
||||||
将输出通过管道定向到grep来搜索一个文件或者定向到less命令来浏览内容列表。 使用"v"繁琐选项将会打印出每个文件的额外详细信息。
|
可以将输出通过管道定向到grep来搜索一个文件,或者定向到less命令来浏览内容列表。 使用"v"冗长选项将会打印出每个文件的额外详细信息。
|
||||||
|
|
||||||
对于 tar.bz2/bzip文件,需要使用"j"选项。
|
对于 tar.bz2/bzip文件,需要使用"j"选项。
|
||||||
|
|
||||||
@ -88,7 +87,6 @@ tar命令在大部分linux系统默认情况下都是可用的,所以你不用
|
|||||||
|
|
||||||
现在我们已经学过了如何解压一个tar归档文件,是时候开始创建一个新的tar归档文件了。tar命令可以用来将所选的文件或整个目录放入到一个归档文件中,以下是相应的样例。
|
现在我们已经学过了如何解压一个tar归档文件,是时候开始创建一个新的tar归档文件了。tar命令可以用来将所选的文件或整个目录放入到一个归档文件中,以下是相应的样例。
|
||||||
|
|
||||||
|
|
||||||
下面的命令使用一个目录来创建一个tar归档文件,它会将该目录中所有的文件和子目录都加入到归档文件中。
|
下面的命令使用一个目录来创建一个tar归档文件,它会将该目录中所有的文件和子目录都加入到归档文件中。
|
||||||
|
|
||||||
$ tar -cvf abc.tar ./new/
|
$ tar -cvf abc.tar ./new/
|
||||||
@ -102,14 +100,13 @@ tar命令在大部分linux系统默认情况下都是可用的,所以你不用
|
|||||||
|
|
||||||
$ tar -cvzf abc.tar.gz ./new/
|
$ tar -cvzf abc.tar.gz ./new/
|
||||||
|
|
||||||
> 文件的扩展名其实并不真正有什么影响。“tar.gz” 和tgz是gzip压缩算法压缩文件的常见扩展名。 “tar.bz2”和“tbz”是bzip压缩算法压缩文件的常见扩展名。
|
> 文件的扩展名其实并不真正有什么影响。“tar.gz” 和“tgz”是gzip压缩算法压缩文件的常见扩展名。 “tar.bz2”和“tbz”是bzip压缩算法压缩文件的常见扩展名(LCTT 译注:归档是否是压缩的和采用哪种压缩方式并不取决于其扩展名,扩展名只是为了便于辨识。)。
|
||||||
|
|
||||||
|
|
||||||
#### 7. 在添加文件之前进行确认 ####
|
#### 7. 在添加文件之前进行确认 ####
|
||||||
|
|
||||||
一个有用的选项是“w”,该选项使得tar命令在添加每个文件到归档文件之前来让用户进行确认,有时候这会很有用。
|
一个有用的选项是“w”,该选项使得tar命令在添加每个文件到归档文件之前来让用户进行确认,有时候这会很有用。
|
||||||
|
|
||||||
使用该选项时,只有用户输入yes时的文件才会被加入到归档文件中,如果你输入任何东西,默认的回答是一个“No”。
|
使用该选项时,只有用户输入“y”时的文件才会被加入到归档文件中,如果你不输入任何东西,其默认表示是一个“n”。
|
||||||
|
|
||||||
# 添加指定文件
|
# 添加指定文件
|
||||||
|
|
||||||
@ -137,7 +134,7 @@ tar命令在大部分linux系统默认情况下都是可用的,所以你不用
|
|||||||
|
|
||||||
#### 9. 将文件加入到压缩的归档文件中(tar.gz/tar.bz2) ####
|
#### 9. 将文件加入到压缩的归档文件中(tar.gz/tar.bz2) ####
|
||||||
|
|
||||||
之前已经提到了不可能将文件加入到已压缩的归档文件中,然和依然可以通过简单的一些把戏来完成。使用gunzip命令来解压缩归档文件,然后将文件加入到归档文件中后重新进行压缩。
|
之前已经提到了不可能将文件加入到已压缩的归档文件中,然而依然可以通过简单的一些把戏来完成。使用gunzip命令来解压缩归档文件,然后将文件加入到归档文件中后重新进行压缩。
|
||||||
|
|
||||||
$ gunzip archive.tar.gz
|
$ gunzip archive.tar.gz
|
||||||
$ tar -rf archive.tar ./path/to/file
|
$ tar -rf archive.tar ./path/to/file
|
||||||
@ -147,16 +144,15 @@ tar命令在大部分linux系统默认情况下都是可用的,所以你不用
|
|||||||
|
|
||||||
#### 10.通过tar来进行备份 ####
|
#### 10.通过tar来进行备份 ####
|
||||||
|
|
||||||
一个真实的场景是在规则的间隔内来备份目录,tar命令可以通过cron调度来实现这样的一个备份,以下是一个样例 -
|
一个真实的场景是在固定的时间间隔内来备份目录,tar命令可以通过cron调度来实现这样的一个备份,以下是一个样例 :
|
||||||
|
|
||||||
$ tar -cvz -f archive-$(date +%Y%m%d).tar.gz ./new/
|
$ tar -cvz -f archive-$(date +%Y%m%d).tar.gz ./new/
|
||||||
|
|
||||||
使用cron来运行上述的命令会保持创建类似以下名称的备份文件 -
|
使用cron来运行上述的命令会保持创建类似以下名称的备份文件 :'archive-20150218.tar.gz'。
|
||||||
'archive-20150218.tar.gz'.
|
|
||||||
|
|
||||||
当然,需要确保日益增长的归档文件不会导致磁盘空间的溢出。
|
当然,需要确保日益增长的归档文件不会导致磁盘空间的溢出。
|
||||||
|
|
||||||
#### 11. 在创建归档文件是进行验证 ####
|
#### 11. 在创建归档文件时进行验证 ####
|
||||||
|
|
||||||
"W"选项可以用来在创建归档文件之后进行验证,以下是一个简单例子。
|
"W"选项可以用来在创建归档文件之后进行验证,以下是一个简单例子。
|
||||||
|
|
||||||
@ -174,9 +170,9 @@ tar命令在大部分linux系统默认情况下都是可用的,所以你不用
|
|||||||
Verify ./new/newfile.txt
|
Verify ./new/newfile.txt
|
||||||
Verify ./new/abc.txt
|
Verify ./new/abc.txt
|
||||||
|
|
||||||
需要注意的是验证动作不能呢该在压缩过的归档文件上进行,只能在非压缩的tar归档文件上执行。
|
需要注意的是验证动作不能在压缩过的归档文件上进行,只能在非压缩的tar归档文件上执行。
|
||||||
|
|
||||||
现在就先到此为止,可以通过“man tar”命令来查看tar命令的的手册。
|
这次就先到此为止,可以通过“man tar”命令来查看tar命令的的手册。
|
||||||
|
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
@ -184,7 +180,7 @@ via: http://www.binarytides.com/linux-tar-command/
|
|||||||
|
|
||||||
作者:[Silver Moon][a]
|
作者:[Silver Moon][a]
|
||||||
译者:[theo-l](https://github.com/theo-l)
|
译者:[theo-l](https://github.com/theo-l)
|
||||||
校对:[校对者ID](https://github.com/校对者ID)
|
校对:[wxy](https://github.com/wxy)
|
||||||
|
|
||||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||||
|
|
Loading…
Reference in New Issue
Block a user