Linux中17个tar命令实用示例资料_第1页
Linux中17个tar命令实用示例资料_第2页
Linux中17个tar命令实用示例资料_第3页
Linux中17个tar命令实用示例资料_第4页
Linux中17个tar命令实用示例资料_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Linux 中17 个tar 命令实用示例Tar(TapeARchive,磁带归档的缩写, LCTT 译注:最初设计用于将文件打包到磁带上,现在我们大都使用它来实现备份某个分区或者某些重要的目录) 是类 Unix 系统中使用最广泛的命令,用于归档多个文件或目录到单个归档文件中, 并且归档文件可以进一步使用 gzip或者 bzip2等技术进行压缩。换言之, tar命令也可以用于备份:先是归档多个文件和目录到一个单独的 tar文件或归档文件,然后在需要之时将 tar文件中的文件和目录释放出来。本文将介绍tar的17个实用示例。tar命令语法如下:#tar<选项><文件>下面列举tar命令中一些常用的选项:--delete:从归档文件(而非磁带)中删除-r,--append:将文件追加到归档文件中-t,--list:列出归档文件中包含的内容--test-label:测试归档文件卷标并退出-u,--update:将已更新的文件追加到归档文件中-x,--extract,--get:释放归档文件中文件及目录-C,--directory=DIR:执行归档动作前变更工作目录到DIR-f,--file=ARCHIVE:指定(将要创建或已存在的)归档文件名-j,--bip2:对归档文件使用bzip2压缩-J,--xz:对归档文件使用xz压缩-p,--preserve-permissions:保留原文件的访问权限-v,--verbose:显示命令整个执行过程-z,gzip:对归档文件使用gzip压缩注:在tar命令选项中的连接符-是可选的(LCTT译注:不用-也没事。这在GNU软件里面很罕见,大概是由于tar命令更多受到古老的UNIX风格影响)。示例1:创建一个 tar归档文件现在来创建一个 tar文件,将 /etc/目录和 /root/anaconda-ks.cfg 文件打包进去。[root@linuxtechi~]#tar-cvfmyarchive.tar/etc/root/anaconda-ks.cfg以上命令会在当前目录创建一个名为 “myarchive”的tar文件,内含 /etc/目录和/root/anaconda-ks.cfg文件。其中,-c选项表示要创建 tar文件,-v选项用于输出 tar的详细过程到屏幕上, -f选项则是指定归档文件名称。[root@linuxtechi~]#ls-lmyarchive.tar-rw-r--r--.1rootroot22947840Sep700:24myarchive.tar[root@linuxtechi~]#示例2:列出归档文件中的内容在tar命令中使用 –t选项可以不用释放其中的文件就可以快速列出文件中包含的内容。[root@linuxtechi~]#tar-tvfmyarchive.tar列出 tar文件中的指定的文件和目录。下列命令尝试查看 anaconda-ks.cfg文件是否存在于tar文件中。示例3:追加文件到归档(tar)文件中-r选项用于向已有的 tar文件中追加文件。下面来将 /etc/fstab添加到 data.tar中。[root@linuxtechi~]#tar-rvfdata.tar/etc/fstab注:在压缩过的 tar文件中无法进行追加文件操作。示例4:从tar文件中释放文件以及目录-x选项用于释放出 tar文件中的文件和目录。下面来释放上边创建的 tar文件中的内容。[root@linuxtechi~]#tar-xvfmyarchive.tar这个命令会在当前目录中释放出 myarchive.tar 文件中的内容。示例5:释放 tar文件到指定目录假如你想要释放 tar文件中的内容到指定的文件夹或者目录,使用 -C选项后边加上指定的文件的路径。[root@linuxtechi~]#tar-xvfmyarchive.tar-C/tmp/示例6:释放 tar文件中的指定文件或目录假设你只要释放 tar文件中的 anaconda-ks.cfg到/tmp目录。语法如下:tar–xvf{tar-file}{file-to-be-extracted}-C{path-where-to-extract}[root@linuxtechitmp]#tar-xvf/root/myarchive.tarroot/anaconda-ks.cfg-C/tmp/root/anaconda-ks.cfg[root@linuxtechitmp]#ls-l/tmp/root/anaconda-ks.cfg-rw-------.1rootroot953Aug2401:33/tmp/root/anaconda-ks.cfg[root@linuxtechitmp]#示例7:创建并压缩归档文件( .tar.gz或.tgz)假设我们需要打包 /etc和/opt文件夹,并用 gzip工具将其压缩。可以在 tar命令中使用-z选项来实现。这种 tar文件的扩展名可以是 .tar.gz或者 .tgz。或[root@linuxtechi~]#tar-zcpvfmyarchive.tgz/etc//opt/示例8:创建并压缩归档文件( .tar.bz2或.tbz2)假设我们需要打包 /etc和/opt文件夹,并使用 bzip2压缩。可以在 tar命令中使用 -j选项来实现。这种 tar文件的扩展名可以是 .tar.bz2或者.tbz。或[root@linuxtechi~]#tar-jcpvfmyarchive.tbz2/etc//opt/示例9:排除指定文件或类型后创建 tar文件创建tar文件时在tar命令中使用–exclude选项来排除指定文件或者类型。假设在创建压缩的tar文件时要排除.html文件。[root@linuxtechi~]#tar-zcpvfmyarchive.tgz/etc//opt/--exclude=*.html示例10:列出 .tar.gz或.tgz文件中的内容使用-t选项可以查看 .tar.gz或.tgz文件中内容。如下:[root@linuxtechi~]#tar-tvfmyarchive.tgz|more.............................................drwxr-xr-xroot/root02016-09-0708:41etc/-rw-r--r--root/root5412016-08-2401:23etc/fstab-rw-------root/root02016-08-2401:23etc/crypttablrwxrwxrwxroot/root02016-08-2401:23etc/mtab->/proc/self/mounts-rw-r--r--root/root1492016-09-0708:41etc/resolv.confdrwxr-xr-xroot/root02016-09-0603:55etc/pki/drwxr-xr-xroot/root02016-09-0603:15etc/pki/rpm-gpg/-rw-r--r--root/root16902015-12-0904:59etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7-rw-r--r--root/root10042015-12-0904:59etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-Debug-7-rw-r--r--root/root16902015-12-0904:59etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-Testing-7-rw-r--r--root/root31402015-09-1506:53etc/pki/rpm-gpg/RPM-GPG-KEY-foreman..........................................................示例11:列出 .tar.bz2或.tbz2文件中的内容使用-t选项可以查看 .tar.bz2或.tbz2 文件中内容。如下:[root@linuxtechi~]#tar-tvfmyarchive.tbz2|more........................................................rwxr-xr-xroot/root02016-08-2401:25etc/pki/java/lrwxrwxrwxroot/root02016-08-2401:25etc/pki/java/cacerts->/etc/pki/ca-trust/extracted/java/cacertsdrwxr-xr-xroot/root02016-09-0602:54etc/pki/nssdb/-rw-r--r--root/root655362010-01-1215:09etc/pki/nssdb/cert8.db-rw-r--r--root/root92162016-09-0602:54etc/pki/nssdb/cert9.db-rw-r--r--root/root163842010-01-1216:21etc/pki/nssdb/key3.db-rw-r--r--root/root112642016-09-0602:54etc/pki/nssdb/key4.db-rw-r--r--root/root4512015-10-2109:42etc/pki/nssdb/pkcs11.txt-rw-r--r--root/root163842010-01-1215:45etc/pki/nssdb/secmod.dbdrwxr-xr-xroot/root02016-08-2401:26etc/pki/CA/drwxr-xr-xroot/root02015-06-2908:48etc/pki/CA/certs/drwxr-xr-xroot/root02015-06-2908:48etc/pki/CA/crl/drwxr-xr-xroot/root02015-06-2908:48etc/pki/CA/newcerts/drwx------root/root02015-06-2908:48etc/pki/CA/private/drwx------root/root02015-11-2006:34etc/pki/rsyslog/drwxr-xr-xroot/root02016-09-0603:44etc/pki/pulp/..............................................................示例12:解压 .tar.gz或.tgz文件使用-x和-z选项来解压 .tar.gz或.tgz文件。如下:[root@linuxtechi~]#tar-zxpvfmyarchive.tgz-C/tmp/以上命令将 tar文件解压到 /tmp目录。注:现今的 tar命令会在执行解压动作前自动检查文件的压缩类型,这意味着我们在使用tar命令是可以不用指定文件的压缩类型。如下:[root@linuxtechi~]#tar-xpvfmyarchive.tgz-C/tmp/示例13:解压 .tar.bz2或.tbz2文件使用-j和-x选项来解压 .tar.bz2或.tbz2文件。如下:[root@linuxtechi~]#tar-jxpvfmyarchive.tbz2-C/tmp/或[root@linuxtechi~]#tarxpvfmyarchive.tbz2-C/tmp/示例14:使用 tar命令进行定时备份总有一些实时场景需要我们对指定的文件和目录进行打包, 已达到日常备份的目的。 假设需要每天备份整个 /opt目录,可以创建一个带 tar命令的cron任务来完成。如下:[root@linuxtechi~]#tar-zcvfoptbackup-$(date+%Y-%m-%d).tgz/opt/为以上命令创建一个 cron任务即可。示例15:使用 -T及-X创建压缩归档文件想像这样一个场景: 把想要归档和压缩的文件及目录记录到到一个文件, 然后把这个文件当做tar命令的传入参数来完成归档任务;而有时候则是需要排除上面提到的这个文件里面记录的特定路径后进行归档和压缩。在tar命令中使用 -T选项来指定该输入文件,使用 -X选项来指定包含要排除的文件列表。假设要归档/etc、/opt、/home目录,并排除/etc/sysconfig/kdump和/etc/sysconfig/foreman文件,可以创建/root/tar-include和/root/tar-exclude然后分别输入以下内容:[root@linuxtechi~]#cat/root/tar-include/etc/opt/home[root@linuxtechi~]#[root@linuxtechi~]#cat/root/tar-exclude/etc/sysconfig/kdump/etc/sysconfig/foreman[root@linuxtechi~]#运行以下命令来创建一个压缩归档文件。[root@linuxtechi~]#tarzcpvfmybackup-$(date+%Y-%m-%d).tgz-T/root/tar-include-X/root/tar-exclude示例16:查看 .tar、.tgz和.tbz2文件的大小使用如下命令来查看 (压缩)tar文件的体积。[root@linuxtechi~]#tar-czf-data.tar|wc-c427[root@linuxtechi~]#tar-czf-mybackup-2016-09-09.tgz|wc-c37956009[root@linuxtechi~]#tar-czf-myarchive.tbz2|wc-c30835317[root@linuxtechi~]#示例17:分割体积庞大的 tar文件为多份小文件类Unix 系统中使用 split命令来将大体积文件分割成小体积文件。 大体积的 tar当然也可以使用这个命令来进行分割。假设需要将 “mybackup-2016-09-09.tgz”分割成每份 6MB 的小文件。Syntax:split-b.“prefix-name”[root@linuxtechi~]#split-b6Mmybackup-2016-09-09.tgzmybackup-parts以上命令会在当前目录分割 mybackup-2016-09-09.tgz 文件成为多个 6M

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论