命令格式是
tar 功能 选项 文件
可以将代表功能和选项的单个字母合并;当使用单个字母时,可以不用在字母前面加“-”。某些版本的tar要求严格按照功能字、选项字的顺序,而有些版本的tar并不在意这个顺序。
功能
- -c,--create 创建新的tar文件
- -x,--extract,--get 解开tar文件
- -t,--list 列出tar文件中包含的文件的信息
- -r,--append 附加新的文件到tar文件中
- -u,--update 用已打包的文件的较新版本更新tar文件
- -A,--catenate,--concatenate 将tar文件作为一个整体追加到另一个tar文件中
- -d,--diff,--compare 将文件系统里的文件和tar文件里的文件进行比较
- --delete 删除tar文件里的文件。注意,这个功能不能用于已保存在磁带上的tar文件!
常用选项
- -v,--verbose 列出每一步处理涉及的文件的信息,只用一个“v”时,仅列出文件名,使用两个“v”时,列出权限、所有者、大小、时间、文件名等信息。
- -k,--keep-old-files 不覆盖文件系统上已有的文件
- -f,--file [主机名:]文件名 指定要处理的文件名。可以用“-”代表标准输出或标准输入。
- -P,--absolute-names 使用绝对路径
- -j,--bzip2 调用bzip2执行压缩或解压缩。注意,由于部分老版本的tar使用-I实现本功能,因此,编写脚本时,最好使用--bzip2。
- -z,--gzip,--gunzip,--ungzip 调用gzip执行压缩或解压缩
- -Z,--compress,--uncompress 调用compress执行压缩或解压缩
应用示例
tar -cvf home_backup.tar /home
可以将/home目录下的所有文件打包入home_backup.tar文件中。理解这个命令时,请注意“home_backup.tar”实际上是-f选项的参数。tar默认记录相对路径,即使给出的是绝对路径,也会自动将代表根目录的“/”去掉,所以,在这个例子中,使用“/home”和“home”是相同的。要想使用绝对路径,请加上“P”选项,但一般不推荐使用绝对路径,原因之一是可能导致tar攻击。
cd /home
tar -cvf home_backup.tar *
这也是一种制作备份的方法,但是不推荐这样做。因为tar在默认解压时,会将文件直接输出到当前目录下,而不会新建并输出到一个名为home的子目录,令到当前目录显得很凌乱。这也是一种形式的tar攻击。
tar -tf home_backup.tar
列出home_backup.tar文件里已被打包的文件。此时仅仅显示文件名。如果加上“v”,则能列出权限、所有者、大小、时间、文件名等信息。为防止tar攻击,应该养成解压前查看tar文件内容的好习惯。
tar -xvf home_backup.tar
在当前目录下解压home_back.tar。解压后的文件,其访问权限得到保留;其所有者是执行tar命令的用户,如果tar的执行者是root,则所有者是文件原来的所有者。 解压前,最好先查看tar文件的内容,以决定是否需要新建一个临时子目录安放。
tar -xvf home_backup.tar home/test.c
指定解压出test.c这个文件。解压过程中会自动创建home这个子目录。
tar
攻击者利用绝对路径,或者“tar -cf bomb.tar *”的方式创建的tar文件,然后诱骗受害者在根目录下解压,或者使用绝对路径解压。可能使受害系统上已有的文件被覆盖掉,或者导致当前工作目录凌乱不堪,这就是所谓的“tar”。因此,要养成良好的解压习惯:
- 解压前用“t”查看tar的文件内容。
- 拒绝使用绝对路径。
- 新建一个临时子目录,然后在这个子目录里解压。
tar管道
管道用法:
tar -cf - "${源目录}" | tar -xvf - -C "${目标目录}"
可以将源目录及其子目录复制到目标目录中,尤其适用于复制含有特殊文件(如连接、设备文件)的目录。
(来自维基百科)
分享到:
相关推荐
本文介绍了linux下的压缩程式tar、gzip、gunzip、bzip2、bunzip2、compress、uncompress、zip、 unzip、rar、unrar等程式,及怎么使用他们对.tar、.gz、.tar.gz、.tgz、.bz2、.tar.bz2、.Z、.tar.Z、.zip、.rar这...
它应该与所有流行的tar发行版(gnutar,bsdtar等)兼容。 有关的 如果要打包/解压缩文件系统上的目录,请查看 ,它提供了与此模块的文件系统绑定。 包装 要创建打包流,请使用tar.pack()并调用pack.entry(header, ...
至于file.src.rpm 的用法,请参见:《file.src.rpm 使用方法的简介》 2、如何编译安装源码包;(大多数) 1)解开软件包查看帮助文档; 我们解开一个包后,进入解压包,一般都能发现README(或reame)和INSTALL( ...
iconv基于GPL公开源代码,是GNU项目的一部分,在各种Unix-like操作系统下很容易编译和使用,而在Windows下编译iconv就没那么简单了。 最新版的iconv(目前是libiconv-1.14.tar.gz)已经不再提供Visual C++的编译...
cpiogz2tar 将gzip压缩的cpio归档文件转换为tar格式的脚本。... 将来可能会提供Windows实现(cpiogz2tar.cmd),以便与gunzip和cpio的Win32端口一起使用 执照 cpiogz2tar是在GNU GPL版本3下发行的免费软件。
用于pcl安装后的测试,具体使用方法见我的博客Ubuntu16.04安装PCL,里面有具体的使用说明,该版本修复了make过程中可能会遇到的No rule to make target '/usr/lib/x86_64-linux-gnu/lib...... .so问题
用于使用 Graphite 循环优化构建 GCC 的 GNU ISL 库 这是根据 MIT 许可条款对 GNU ISL 库(编译 GCC 等程序的先决条件)的二进制和源代码形式的非官方逐字重新分发。 此重新分发遵循相同的 MIT 许可证。 更多详情...
MinGW是Minimalistic GNU for Windows 的缩写。她是一个建立在GCC和binutils 项目上的编译器系统。和其他GCC的移植版相比,她可以说是最接近Win32的一个了。因为,MinGW几乎支持所有的Win32API,这也是 MinGW的特色...
CC = /home/mipsel-unknown-linux-gnu/bin/mipsel-unknown-linux-gnu-gcc-4.4.6 然后重新clean 后再编译即可: make -f unix/Makefile clean make -f unix/Makefile generic (--编译unzip60 如上类似--)
arm-linux-gcc交叉编译工具: 备注:使用此资源时需要解压两次,因为上传时显示资源重复上传失败,于是套了两层压缩。... $sudo ln -s /usr/lib/x86_64-linux-gnu/libmpfr.so.6 /usr/lib/x86_64-linux-gnu/libmpfr.so.4
安装GNU RISC-V嵌入式GCC的最简单方法是使用二进制xPack ,该文件可从注册表中以的 。 先决条件 唯一的要求是最近使用的xpm ,这是一个可移植的命令行应用程序。 要安装它,请按照页面上的说明进行操作。 安装 使用...
分类 PS1 命令名 用法及参数 功能注解 文件管理 # ls ls -a 列出当前目录下的所有文件,包括以.头的隐含文件 文件管理 # ls ls -l或ll 列出当前目录下文件的详细信息 文件管理 # pwd pwd 查看当前所在目录的绝对路经...
二维射线追踪地震层析成像,需要在GNU C++环境下运行。安装cygwin也可在windows下使用,具体使用方法在readme中有介绍
brew install coreutils findutils gnu-tar gnu-sed gawk gnutls gnu-indent gnu-getopt grep 安装 这可以在npm上作为模块使用: npm i --global @kingofcramers/create-project 用法 create-project -n ...
1、下载libiconv函数库http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.9.2.tar.gz; 2、解压缩tar -zxvf libiconv-1.9.2.tar.gz; 3、安装libiconv #configure –prefix=/usr/local/iconv #make #make ...
安装GNU Arm嵌入式GCC的最简单方法是使用二进制xPack ,可以从注册表中以的 。 先决条件 唯一的要求是最近使用的xpm ,这是一个可移植的命令行应用程序。 要安装它,请按照页面上的说明进行操作。 安装 使用xpm工具...
tar应该在您的路径上,并且应该像GNU tar一样接受参数。 这应该不用说,但是您还需要git 。 如果您的系统与此稍有出入,则可以轻松进行工作。 给我发送请求。 用法 在存储库中运行git backup ,以将加密副本存储...
详细的用法说明请阅读网站上的文档crosstool-how to 。 [zzl@localhost] tar -xzvf crosstool-0.43.tar.gz [zzl@localhost]cd crosstool-0.42 我们可以看到目录下有很多.sh脚本和.dat配置文件。每一个支持的...
SharpZipLib(#ziplib,以前为NZipLib)是一个压缩库,它使用存储和压缩的压缩方法,PKZIP 2.0样式和AES加密,带有GNU长文件名扩展名的tar,GZip,zlib和原始的deflate以及BZip2来支持Zip文件。 不支持Deflate64时,...
最初只有.tar.gz 的打包文件,用户必须编译每个他想在GNU/Linux 上运行的软件。用户们普遍认为系统很 有必要提供一种方法来管理这些安装在机器上的软件包,当Debian诞生时,这样一个管理工具也就应运而生, 它被命名...