tar命令用于将文件和目录打包并压缩为一个tar存档文件。它也可以解压文件。
显示压缩文件中包含文件与目录,还可以将其他文件添加到现有tar压缩文件中,以及各类其他类型的操作。
tar支持种类繁杂的压缩程序如gzip,bzip2,lzipadobe air linux,lzma,lzop,xz和compress。
在创建压缩文件时,一般会使用压缩程序的名也称为后缀添加到压缩文件名的末尾。
这是一种公认的惯例,比如创建压缩文件时使用gzip压缩程序,压缩文件的名称应当带有.gz后缀。
tar命令最初设计用于创建存档并在磁带储存文件,这就是为何它的名子叫TapeARchive的诱因。
有两种版本的tar命令,BSDtar和GNUtarlinux压缩gz文件命令,它们之间存在一些功能差别。大多数Linux系统都默认安装GNUtar。
在本教程中,将说明怎样使用tar命令创建或则解压tar文件。还包括tar命令句型选项。
tar命令
在说明怎样使用tar命令之前,先回顾基本句型。tar命令的句型方式是tar[OPERATION_AND_OPTIONS][ARCHIVE_NAME][FILE_NAME(s)]。
OPERATION也就是操作,tar命令的操作包括,-c/--create创建tar存档文件。
-x/--extract解压存档文件或在存档文件中提取一个或多个文件与目录。-t/--list查看tar存档包含的文件与目录。
OPTIONS选项,tar命令的常用选项包括,--verbose/-v复印tar命令正在处理的文件的信息。
--file=archive=name/-farchive-name指定压缩文件的名称。ARCHIVE_NAME要解压或则压缩的tar存档名称。
FILE_NAME(s)是要提取的一个或则多个文件与目录,多个文件与目录使用空格分隔。若果未提供,则解压整个存档。
在运行tar命令时,可以使用tar操作OPERATION和选项OPERATION的长短方式。长方式更易读,而短方式更便捷。
长方式选项以双短划线--开头。短方式选项以单个短划线-为开头,你也可以省略-。
tar命令创建压缩文件
在创建存档时,您可以打包一个或多个文件与目录。要使用tar命令创建存档文件,可以使用tar命令的-c选项。
默认情况下,tar命令递归目录的所有文件并创建存档。假如你指定--no-recursion选项,tar命令将不会递归目录的所有文件。
比如命令tar-cfarchive.tarfile1file2file3创建archive.tar存档文件并打包文件file1,file2,file3。
你也可以使用使用长方式选项的等效命令tar--create--file=archive.tarfile1file2file3创建archive.tar存档文件。
tar -cf archive.tar file1 file2 file3
tar --create --file=archive.tar file1 file2 file3
如你须要查看tar命令打包过程,可以使用tar命令-v选项。-v选项用于复印正在处理的文件/目录。
假如你想保留tar命令创建存档整个过程,可以将-v选项的标准输出重定向到文件中。
比如命令tar-cfvbackup.tar/home/username>tar.log将tar命令的日志将写入到当前目录的tar.log文件。
tar -cfv backup.tar /home/username > tar.log
tar命令添加文件目录
要将文件或目录添加到现有tar压缩文件,请使用tar命令的--append/-r选项。
-r选项容许你指定一个或则多个文件与目录,假如要指定多个文件与目录请使用空格进行分隔。
比如命令tar-rvfarchive.tarnewfile添加文件newfile到tar文件archive.tar。
tar -rvf archive.tar newfile
tar命令删掉文件目录
要从tar压缩文件删掉文件与目录,请使用tar命令的--delete选项。
--delete选项容许你指定一个或则多个文件与目录,假如要指定多个文件与目录请使用空格进行分隔。
在删掉目录文件与目录时,必须提供文件目录在压缩内文件的内的路径,你可以使用tar命令的--list/-t选项查看文件路径,运行命令tartfarchive.tar。
比如命令tar--delete-farchive.tarfile1将在archive.tar存档文件删掉文件file1。
tar tf archive.tar
tar --delete -f archive.tar file1
tar命令解压tar文件
要解压tar文件,请使用tar命令的--extract或则-x选项,并在-f选项后指定tar文件名称。
命令tar-xfarchive.tar将会解压archive.tar文件到当前目录。-f选项用于指定文件,-x选项表示解压。
tar -xf archive.tar
tar命令查看存档文件目录
要查看tar存档文件与目录,请使用tar命令的--list选项或则短方式的-t选项。
不仅查看文件名称,你还可以添加tar命令的--verbose/-v选项复印更详尽的信息。
这种文件的信息包括所有者,文件大小,时间戳linux入门,权限等。命令tar-tfarchive.tar将列举archive.tar存档的文件与目录。
tar -tf archive.tar
tar -tvf archive.tar
-rw-r--r-- myfreax/users 0 2018-09-08 01:19 file1
-rw-r--r-- myfreax/users 0 2018-09-08 01:19 file2
-rw-r--r-- myfreax/users 0 2018-09-08 01:19 file3
tar命令指定解压目录
要获得更详尽的输出,请使用tar命令的-v选项。这将会在终端复印正在解压的文件名称。
tar默认解压tar文件到当前工作目录,要解压到指定的目录,请使用--directory或则-C选项。
命令tar-xfarchive.tar-C/home/myfreax/files将archive.tar解压到/home/myfreax/files目录。
tar -xvf archive.tar
tar -xf archive.tar -C /home/myfreax/files
tar命令提取指定文件
要从tar文件中提取指定文件,请在tar命令的最后指定要提取文件名称,多个文件使用空格作为分隔符。
提取文件时linux压缩gz文件命令,必须提供文件在压缩内文件的内的路径,你可以使用tar命令的--list/-t选项查看文件路径,运行命令tartftest.tar.xz。
不仅在tar压缩文件提取文件以外,你还可以提取一个或多个目录。与提取文件一样你须要指定目录在压缩内文件的内的路径。
倘若您尝试提取压缩文件内不存在的文件,tar命令将会复印错误消息tar:README:Notfoundinarchive。tar:Exitingwithfailurestatusduetopreviouserrors。
比如命令tar-xfarchive.tartest/dir/test/file1将会提取文件test/file1和目录test/dir/到当前目录。
test/
test/file1
test/dir/
test/dir/file2
archive.tar.xz
tar -tf archive.tar.xz
tar -xf archive.tar.xz test/file1
tar -xf archive.tar.xz test/dir/ test/file1
tar命令的--wildcards选项容许您基于键值模式或则正则表达式从tar文件中提取多个文件。
在使用转义模式或则正则抒发匹配多个文件时,必须使用单冒号对模式进行包裹,防止shell解释模式中的特殊符号。
比如命令tar-xfarchive.tar--wildcards'*.png'将会提取以.png结尾的文件。
tar -xf archive.tar --wildcards '*.png'
tar命令创建tar.xz文件
压缩tar文件的另一个流行的程序是xz。使用xz程序压缩tar文件时,压缩文件名称应以xz结尾。
要创建使用xz压缩程序的创建tar.xz文件。请使用tar命令的-J选项。该选项将会使用xz程序压缩tar存档文件。
比如命令tarcJfvarchive.tar.xzfile1file2将会打包文件file1,file2到压缩文件archive.tar.xz。
tar cJfv archive.tar.xz file1 file2
tar命令创建tar.gz文件
gzip是压缩最流行的压缩程序之一。使用gzip程序压缩tar文件时,压缩文件名称应以tar.gz或则以tgz结尾。
要创建使用gzip压缩程序的创建tar.gz文件。请使用tar命令的-z选项。该选项将会使用gzip程序压缩tar存档文件。
比如命令tar-czfarchive.tar.gzfile1file2将会打包文件file1,file2到压缩文件archive.tar.gz。
tar -czf archive.tar.gz file1 file2
tar命令创建tar.bz2文件
压缩tar文件的另一个流行的程序是bzip2。使用bzip2程序压缩tar文件时,压缩文件名称应以bz2结尾。
要创建使用bzip2压缩程序的创建tar.bz2文件。请使用tar命令的-j选项。该选项将会使用bzip2程序压缩tar存档文件。
比如命令tar-cjfarchive.tar.bz2file1file2将会打包文件file1,file2到压缩文件archive.tar.gz。
tar -cjf archive.tar.bz2 file1 file2
tar命令解压tar.xz文件
要解压tar.xz文件,请tar命令的使用--extract或则-x选项,并在-f选项后指定tar.xz文件文件名称。
tar手动检查压缩文件使用的算法并手动解压文件。可以使用tar-xf命令来解压使用其他压缩算法的tar存档文件。诸如.tar.gz文件和.tar.bz文件。
命令tar-xfarchive.tar.xz命令将会解压archive.tar.xz文件到当前目录。-f选项用于指定文件,-x选项表示解压。
tar -xf archive.tar.xz
tar命令解压tar.gz文件
要解压tar.gz文件,请tar命令的使用--extract或则-x选项,并在-f选项后指定tar.xz文件文件名称。
tar手动检查压缩文件使用的算法并手动解压文件。可以使用tar-xf命令来解压使用其他压缩算法的tar存档文件。诸如.tar.xz文件和.tar.bz文件。
命令tar-xfarchive.tar.gz命令将会解压archive.tar.gz文件到当前目录。-f选项用于指定文件,-x选项表示解压。
tar -xf archive.tar.gz
tar命令解压tar.bz2文件
要解压tar.bz2文件,请tar命令的使用--extract或则-x选项,并在-f选项后指定tar.bz2文件文件名称。
tar手动检查压缩文件使用的算法并手动解压文件。可以使用tar-xf命令来解压使用其他压缩算法的tar存档文件。诸如.tar.gz文件和.tar.xz文件。
命令tar-xfarchive.tar.bz2命令将会解压archive.tar.bz2文件到当前目录。-f选项用于指定文件,-x选项表示解压。
tar -xf archive.tar.bz2
推论
到目前为止,您应当挺好地了解怎样创建和提取/解压缩tar存档文件。想要查看tar命令的更多信息,请参阅Gnutar文档页面,如有疑惑请在下方评论留言。