linux 命令 — archive

tar

一般用法

tar -cf out.tar [files]

tar -cf out.tar file1 file2
-c :创建文件
-f:指定创建的文件名称,-f必须是所有参数的最后一项,比如-cvvf,不能是-cfvv

想归档文件添加文件

tar -rvf exist.tar new_add_file
-r: 向已经存在的tar中添加新的文件
-v:查看详细信息
-vv:更详细的信息

从归档文件中提取文件

tar -xf archive.tar -C dir
-x:提取文件
-C:提取文件到指定目录

tar -xvf test.tar file1 file4
只提取file1、file4到当前目录

使用stdin,stdout

tar -cf - file1 file2 | tar -xf - -C ~/dir
使用"-"取代tar文件名称,使用-c的时候,"-"表示stdout,使用-x的时候,"-" 表示stdin

合并两个tar

tar -Af test1.tar test2.tar
-A: 合并两个tar,到第一个文件名称中

tar -tvf test1.tar
-t:列出tar中文件名称

基于时间戳对同名文件更新

tar -uvvf test.tar file
如果test.tar中包含文件名称为file的文件,只有要添加的file的修改时间更新的时候才会替换

比较tar中文件和文件系统中文件的差别

tar -df test.tar file1 file2

从归档文件中删除文件

tar --delelte --file test.tar want_to_delete_names

压缩归档文件

tar -zcf test.tar file1 file2
归档并压缩为.tar.gz文件

-j:指定为bunzip2格式
-z:指定为gzip格式
--lzma:指定为lzma格式
-y:biz2

-a:tar根据扩展名自动进行压缩

排除部分文件

tar -cf test.tar ./* --exclude "*.txt"
归档该目录下除txt文件外的其他文件

查看归档的总字节数

tar -cf test.tar ./* --totals
归档并输出归档的总字节数

压缩归档文件

gzip test.tar

zcat

zcat,无需解压直接读取gzip格式文件

zcat test.gz
从test.gz中提取文件并打印到stdout

指定gzip压缩等级

gzip -9 test.gz
指定压缩等级,等级从1-9

zip

zip test.zip file1 file2
zip -r test.zip file1 dir1
-r 对文件夹进行递归压缩

加密文件

gpg

gpg -c file
交互读取密码加密file,并生成file.gpg
gpg file.gpg
交互读取密码解密file.gpg

posted @ 2017-07-03 20:57  lacker  阅读(617)  评论(0编辑  收藏  举报