关于tar命令的一些用法,两种文件的纵向合并方

作者: 操作系统  发布:2019-11-21

示例:

第八单元 正文处理命令及tar命令 

使用cat命令进行文件的纵向合并
两种文件的纵向合并方法
归档文件和归档技术
归档的目的
什么是归档
tar命令的功能
tar命令的常用选项
使用tar命令创建、查看及抽取归档文件
使用tar命令创建归档文件
使用tar命令查看归档文件
使用tar命令抽取归档文件
文件的压缩和解压缩
什么是压缩
压缩的目的
什么是解压缩
gzip命令和gunzip命令
bzip2命令和bunzip2命令
在使用tar命令的同时进行压缩和解压缩
在使用tar命令的同时进行压缩和解压缩的用法举例
课后作业
【本节内容】

  1. 使用cat命令进行文件的纵向合并
    1) 掌握使用cat命令实现文件的纵向合并:
    a) 例如:使用cat命令将baby.age、baby.kg和baby.sex这三个文件纵向合并为baby文件的方法:
    cat baby.age baby.kg baby.sex >baby
    b) 例如:使用cat命令将baby.age文件的内容添加到baby2文件中的方法:
    cat baby.age >>baby2
  2. 归档文件和归档技术(详见linux系统管理P209)
    1) 掌握归档的定义:归档(archiving)就是将许多文件(或目录)打包成一个文件。
    2) 了解归档的目的:归档的目的就是方便备份、还原及文件的传输操作。
    3) 掌握tar命令的功能:将多个文件(也可能包括目录,因为目录本身也是文件)放在一起存放到一个磁带或磁盘归档文件中。并且将来可以根据需要只还原归档文件中的某些指定的文件。
    4) 掌握tar命令的常用选项:
    c:创建一个新的tar文件。
    t:列出tar文件中目录的内容。
    x:从tar文件中抽取文件。
    f:指定归档文件或磁带(也可能是软盘)设备(一般都要选)。
    v:显示所打包的文件的详细信息,v是verbose的第1个字母。
    z:使用gzip压缩算法来压缩打包后的文件。
    j:使用bzip2压缩算法来压缩打包后的文件。
  3. 使用tar命令创建、查看及抽取归档文件(详见linux系统管理P210)
    1) 掌握使用tar命令创建归档文件的用法举例:
    例如:使用tar命令将arch目录打包成一个名为arch.tar的归档文件的方法(要求显示所有打包的文件和目录):
    tar cvf arch.tar arch 
    掌握使用tar命令查看归档文件的用法举例:
    例如:使用tar命令显示arch.tar这个归档文件(包)中的所有文件的方法:
    tar tf arch.tar
    2) 掌握使用tar命令抽取归档文件的用法举例:
    例如:使用tar命令恢复arch.tar中的全部内容的方法:
    tar xvf arch.tar -C 路径

  4. 文件的压缩和解压缩(详见linux系统管理P212)
    1) 掌握压缩的定义:压缩就是将一个大的文件通过一些压缩算法变成一个小文件。 
    2) 了解压缩的目的:主要是缩小文件的大小,这样会节省存储文件的磁盘或磁带的空间,另外在网络上传输这些小文件也会减少网络的浏览(也就是节省网络的带宽)。
    3) 掌握解压缩的定义:解压缩就是将一个通过一些压缩算法的文件恢复到压缩之前的样子。
    4) 掌握gzip命令和gunzip命令的用法举例:
    a) 例如:将文件file1压缩成.gz格式的压缩包应该使用的命令为:gzip file1 –c > /路径/name.gz
    b) 例如:将压缩文件file1.gz解压缩的命令为:
    gunzip file1.gz >
    5) 掌握bzip2命令和bunzip2命令的用法举例:
    a) 例如:将文件file1压缩成.bz2格式的压缩包应该使用的命令为:bzip2 file1 >
    b) 例如:将压缩文件file1.bz2解压缩的命令为:
    bunzip2 file1.bz2 >

  5. 在使用tar命令的同时进行压缩和解压缩(详见linux系统管理P214)
    1) 掌握在使用tar命令的同时进行压缩和解压缩的用法举例
    a) 例如:使用tar命令将arch目录打包而且同时使用gzip的技术压缩打包后文件的方法(打包后的文件名为arch.tar.gz):
    tar cvfz arch.tar.gz arch
    b) 例如:使用tar命令将arch目录打包而且同时使用bzip2的技术压缩打包后文件的方法(打包后的文件名为arch.tar.bz2):tar cvfj arch.tar.bz2 arch

 

  1. 课后作业(用时65分钟)
    1) 将用户信息数据库文件和组信息数据库文件纵向合并为一个文件/1.txt(覆盖)

 

2) 将用户信息数据库文件和用户密码数据库文件纵向合并为一个文件/2.txt(追加)

 

3) 将/1.txt、/2.txt两个文件打包为/1.tar 

 

4) 使用gzip命令压缩1.txt文件名为1.txt.gz

 

5) 解压缩1.txt.gz

 

6) 使用bzip2压缩1.txt压缩后文件名为1.txt.bz2

 

7) 解压缩1.txt.bz2

 

8) 解包1.tar,解包后文件存放到/tmp目录下

 

9) 使用tar命令打包并且压缩/1.txt、/2.txt,得到的文件名为1.tar.gz

 

10) 解包1.tar.gz,解包后文件存放到/tmp目录下

 

正文处理命令及tar命令,linuxtar 第八单元 正文处理命令及tar命令 使用cat命令进行文件的纵向合并 两种文件的纵向合并方...

# tar -tf archive.tar

linux基础-第八单元 正文处理命令及tar命令,linuxtar

tar 的语法:

Example:

# tar -cf archive.tar files .. ..

4, -x, –extract, –get
从归档中提取文件

请看,上面的文件大小通过 BZIP 降低到 1797 字节。

6, –delete
从归档中删除某文件
示例:
从归档 file.tar 中删除 file1.txt

[root@localhost TAR]# tar -tvf file.tar 
-rw-r--r-- root/root      2770 2014-02-07 22:37 file1.txt
-rw-r--r-- root/root       887 2014-02-07 22:38 file2.txt
[root@localhost TAR]# tar -zcf file.tar.gz file2.txt file1.txt
[root@localhost TAR]# ll
total 132
-rw-r--r--. 1 root root 23250 Feb  7 23:11 file1.txt
-rw-r--r--. 1 root root   887 Feb  7 22:38 file2.txt
-rw-r--r--. 1 root root 30720 Feb  7 23:30 file.tar
-rw-r--r--. 1 root root  1797 Feb  7 23:42 file.tar.bz
-rw-r--r--. 1 root root  1673 Feb  7 23:45 file.tar.gz

示例:

[root@localhost TAR]# tar -jcf file.tar.bz file2.txt file1.txt
[root@localhost TAR]# ll
total 128
-rw-r--r--. 1 root root 23250 Feb  7 23:11 file1.txt
-rw-r--r--. 1 root root   887 Feb  7 22:38 file2.txt
-rw-r--r--. 1 root root 30720 Feb  7 23:30 file.tar
-rw-r--r--. 1 root root  1797 Feb  7 23:42 file.tar.bz

7, -r, –append
追加文件到归档中
示例:
追加 file3.txt 到 file.tar

file.tar 是 tar 归档文件,而其他 file1 和 file2 等等是要被打包的文件。

[root@localhost TAR]# tar -rf file.tar file3.txt
[root@localhost TAR]# tar -tf file.tar
file1.txt
file2.txt
file3.txt

9, –test-label
测试归档卷标并退出

[root@localhost TAR]# tar -Af file.tar archive.tar
[root@localhost TAR]# tar -tf file.tar 
file2.txt
file3.txt
file1.txt
file1.txt
file3.txt

创建一个 tar 文件
语法:

关于tar命令的一些用法:

列出 tar 文件中的所有文件列表

示例:

