之前win11只能压缩zip,最近发现7z、tar、tar.gz等等格式都支持了,超赞!!!
参考:
https://www.jb51.net/os/win11/913262.html
https://www.sysgeek.cn/windows-11-compress-or-decompress-files/
tar命令
查看帮助
PS D:\data> tar -h
tar.exe(bsdtar): manipulate archive files
First option must be a mode specifier:
-c Create -r Add/Replace -t List -u Update -x Extract
Common Options:
-b # Use # 512-byte records per I/O block
-f <filename> Location of archive (default \\.\tape0)
-v Verbose
-w Interactive
Create: tar.exe -c [options] [<file> | <dir> | @<archive> | -C <dir> ]
<file>, <dir> add these items to archive
-z, -j, -J, --lzma Compress archive with gzip/bzip2/xz/lzma
--format {ustar|pax|cpio|shar} Select archive format
--exclude <pattern> Skip files that match pattern
-C <dir> Change to <dir> before processing remaining files
@<archive> Add entries from <archive> to output
List: tar.exe -t [options] [<patterns>]
<patterns> If specified, list only entries that match
Extract: tar.exe -x [options] [<patterns>]
<patterns> If specified, extract only entries that match
-k Keep (don't overwrite) existing files
-m Don't restore modification times
-O Write entries to stdout, don't restore to disk
-p Restore permissions (including ACLs, owner, file flags)
bsdtar 3.7.2 - libarchive 3.7.2 zlib/1.2.5.f-ipp liblzma/5.2.5 bz2lib/1.0.8 libzstd/1.5.4
命令参数解释
官方文档说实话我没看懂…
这几个命令同时只能用一个,分别是查看详情\解压\创建
压缩文件操作参数 | 详情 |
---|---|
t | 查看压缩包里的文件 |
x | 解压档案文件 |
c | 生成档案文件,创建打包文件 |
压缩文件的时候可以用的参数
压缩命令参数 | 详情 |
---|---|
k | 保留(不覆盖)现有文件 |
m | 不恢复修改次数 |
O | 将条目写入标准输出,不要恢复到磁盘 |
p | 恢复权限(包括ACL、所有者、文件标志) |
f | 指定档案文件名称,f必须放在命令参数最后 |
压缩算法
若是不设置,默认压缩的是zip格式,比如使用
tar -cf dist.7z ./dist
会生成一个 dist.7z文件,但是实际是zip格式的,解压还是要用zip
压缩算法 | 详情 |
---|---|
-z | gzip |
-j | bzip2 |
-J(百度说是-X,不确定是哪个) | xz |
–lzma | lzma |
命令格式
tar -命令 压缩后的文件名 压缩的原文件
#或者
tar -命令1 -命令2 -命令3 压缩后的文件名 压缩的原文件
# -命令:最后一个必须是f
压缩命令-c
# 案例
# 使用默认的压缩方法,压缩为zip
tar -cf dist.zip ./dist 或者 tar -c -f dist.zip ./dist
# 使用gzip压缩为tar.gz
tar -czf dist.tar.gz ./dist 或者 tar -c -z -f dist.tar.gz ./dist
压缩文件设置当前时间
cmd的date方法可以获取时间
只能cmd中用powershell中不能用
比如
# 在命令提示符cmd的中输入:
echo %date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%
# 得到
20241008134348
# 其中
%date:~0,4% 年
%date:~5,2% 月
%date:~8,2% 日
%time:~0,2% 时
%time:~3,2% 分
%time:~6,2% 秒
压缩命令
tar -czf dist-%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%.tar.gz ./dist
tar -czf dist-%date:~0,4%%date:~5,2%%date:~8,2%-%time:~0,2%%time:~3,2%%time:~6,2%.tar.gz ./dist
解压命令 -x
tar -xf xxx.tar.gz
查看压缩详情-t
tar -tf dist.tar.gz