美文网首页
Linux 命令之 tar

Linux 命令之 tar

作者: Manchangdx | 来源:发表于2018-07-22 10:12 被阅读0次

tar 可以为 Linux 文件和目录创建档案(备份文件),也可以在档案中改变文件,或者向档案中加入新的文件。tar 最初被用来在磁带上创建档案,现在用户可以在任何设备上创建档案。利用 tar 命令,可以把一堆文件和目录全部打包成一个文件,这对于备份文件或将几个文件组合成为一个文件以便于网络传输是非常有用的。

首先要弄清两个概念:打包和压缩。打包是指将一堆文件或目录变成一个总的文件;压缩则是将一个大的文件通过一些压缩算法变成一个小文件。
为什么要区分这两个概念呢?这源于 Linux 中很多压缩程序只能针对一个文件进行压缩,这样当你想要压缩一大堆文件时,你得先将这一大堆文件先打成一个包,然后再用压缩程序进行压缩。

1、常用选项:

选项 帮助
--help 查看帮助
-c, --create 创建一个新的归档,也就是备份文件
-f, --file 指定归档文件名
-p 保留原文件的文件权限
-t 列出归档文件中的全部内容
-v 显示命令的执行过程,详细地列出处理的文件
-x 从归档中解出文件,即反归档
-z 对归档文件使用 gzip 进行压缩
--exclude 指定归档时需要排除的文件
-g 增量归档

2、举例:

-cvf 打包当前目录中的所有文件,默认递归全部目录:
mcdx@ubuntu:~/clipboard$ tar -cvf haha.tar *
b.txt
conf/
conf/gitconfig.txt
conf/sources.list
conf/python.gitignore
conf/vimrc.txt
conf/requirements.txt
README.md
test
-czvf 打包当前目录中的所有文件,并压缩:
# 排除前面创建的归档文件 haha.tar
mcdx@ubuntu:~/clipboard$ tar -czvf haha.tar.gz * --exclude haha.tar 
b.txt
conf/
conf/gitconfig.txt
conf/sources.list
conf/python.gitignore
conf/vimrc.txt
conf/requirements.txt
README.md
test

# 在 Mac 系统中要用下面的格式
tar -czv --exclude haha.tar -f haha.tar.gz *
查看两个归档文件的大小:
mcdx@ubuntu:~/clipboard$ ls
b.txt  conf  haha.tar  haha.tar.gz  README.md  test
mcdx@ubuntu:~/clipboard$ du -h haha*
20K     haha.tar
4.0K    haha.tar.gz
-tvf 查看归档文件里包含哪些文件:
mcdx@ubuntu:~/clipboard$ tar -ztvf haha.tar.gz
-rw-rw-r-- mcdx/mcdx       172 2018-07-22 10:34 b.txt
drwxrwxr-x mcdx/mcdx         0 2018-07-22 10:34 conf/
-rw-rw-r-- mcdx/mcdx       360 2018-07-22 10:34 conf/gitconfig.txt
-rw-rw-r-- mcdx/mcdx       923 2018-07-22 10:34 conf/sources.list
-rw-rw-r-- mcdx/mcdx      1202 2018-07-22 10:34 conf/python.gitignore
-rw-rw-r-- mcdx/mcdx       799 2018-07-22 10:34 conf/vimrc.txt
-rw-rw-r-- mcdx/mcdx       260 2018-07-22 10:34 conf/requirements.txt
-rw-rw-r-- mcdx/mcdx        11 2018-07-22 10:34 README.md
-rw-rw-r-- mcdx/mcdx       219 2018-07-22 10:34 test
-xzvf 到某个目录下,将归档文件进行解档:
mcdx@ubuntu:~$ mkdir test
mcdx@ubuntu:~$ cd test/
mcdx@ubuntu:~/test$ tar -zxvf ../clipboard/*gz
b.txt
conf/
conf/gitconfig.txt
conf/sources.list
conf/python.gitignore
conf/vimrc.txt
conf/requirements.txt
README.md
test
mcdx@ubuntu:~/test$ tree
.
├── b.txt
├── conf
│   ├── gitconfig.txt
│   ├── python.gitignore
│   ├── requirements.txt
│   ├── sources.list
│   └── vimrc.txt
├── README.md
└── test

1 directory, 8 files
-g 增量归档,举例如下

backinfo 是一个自定义的自动生成的文件,在哪里执行此命令,就在哪里生成。呐比如说本次归档和下次归档之间的时间内,/var/log 目录没变化,那么下次归档,就是一个空目录结构;如果此目录下增加了文件,下次归档就会只归档增加的文件。

sudo tar -g backinfo -czf $(date +\%H-\%M-\%S).tar.gz /var/log

相关文章

  • tar 命令 压缩解压缩

    参考文章:每天一个linux命令(28):tar命令linux下使用tar命令 解压缩tar.gz 解压缩tar.xz

  • Linux命令之tar

    本文主要介绍Linux中tar命令的相关内容。 1、tar命令的主要应用在于解压文件,这在使用源代码编译安装软件的...

  • Linux 命令之 tar

    tar 可以为 Linux 文件和目录创建档案(备份文件),也可以在档案中改变文件,或者向档案中加入新的文件。ta...

  • linux命令之tar

    语法 说明 常用参数有zcxvf几种,分别表示:z:压缩或解压带.gz后缀的,即gzip属性x:解压c:压缩v: ...

  • Linux中解压压缩各种文件格式

    转载:eoiioe linux下解压命令大全 .tar解包:tar xvf FileName.tar打包:tar ...

  • tar.gz和tar.xz文件

    linux删除命令 : rm -rf demo.txttar 文件解压命令 :tar -xvfxx.tar 解...

  • Linux—解压缩命令总结(tar/zip)

    1 tar 1.2 tar介绍   tar命令是linux系统中对文件和目录解压缩命令。tar命令可以用于对后缀名...

  • Linux解压命令大全

    linux下解压命令大全 .tar 解包:tar xvf FileName.tar打包:tar cvf FileN...

  • linux下常用的解压命令

    #linux下常用的解压命令 ****** * ```.tar``` 解包:```tar xvf FileNam...

  • Linux命令学习之tar命令

    归档数据 注意: 在下载开源软件之后,通常是以tar.gz结尾,这些是经过gzip压缩过的tar文件可以使用tar...

网友评论

      本文标题:Linux 命令之 tar

      本文链接:https://www.haomeiwen.com/subject/ptrlmftx.html