Linux 命令(文件和目录管理 - tar)
来源:互联网 发布:苹果下载iso软件 编辑:程序博客网 时间:2024/06/03 19:22
简述
tar 命令用于将文件打包或解包,扩展名一般为 .tar,指定特定选项可以调用 gzip 或 bzip2 制作压缩包解开压缩包,扩展名为 .tar.gz 或 .tar.bz2。
- 简述
- 详细说明
- 命令介绍
- 命令选项
- 使用范例
详细说明
打包和压缩的区别:
- 打包:将一些文件或目录变成一个总文件
- 压缩:将一个大的文件通过一些压缩算法变成一个小文件
tar 最初设计用于将文件打包到磁带上,现在大多使用它来实现备份某个分区或者某些重要的目录。
tar 是 Linux 中使用最广泛的命令,用于归档多个文件或目录到单个归档文件中,并且归档文件可以进一步使用 gzip 或者 bzip2 等技术进行压缩。换言之,tar 命令也可以用于备份:先是归档多个文件和目录到一个单独的 tar 文件或归档文件,然后在需要之时将 tar 文件中的文件和目录释放出来。
命令介绍
命令名称
tar命令全称
Tape ARchive(磁带归档)基本语法
tar [选项…] [FILE]…功能描述
将许多文件一起保存至一个单独的磁带或磁盘归档,并能从归档中单独还原所需文件。
命令选项
使用范例
1.创建 tar 归档文件
# 仅打包,不压缩[wang@localhost doc]$ tar -cvf debug.tar debug.log debug.log# 打包后,以 gzip 压缩[wang@localhost doc]$ tar -zcvf debug.tar.gz debug.log debug.log# 打包后,以 bzip2 压缩[wang@localhost doc]$ tar -jcvf debug.tar.bz2 debug.log debug.log[wang@localhost doc]$ ls -al debug*-rw-rw-r--. 1 wang wang 368640 9月 30 16:23 debug.log-rw-rw-r--. 1 wang wang 378880 9月 30 16:24 debug.tar-rw-rw-r--. 1 wang wang 5000 9月 30 16:25 debug.tar.bz2-rw-rw-r--. 1 wang wang 8401 9月 30 16:24 debug.tar.gz
2.列出归档文件中的内容
在 tar 命令中使用 –t
选项可以不用释放其中的文件,就可以快速列出文件中包含的内容。
[wang@localhost doc]$ tar -tvf debug.tar-rw-rw-r-- wang/wang 368640 2016-09-30 16:23 debug.log
查看文件是否存在于 tar 文件中
# 由于 log 不存在,打印错误提示[wang@localhost doc]$ tar -tvf debug.tar logtar: log:归档中找不到tar: 由于前次错误,将以上次的错误状态退出# 存在 debug.log,则输出详细信息[wang@localhost doc]$ tar -tvf debug.tar debug.log-rw-rw-r-- wang/wang 368640 2016-09-30 16:23 debug.log
3.追加文件到归档(tar)文件中
选项 -r
用于向已有的 tar 文件中追加文件
# 压缩过的 tar 文件无法进行追加文件操作[wang@localhost doc]$ tar -rvf debug.tar.gz python/hello.py tar: 无法更新压缩归档文件tar: Error is not recoverable: exiting now[wang@localhost doc]$ tar -rvf debug.tar python/hello.py python/hello.py# 列出归档文件中的内容[wang@localhost doc]$ tar -tvf debug.tar-rw-rw-r-- wang/wang 368640 2016-09-30 16:23 debug.log-rw-rw-r-- wang/wang 40 2016-09-29 11:06 python/hello.py
4.从 tar 文件中释放文件以及目录
选项 -x 用于释放出 tar 文件中的文件和目录,释放上面创建的 tar 文件中的内容。
[wang@localhost doc]$ tar -xvf debug.tardebug.logpython/hello.py
假如想释放 tar 文件中的内容到指定的目录,使用 -C 选项后边加上指定的文件的路径。
[wang@localhost doc]$ tar -xvf debug.tar -C /tmp/debug.logpython/hello.py
5.创建并压缩归档文件(.tar.gz 或 .tgz)
假设需要打包当前目录下的 php 和 linux 文件夹,并用 gzip 工具将其压缩。可以在 tar 命令中使用 -z 选项来实现。这种 tar 文件的扩展名可以是 .tar.gz 或者 .tgz。
[wang@localhost doc]$ tar -zcpvf myArchive.tar.gz php/ linux/php/php/hello.phplinux/linux/hello.sh
6.创建并压缩归档文件(.tar.bz2 或 .tbz2)
假设需要打包当前目录下的 php 和 linux 文件夹,并使用 bzip2 压缩。可以在 tar 命令中使用 -j 选项来实现。这种 tar 文件的扩展名可以是 .tar.bz2 或者 .tbz。
[wang@localhost doc]$ tar -jcpvf myArchive.tar.bz2 php/ linux/php/php/hello.phplinux/linux/hello.sh
7.解压 .tar.gz 或 .tgz 文件
使用 -x 和 -z 选项来解压 .tar.gz 或 .tgz 文件
[wang@localhost doc]$ tar -zxpvf myArchive.tar.gz -C /tmp/php/php/hello.phplinux/linux/hello.sh
以上命令将 tar 文件解压到 /tmp 目录。
注意: tar 命令会在执行解压动作前自动检查文件的压缩类型,可以不用指定文件的压缩类型(可将 -zxpvf
用 -xpvf
代替)。
8.解压 .tar.bz2 或 .tbz2 文件
使用 -j 和 -x 选项来解压 .tar.bz2 或 .tbz2 文件
[wang@localhost doc]$ tar -jxpvf myArchive.tar.bz2 -C /tmp/php/php/hello.phplinux/linux/hello.sh[wang@localhost doc]$ ls /tmp/
同上,可将 -jxpvf
用 -xpvf
代替)
9.排除指定文件或类型后创建 tar 文件
创建 tar 文件时在 tar 命令中使用 –exclude
选项来排除指定文件或者类型。假设在创建压缩的 tar 文件时要排除 .php 文件。
[wang@localhost doc]$ tar -zcpvf myArchive.tar php/ linux/ --exclude=*.phpphp/linux/linux/hello.sh
10.进行定时备份
有时需要对指定的文件和目录进行打包,已达到日常备份的目的。假设需要每天备份 php 目录,可以创建一个带 tar 命令的 cron 任务来完成。
[wang@localhost doc]$ tar -zcvf php-backup-$(date +%Y-%m-%d).tgz php/php/php/hello.php[wang@localhost doc]$ ls -l php-*-rw-rw-r--. 1 wang wang 238 9月 30 18:19 php-backup-2016-09-30.tgz
这些都是日常操作中经常用到的,关于其他用法,可以使用 man tar
或者 tar --help
来查询手册页。
- Linux 命令(文件和目录管理 - tar)
- Linux文件和目录管理相关命令
- linux 文件和目录管理--基础命令
- linux管理文件和目录的命令
- Linux 命令(文件和目录管理
- Linux 命令(文件和目录管理 - pwd)
- Linux 命令(文件和目录管理 - cd)
- Linux 命令(文件和目录管理 - ls)
- Linux 命令(文件和目录管理 - tree)
- Linux 命令(文件和目录管理 - mkdir)
- Linux 命令(文件和目录管理 - rmdir)
- Linux 命令(文件和目录管理 - zip/unzip)
- Linux 命令(文件和目录管理 - gzip/gunzip)
- Linux 命令(文件和目录管理 - bzip2/bunzip2)
- Linux 命令(文件和目录管理 - mv)
- Linux 命令(文件和目录管理 - cp)
- Linux 命令(文件和目录管理 - rm)
- Linux 命令(文件和目录管理 - touch)
- vs2010 问题 >LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
- Weblogic部署项目三种方式
- Android消息机制(Handler机制)
- 虚拟存储的要点
- markdown教程集合
- Linux 命令(文件和目录管理 - tar)
- vue.js:Namespace "v-on" is not bound
- 5.4.3微程序控制器
- web前端-CSS Text(文本)-005
- Android中常用的5大布局方式
- Oracle 11g Pivot函数实现行转列
- 模型和视图分离原则
- 圯桥三进履
- 仿知乎专题页