Linux tar命令
时间:2019-08-20 17:58:26 来源:igfitidea点击:
tar(Tap Archive)命令用于归档文件。
归档文件是一个有很多文件的文件,这些文件可以被提取为其原始格式。
这些存档文件被称为tar包。
tar不执行压缩,但是这些归档文件可以通过使用压缩实用程序来压缩,例如gzip(z),bzip2(bj2)、压缩(Z)等
tar如何打包
下面是tar命令中使用到的标志:
-c=创建存档
-v=详细信息
-f=使用文件归档
-x=提取
语法:
打包3个文件 tar tarfilename.tar file1 file2 file3 或者 打包1个目录 tar tarfilename.tar directory-name 或者 同时打包文件和目录 tar tarfilename.tar file1 file2 file3 directory-name
打包时进行压缩
tar提供了许多压缩程序,例如gzip、bzip2、xz、lzip、lzma或者compress,
通常只使用两个压缩工具:
-z=gzip(tar.gz)
-j=bzip2(tar.bj2)
这两个标签和-c(create)和-x(extract)一起使用。
示例
gzip: tar -cvzf test.tar.gz file1 file2 tar -cvzf test.tar.gz directory-name bzip2: tar -cvjf test.tar.bj2 file1 file2 tar -cvjf test.tar.bj2 directory-name
提取tar包
使用-x选项提取。
如果存在压缩,则-x选项和压缩标识一起使用
例如 -xz(用于gzip),-xj(用于bzip2)
gzip: tar -zxvf test.tar.gz bzip2: tar -xvjf test.tar.bj2
查看tar包中的文件。
使用-t标志可以列出tar包中的文件和目录
tar -tvf package-name.tar
tar -tvf package-name.tar.gz
tar -tvf package-name.tar.bj2
如何将tar包提取到指定位置
默认情况下,命令tar -xvzf package-name.tar.gz
将提取文件到当前目录。
如果我们想更改存放的位置,则可以使用标志-C(大写C)
例如:
tar -xvf test.tar -C /opt tar -xvzf test.tar.gz -C /opt tar -xvjf test.tar.bj2 -C /opt
如何追加文件到tar包中
使用-r选项将文件或者目录追加到现有的没有压缩的tar包中
例如:
Hyman@theitroad:/tmp$ tar -rvf Hyman.tar newfile newfile Hyman@theitroad:/tmp$ tar -tvf Hyman.tar -rw-rw-r-- linux/linux 8 2013-07-10 07:02 file1 -rw-rw-r-- linux/linux 0 2013-07-10 07:02 file2 drwxrwxr-x linux/linux 0 2013-07-10 09:58 test/ -rw-rw-r-- linux/linux 0 2013-07-10 09:58 test/dddd -rw-rw-r-- linux/linux 9 2013-07-10 11:42 newfile Hyman@theitroad:/tmp$
如果是压缩的tar包,则不能向其追加文件,否则会报错:
tar: Cannot update compressed archives
如何只提取tar包中的某个文件?
语法格式:
tar -xvf archive-file-name.tar /path/of/fileORdir 或者 tar -xvzf archive-file-name.tar.gz /path/of/fileORdir 或者 tar -xvjf archive-file-name.tar.bj2 /path/of/fileORdir
如何使用通配符从tar包中提取多个文件
如果要使用通配符*(星号)提取多个文件或者目录,则必须使用名为–wildcards的开关。
例如:
Hyman@theitroad:/tmp/workshop$ tar -xvf Hyman.tar --wildcards file* file1 file2