tar 命令创建/解压文件
source link: https://www.myfreax.com/how-to-create-and-extract-archives-using-the-tar-command-in-linux/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
tar 命令创建/解压文件
tar命令用于将文件和目录打包并压缩为一个tar存档文件。它也可以提tar压缩文件
tar 命令创建/解压文件
tar
命令用于将文件和目录打包并压缩为一个tar
存档文件。它也可以提tar压缩文件。
显示压缩文件中包含文件与目录,还可以将其他文件添加到现有tar压缩文件中,以及各种其他类型的操作。
tar
支持种类繁多的压缩程序如gzip
,bzip2
,lzip
,lzma
,lzop
,xz
和compress
。
在创建压缩文件时,通常会使用压缩程序的名称作为后缀添加到压缩文件名的末尾。
这是一种公认的惯例,例如创建压缩文件时使用gzip压缩程序,压缩文件的名称应该带有.gz
后缀。
tar
命令最初设计用于创建存档并在磁带存储文件,这就是为什么它的名字叫Tape ARchive
的原因。
有两种版本的tar命令,BSD tar和GNU tar,它们之间存在一些功能差异。大多数Linux系统都默认安装GNU tar。
在本教程中,将说明如何使用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
/-f archive-name
指定压缩文件的名称。ARCHIVE_NAME
要解压或者压缩的tar存档名称。
FILE_NAME(s)
是要提取的一个或者多个文件与目录,多个文件与目录使用空格分隔。如果未提供,则解压整个存档。
在运行tar
命令时,可以使用tar操作OPERATION
和选项OPERATION
的长短形式。长形式更易读,而短形式更方便。
长形式选项以双短划线--
开头。短形式选项以单个短划线-
为开头,你也可以省略-
。
tar 命令创建压缩文件
在创建存档时,您可以打包一个或多个文件与目录。要使用tar命令创建存档文件,可以使用tar
命令的-c
选项。
默认情况下,tar
命令递归目录的所有文件并创建存档。如果你指定--no-recursion
选项,tar
命令将不会递归目录的所有文件。
例如命令tar -cf archive.tar file1 file2 file3
创建archive.tar
存档文件并打包文件file1
,file2
,file3
。
你也可以使用使用长形式选项的等效命令tar --create --file=archive.tar file1 file2 file3
创建archive.tar
存档文件。
tar -cf archive.tar file1 file2 file3
tar --create --file=archive.tar file1 file2 file3
如你需要查看tar命令打包过程,可以使用tar
命令-v
选项。-v
选项用于打印正在处理的文件/目录。
如果你想保留tar
命令创建存档整个过程,可以将-v
选项的标准输出重定向到文件中。
例如命令tar -cfv backup.tar /home/username > tar.log
将tar
命令的日志将写入到当前目录的tar.log文件。
tar -cfv backup.tar /home/username > tar.log
tar 命令添加文件目录
要将文件或目录添加到现有tar压缩文件,请使用tar命令的--append
/-r
选项。
-r
选项允许你指定一个或者多个文件与目录,如果要指定多个文件与目录请使用空格进行分隔。
例如命令tar -rvf archive.tar newfile
添加文件newfile
到tar文件archive.tar
。
tar -rvf archive.tar newfile
tar 命令删除文件目录
要从tar压缩文件删除文件与目录,请使用tar
命令的--delete
选项。
--delete
选项允许你指定一个或者多个文件与目录,如果要指定多个文件与目录请使用空格进行分隔。
在删除目录文件与目录时,必须提供文件目录在压缩内文件的内的路径,你可以使用tar
命令的--list
/-t
选项查看文件路径,运行命令tar tf archive.tar
。
例如命令tar --delete -f archive.tar file1
将在archive.tar
存档文件删除文件file1
。
tar tf archive.tar
tar --delete -f archive.tar file1
tar 命令解压tar文件
要解压tar
文件,请使用tar
命令的--extract
或者-x
选项,并在-f
选项后指定tar
文件名称。
命令tar -xf archive.tar
将会解压archive.tar文件到当前目录。-f
选项用于指定文件,-x
选项表示解压。
tar -xf archive.tar
tar 命令查看存档文件目录
要查看tar存档文件与目录,请使用tar
命令的--list
选项或者短形式的-t
选项。
除了查看文件名称,你还可以添加tar
命令的--verbose
/-v
选项打印更详细的信息。
这些文件的信息包括所有者,文件大小,时间戳,权限等。命令tar -tf archive.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 -xf archive.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
命令的最后指定要提取文件名称,多个文件使用空格作为分隔符。
提取文件时,必须提供文件在压缩内文件的内的路径,你可以使用tar
命令的--list
/-t
选项查看文件路径,运行命令tar tf test.tar.xz
。
除了在tar压缩文件提取文件以外,你还可以提取一个或多个目录。与提取文件一样你需要指定目录在压缩内文件的内的路径。
如果您尝试提取压缩文件内不存在的文件,tar
命令将会打印错误消息tar: README: Not found in archive。tar: Exiting with failure status due to previous errors。
例如命令tar -xf archive.tar test/dir/ test/file1
将会提取文件test/file1
和目录test/dir/
到当前目录。
test/
test/file1
test/dir/
test/dir/file2
archive.tar.xztar -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 -xf archive.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存档文件。
例如命令tar cJfv archive.tar.xz file1 file2
将会打包文件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 -czf archive.tar.gz file1 file2
将会打包文件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 -cjf archive.tar.bz2 file1 file2
将会打包文件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 -xf archive.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 -xf archive.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 -xf archive.tar.bz2
命令将会解压archive.tar.bz2文件到当前目录。-f
选项用于指定文件,-x
选项表示解压。
tar -xf archive.tar.bz2
到目前为止,您应该很好地了解如何创建和提取/解压缩tar
存档文件。想要查看tar
命令的更多信息,请参阅Gnu tar文档页面,如有疑问请在下方评论留言。
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK