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