8, -A, –catenate, –concatenate
将一个tar 归档追加到另外一个归档文件中
创建另外一个 tar 文件

示例

tar 命令用来将很多文件打包成一个单一的磁带或者磁盘归档,并可从归档文件恢复出文件列表。当你需要发送大量文件时或者传输文件时非常有用。

tar 常用的使用场景

10, -u, –update
只追加最新的文件
示例:

12, -p, –preserve-permissions
抽取文件时保留原有的文件权限

14, -z, –gzip
使用 gzip 压缩归档

示例:

例如我们有两个文件 file1.txt 和 file2.txt

2, -c, –create
创建新的归档文件

tar -tvf archive.tar
[root@localhost TAR]# tar --delete -f  file.tar  file1.txt 
[root@localhost TAR]# tar -tf file.tar
file2.txt

3, -t, –list
列出归档文件中的内容

1, -v, –verbose
verbosely list files processed:
Syntax:
List all files in an archive.tar verbosely:

[root@localhost TAR]# tar -cf archive.tar file1.txt file3.txt

参数选项

压缩归档文件,使用 BZIP 和 GZIP 两种方法

追加方法:

[root@localhost TAR]# tar -cf file.tar file1.txt file2.txt
[root@localhost TAR]# ll file.tar 
-rw-r--r--. 1 root root 10240 Feb  7 22:42 file.tar
# tar [options] file.tar file1 file2 .. .. ..

11, -C, –directory=DIR
更改目录到 DIR

从 tar 中提取所有文件

[root@localhost TAR]# tar -tf file.tar 
file1.txt
file2.txt
[root@localhost TAR]# tar -uf file.tar file1.txt file3.txt file2.txt
[root@localhost TAR]# tar -tf file.tar 
file1.txt
file2.txt
file3.txt
[root@localhost TAR]# tar -tf file.tar 
file1.txt
file2.txt

例如:
提取文件到另外一个目录

跟压缩相关的参数

[root@localhost TAR]# ll
total 8
-rw-r--r--. 1 root root 2770 Feb  7 22:37 file1.txt
-rw-r--r--. 1 root root  887 Feb  7 22:38 file2.txt
[root@localhost TAR]# tar -tf file.tar 
file2.txt
file3.txt
file1.txt
[root@localhost TAR]# tar -df file.tar file1.txt file2.txt file4.txt
tar: file4.txt: Not found in archive
tar: Exiting with failure status due to previous errors
----Verbosely----
[root@localhost TAR]# tar -dvf file.tar file1.txt file2.txt 
file2.txt
file1.txt
[root@localhost TAR]# tar -dvf file.tar file1.txt file2.txt file6.txt
file2.txt
file1.txt
tar: file6.txt: Not found in archive
tar: Exiting with failure status due to previous errors

图片 1

[root@localhost TAR]# tar -xvf file.tar -C /root/TAR2
file1.txt
file2.txt
[root@localhost TAR]# cd -
/root/TAR2
[root@localhost TAR2]# ll
total 28
-rw-r--r--. 1 root root 23250 Feb  7 23:11 file1.txt
-rw-r--r--. 1 root root   887 Feb  7 22:38 file2.txt

13, -j, –bzip2
使用 bzip2 对归档进行压缩

5, -d, –diff, –compare
比较归档和文件系统的差异
Example:

[root@localhost TAR]# tar -xf file.tar 
[root@localhost TAR]# ll
total 20
-rw-r--r--. 1 root root  2770 Feb  7 22:37 file1.txt
-rw-r--r--. 1 root root   887 Feb  7 22:38 file2.txt
-rw-r--r--. 1 root root 10240 Feb  7 22:42 file.tar
tar -xf archive.tar

使用cat命令进行文件的纵向合并,具体命令如下所示(注意:>代表将左边命令的执行结果以覆盖的方式放到右边,>>代表将左边命令的执行结果追加到右边)

本文由9159.com发布于操作系统,转载请注明出处:关于tar命令的一些用法,两种文件的纵向合并方

关键词: