Linux文件归档命令--------tar

前面通过学习文件压缩工具gzip,它可以很好地解决文件的压缩、解压问题,
但是并不能将目录以及其中的文件打包压缩为一个文件。现在我们学习目录的归档工具-tar命令
查看当前目录下的内容

[wolf@localhost Desktop]$ ll
total 12
drwxrwxr-x. 2 wolf wolf   32 Nov  3 19:12 1
-rw-rw-r--. 1 wolf wolf 1828 Nov  3 19:09 1.txt
-rw-rw-r--. 1 wolf wolf 1828 Nov  3 19:10 2.txt
-rw-rw-r--. 1 wolf wolf   93 Nov  3 19:10 2.txt.gz
[wolf@localhost Desktop]$ ll -R
.:
total 12
drwxrwxr-x. 2 wolf wolf   32 Nov  3 19:12 1
-rw-rw-r--. 1 wolf wolf 1828 Nov  3 19:09 1.txt
-rw-rw-r--. 1 wolf wolf 1828 Nov  3 19:10 2.txt
-rw-rw-r--. 1 wolf wolf   93 Nov  3 19:10 2.txt.gz

./1:
total 8
-rw-rw-r--. 1 wolf wolf 1828 Nov  3 19:12 1.txt
-rw-rw-r--. 1 wolf wolf 1828 Nov  3 19:12 2.txt

复制一个新的目录,用到cp -r或者cp -R

[wolf@localhost Desktop]$ cp --help
Usage: cp [OPTION]... [-T] SOURCE DEST
  or:  cp [OPTION]... SOURCE... DIRECTORY
  or:  cp [OPTION]... -t DIRECTORY SOURCE...
Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.
  -R, -r, --recursive          copy directories recursively
      --reflink[=WHEN]         control clone/CoW copies. See below
      --remove-destination     remove each existing destination file before
                                 attempting to open it (contrast with --force)
      --sparse=WHEN            control creation of sparse files. See below
      --strip-trailing-slashes  remove any trailing slashes from each SOURCE
[wolf@localhost Desktop]$ cp -R 1 2
[wolf@localhost Desktop]$ ll
total 12
drwxrwxr-x. 2 wolf wolf   32 Nov  3 19:12 1
-rw-rw-r--. 1 wolf wolf 1828 Nov  3 19:09 1.txt
drwxrwxr-x. 2 wolf wolf   32 Nov  3 23:09 2
-rw-rw-r--. 1 wolf wolf 1828 Nov  3 19:10 2.txt
-rw-rw-r--. 1 wolf wolf   93 Nov  3 19:10 2.txt.gz

开始文档归档,首先查看命令说明

DESCRIPTION
     GNU tar is an archiving program designed to store multiple files in a single file (an archive), and  to manipulate  such  archives.   The  archive can be either a regular file or a device (e.g. a tape drive,hence the name of the program, which stands for tape archiver), which can  be  located  either  on  the local or on a remote machine.

   Option styles
       Options to GNU tar can be given in three different styles. 
       In traditional style, the first argument is a cluster of option letters and all subsequent arguments supply arguments to those options that require them. The  arguments  are  read in the same order as the option letters.  Any command line words that remain after all options has been processed are treated as non-optional arguments: file or archive mem‐ber names.
For  example,  the c option requires creating the archive, the v option requests the verbose operation,and the f option takes an argument that sets the name of the archive to operate  upon. The  followingcommand,  written  in  the  traditional style, instructs tar to store all files from the directory /etc into the archive file etc.tar verbosely listing the files being archived:tar cfv a.tar /etc
[wolf@localhost Desktop]$ cp 1.txt 3.txt
[wolf@localhost Desktop]$ cp 1.txt 4.txt
[wolf@localhost Desktop]$ ll
total 20
drwxrwxr-x. 4 wolf wolf   68 Nov  4 00:33 1
-rw-rw-r--. 1 wolf wolf 1828 Nov  3 19:09 1.txt
drwxrwxr-x. 2 wolf wolf   32 Nov  4 00:24 2
-rw-rw-r--. 1 wolf wolf 1828 Nov  3 19:10 2.txt
-rw-rw-r--. 1 wolf wolf   93 Nov  3 19:10 2.txt.gz
drwxrwxr-x. 4 wolf wolf   50 Nov  4 00:24 3
-rw-rw-r--. 1 wolf wolf 1828 Nov  4 00:34 3.txt
-rw-rw-r--. 1 wolf wolf 1828 Nov  4 00:34 4.txt
drwxrwxr-x. 4 wolf wolf   50 Nov  4 00:33 all

开始打包归档
tar命令后必须要有参数,tar -[a/b/c/d/…] archive(名称档案名) 要归档的文件,其中-f必须存在的,表明将要归档到该文档中,且放到所有参数最后面。

-c – create :创建一个归档文件

# -cf创建一个归档文件
[wolf@localhost Desktop]$ tar -cf first.tar 1 2 1.txt
[wolf@localhost Desktop]$ ll
total 60
drwxrwxr-x. 4 wolf wolf    68 Nov  4 00:33 1
-rw-rw-r--. 1 wolf wolf  1828 Nov  3 19:09 1.txt
drwxrwxr-x. 2 wolf wolf    32 Nov  4 00:24 2
-rw-rw-r--. 1 wolf wolf  1828 Nov  3 19:10 2.txt
-rw-rw-r--. 1 wolf wolf    93 Nov  3 19:10 2.txt.gz
drwxrwxr-x. 4 wolf wolf    50 Nov  4 00:24 3
-rw-rw-r--. 1 wolf wolf  1828 Nov  4 00:34 3.txt
-rw-rw-r--. 1 wolf wolf  1828 Nov  4 00:34 4.txt
drwxrwxr-x. 4 wolf wolf    50 Nov  4 00:33 all
-rw-rw-r--. 1 wolf wolf 40960 Nov  4 01:50 first.tar
[wolf@localhost Desktop]$ tar -cf second.tar 1.txt 2.txt
[wolf@localhost Desktop]$ ll
total 72
drwxrwxr-x. 4 wolf wolf    68 Nov  4 00:33 1
-rw-rw-r--. 1 wolf wolf  1828 Nov  3 19:09 1.txt
drwxrwxr-x. 2 wolf wolf    32 Nov  4 00:24 2
-rw-rw-r--. 1 wolf wolf  1828 Nov  3 19:10 2.txt
-rw-rw-r--. 1 wolf wolf    93 Nov  3 19:10 2.txt.gz
drwxrwxr-x. 4 wolf wolf    50 Nov  4 00:24 3
-rw-rw-r--. 1 wolf wolf  1828 Nov  4 00:34 3.txt
-rw-rw-r--. 1 wolf wolf  1828 Nov  4 00:34 4.txt
drwxrwxr-x. 4 wolf wolf    50 Nov  4 00:33 all
-rw-rw-r--. 1 wolf wolf 40960 Nov  4 01:50 first.tar
-rw-rw-r--. 1 wolf wolf 10240 Nov  4 01:54 second.tar

-t 列出已有tar归档文件的内容

[wolf@localhost Desktop]$ tar -tf first.tar #列出已归档文档的内容
1/
1/1.txt
1/2.txt
1/2.txt.gz
1/2/
1/2/1.txt
1/2/2.txt
1/all/
1/all/2/
1/all/2/1.txt
1/all/2/2.txt
1/all/1.txt
1/all/2.txt
1/all/1/
1/all/1/1.txt
1/all/1/2.txt
1/all/1/2.txt.gz
2/
2/1.txt
2/2.txt
1.txt

-A --concatenate :将一个已有的tar归档文件追加到另一个已有的tar归档文件中

[wolf@localhost Desktop]$ ll
total 72
drwxrwxr-x. 4 wolf wolf    68 Nov  4 00:33 1
-rw-rw-r--. 1 wolf wolf  1828 Nov  3 19:09 1.txt
drwxrwxr-x. 2 wolf wolf    32 Nov  4 00:24 2
-rw-rw-r--. 1 wolf wolf  1828 Nov  3 19:10 2.txt
-rw-rw-r--. 1 wolf wolf    93 Nov  3 19:10 2.txt.gz
drwxrwxr-x. 4 wolf wolf    50 Nov  4 00:24 3
-rw-rw-r--. 1 wolf wolf  1828 Nov  4 00:34 3.txt
-rw-rw-r--. 1 wolf wolf  1828 Nov  4 00:34 4.txt
drwxrwxr-x. 4 wolf wolf    50 Nov  4 00:33 all
-rw-rw-r--. 1 wolf wolf 40960 Nov  4 01:50 first.tar
-rw-rw-r--. 1 wolf wolf 10240 Nov  4 01:54 second.tar
[wolf@localhost Desktop]$ tar -Af second.tar first.tar
[wolf@localhost Desktop]$ ll
total 112
drwxrwxr-x. 4 wolf wolf    68 Nov  4 00:33 1
-rw-rw-r--. 1 wolf wolf  1828 Nov  3 19:09 1.txt
drwxrwxr-x. 2 wolf wolf    32 Nov  4 00:24 2
-rw-rw-r--. 1 wolf wolf  1828 Nov  3 19:10 2.txt
-rw-rw-r--. 1 wolf wolf    93 Nov  3 19:10 2.txt.gz
drwxrwxr-x. 4 wolf wolf    50 Nov  4 00:24 3
-rw-rw-r--. 1 wolf wolf  1828 Nov  4 00:34 3.txt
-rw-rw-r--. 1 wolf wolf  1828 Nov  4 00:34 4.txt
drwxrwxr-x. 4 wolf wolf    50 Nov  4 00:33 all
-rw-rw-r--. 1 wolf wolf 40960 Nov  4 01:50 first.tar
-rw-rw-r--. 1 wolf wolf 51200 Nov  4 02:09 second.tar #变大了

-r 追加文件到已有tar归档文件末尾

[wolf@localhost Desktop]$ tar -rf  first.tar 3.txt
[wolf@localhost Desktop]$ tar -tf first.tar
1/
1/1.txt
1/2.txt
1/2.txt.gz
1/2/
1/2/1.txt
1/2/2.txt
1/all/
1/all/2/
1/all/2/1.txt
1/all/2/2.txt
1/all/1.txt
1/all/2.txt
1/all/1/
1/all/1/1.txt
1/all/1/2.txt
1/all/1/2.txt.gz
2/
2/1.txt
2/2.txt
1.txt
3.txt

-x 从已有tar归档文件中提取文件
-v 处理文件时显示文件

[wolf@localhost ~]$ mkdir tempfile
[wolf@localhost ~]$ cd tempfile/
[wolf@localhost tempfile]$ ll
total 0
[wolf@localhost tempfile]$ cp ../Desktop/first.tar ./first.tar
[wolf@localhost tempfile]$ ll
total 100
-rw-rw-r--. 1 wolf wolf 102400 Nov  4 02:30 first.tar
[wolf@localhost tempfile]$ tar xf first.tar
[wolf@localhost tempfile]$ ll
total 156
drwxrwxr-x. 4 wolf wolf     68 Nov  4 00:33 1
-rw-rw-r--. 1 wolf wolf   1828 Nov  3 19:09 1.txt
drwxrwxr-x. 2 wolf wolf     32 Nov  4 00:24 2
-rw-rw-r--. 1 wolf wolf  53028 Nov  4 02:17 3.txt
-rw-rw-r--. 1 wolf wolf 102400 Nov  4 02:30 first.tar

文档归档后比较大可以利用gzip进行压缩

[wolf@localhost tempfile]$ ll
total 156
drwxrwxr-x. 4 wolf wolf     68 Nov  4 00:33 1
-rw-rw-r--. 1 wolf wolf   1828 Nov  3 19:09 1.txt
drwxrwxr-x. 2 wolf wolf     32 Nov  4 00:24 2
-rw-rw-r--. 1 wolf wolf  53028 Nov  4 02:17 3.txt
-rw-rw-r--. 1 wolf wolf 102400 Nov  4 02:30 first.tar
[wolf@localhost tempfile]$ gzip -k first.tar
[wolf@localhost tempfile]$ ll
total 160
drwxrwxr-x. 4 wolf wolf     68 Nov  4 00:33 1
-rw-rw-r--. 1 wolf wolf   1828 Nov  3 19:09 1.txt
drwxrwxr-x. 2 wolf wolf     32 Nov  4 00:24 2
-rw-rw-r--. 1 wolf wolf  53028 Nov  4 02:17 3.txt
-rw-rw-r--. 1 wolf wolf 102400 Nov  4 02:30 first.tar
-rw-rw-r--. 1 wolf wolf   1514 Nov  4 02:30 first.tar.gz

同时压缩文件可以直接用tar -xvf first.tar.gz进行解压提取。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值