目前比较常见的压缩格式*.zip | zip 程序压缩归档的,很常见,但不包含文档名的编码信息,跨平台易乱码
*.7z | 7zip 程序压缩的档案
*.rar | 商用 rar 程序压缩打包的工具,window 上很常见,商业格式
*.xz | xz 程序压缩
*.gz | gz 程序压缩
*.bz2 | bzip2 程序压缩
*.tar.xz | xz 程序压缩,并使用 tar 归档
*.tar.gz | gz 程序压缩,并使用 tar 归档
*.tar.bz2 | bzip2 程序压缩,并使用 tar 归档
可否压缩多个文件xz,gzip,bzip2 程序只可以压缩一个文档(该进程的输入输出 都是流,不包含文档树信息),想要压缩多个文档需要借助 tar 打包工具(将所要压缩的多个文档打包为一个包含文档树信息的工具)7zip,rar,zip 程序即直接压缩多个文档压缩算法差异gzip 使用 DEFLATE 算法,压缩比适中7z 新一代格式,使用压缩算法可替换,默认使用 lzma/lzma2 算法,使用 AES-256 作为加密算法xz 同样使用 lzma/lzma2 算法,不过只能压缩一个文档。压缩比很高zip 同时支持多个算法,默认使用 DEFLATE 算法,存在(跨平台乱码,容易破解等问题)rar 类似 DEFLATE 算法,使用 AES 加密 rar5.0 后使用 AES-256CBCzip 被广泛用于 apk,jar,epub 等格式中。zip 最流行,不用担心目标平台没有解压工具。
如何选择压缩工具tar.gz Linux 上目前最常用的压缩格式,在压缩率和压缩时间上有很好的平铺。如果存在疑惑,就使用该格式zip 如果该文件需要被广泛传播,推荐使用它,不担心下载文件后的平台没有解压文件,但存在文件名乱码问题rar 性能差,商业格式,但存在 recovery records 功能,在网络环境不好,导致包容易破损,可以很快恢复tar.xz 追求压缩率,建议使用它。现在电脑的性能都可以,应该会大规模使用,eg: archlinux 的安装包都是 tar.xz 格式7z 比 zip 更适合跨平台使用。但需要自己安装对应的解压工具总结:跨平台不用考虑接收方是否有合适的解压工具,请使用 zip, 如果有更多个可能跨平台更推荐 7z. linux 上推荐 tar.xz 格式
常用的压缩和解压命令tar 程序unix 上常用的文件打包工具。常用的命令
1
2
3
4
5
6
7
8
# 打包和压缩
tar [-z|-j|-J] [cv] [-f 带创建的新文件名] file1 file2...
# 查看 tar 文件内容
tar [-z|-j|-J] [tv] [-f 存在的 tar 文件]
# 解压
tar [-z|-j|-J] [xv] [-f 存在的 tar 文件] [-C 目录]
# 通用的解压方法.根据后缀名自动识别解压方法
tar -axv [-f 存在的 tar 文件] [-C 目录]
参数解释
参数含意-c创建打包档案-v在压缩/解压过程中显示正在处理的文件-f filename-f 后面要立刻接被处理的档案名-C 目录将解压后的文件存在到 ted 目录下,默认当前目录-z使用 gzip 压缩/解压,此时 -f 目录名最好为*.tar.gz-j使用 bzip2 压缩/解压,此时 -f 目录名最好为*.tar.bz2-J使用 xz 压缩/解压, 此时 -f 目录名最好为*.tar.xz-a根据-f *.tar.xx 的 xx 结果选择合适的压缩/解压工具进行操作一些特殊用法仅解压指定文件1
2
3
4
# 查看当前 tar 文件存在哪些文件
tar -atv -f *.tar.xx
# 解压指定文件
tar -axv -f *.tar.xx 需要解压文件
打包某个目录,忽视某些文件1
tar -zcv -f filename.tar.gz directory --exclude=file1 --exclude=func*
zip压缩命令1
zip -r filename.zip directory
解压命令1
2
# 解压到 directory
unzip -d directory filename.zip
其他参数:
-t 测试压缩文件的完整性-x filename 排除某个文件7z一般使用 p7zip 需要自己安装。 p7zip 不仅支持 7z,还支持 zip,cab,gzip,arj,tar,rpm,deb 等格式
查看压缩文件内容, 7z l file.7z压缩文件,或向压缩包中添加文件 7z a file.7z file1 directory1解压完整目录解压 7z x file.7z -o directory -y非完整目录解压 7z e file.7z -o direcotry -yrar压缩: rar a file.rar file . rar 命令需要自己安装解压: unrar x file.rar比较好用的 GUI 压缩工具linuxark kde 桌面的压缩工具engrampa mate 桌面的 file roller 分支file-roller gnome 上的工具peazipxarchiverwindos7-ZipBandizip · Free zip, 7z, unzip, unrar Archiver · Fast and easyWinRAR download free and support: WinRARmacosmaczipThe Unarchiver: apple store 可下载keka文件名乱码解决思路windows 下 zip 文件名乱码解决思路zip 压缩包解压后的文件名是乱码? - 知乎Windows 解压文件名乱码解决方法_utf8 解压-CSDN 博客命令行解决思路下载的文件名总是「乱码」?这里有各平台的解决方法 - 少数派%E9%AB 乱码解决方法1
2
3
4
5
6
7
8
alias urldecode='python -c "import sys, from urllib.parse as ul; print ul.unquote_plus(sys.argv[1])"'
# 遍历选择的文件列表,进行重命名
for f in "$@"
do
newName=$(urldecode "$f")
mv "$f" "$newName"
done
网页: UrlEncode 编码/UrlDecode 解码 - 站长工具 上选择 urlDecode 解码èªå¨é£è±è½»ä¼¼æ¢¦」 乱码解决思路这种情况下一般就是编码格式转换的问题.常见的默认编码格式:macos: UTF-8-Maclinux: latin1windows: 根据语言的设置编码格式不一样,如果默认是中文,编码格式一般是 gbkpython 解决方法
从 latin1 到 gbk1
python -c "import sys,os;fp=os.path.dirname(sys.argv[1]);fn=os.path.basename(sys.argv[1]);os.rename(sys.argv[1],os.path.join(fp,fn.encode('latin1').decode('gbk')))" %1