Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package man-pages-zh_CN for openSUSE:Factory 
checked in at 2026-09-02 16:58:36
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/man-pages-zh_CN (Old)
 and      /work/SRC/openSUSE:Factory/.man-pages-zh_CN.new.1265 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "man-pages-zh_CN"

Wed Sep  2 16:58:36 2026 rev:21 rq:1375109 version:1.6.4.5

Changes:
--------
--- /work/SRC/openSUSE:Factory/man-pages-zh_CN/man-pages-zh_CN.changes  
2025-08-21 17:00:36.433176057 +0200
+++ 
/work/SRC/openSUSE:Factory/.man-pages-zh_CN.new.1265/man-pages-zh_CN.changes    
    2026-09-02 16:58:42.551938494 +0200
@@ -1,0 +2,10 @@
+Fri Aug 28 10:39:41 UTC 2026 - Petr Gajdos <[email protected]>
+
+- version update to 1.6.4.5:
+  * Add cmp(1) and diff3(1)
+  * autoconf.1: Full translation
+  * join.1: Full translation
+  * zstd.1: Full translation
+  * Refresh kill(1) and add it to procps-ng exclusion list
+
+-------------------------------------------------------------------

Old:
----
  man-pages-zh_CN-1.6.4.3.tar.gz

New:
----
  man-pages-zh_CN-1.6.4.5.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ man-pages-zh_CN.spec ++++++
--- /var/tmp/diff_new_pack.k1sMeb/_old  2026-09-02 16:58:43.200961056 +0200
+++ /var/tmp/diff_new_pack.k1sMeb/_new  2026-09-02 16:58:43.202961125 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package man-pages-zh_CN
 #
-# Copyright (c) 2025 SUSE LLC
+# Copyright (c) 2026 SUSE LLC and contributors
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
 
 
 Name:           man-pages-zh_CN
-Version:        1.6.4.3
+Version:        1.6.4.5
 Release:        0
 Summary:        Simplified Chinese Linux man pages
 License:        GFDL-1.3-or-later
@@ -40,7 +40,7 @@
 maintainers.
 
 %prep
-%setup -q -n manpages-zh-%{version}
+%autosetup -p1 -n manpages-zh-%{version}
 
 %build
 %cmake

++++++ man-pages-zh_CN-1.6.4.3.tar.gz -> man-pages-zh_CN-1.6.4.5.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/manpages-zh-1.6.4.3/CMakeLists.txt 
new/manpages-zh-1.6.4.5/CMakeLists.txt
--- old/manpages-zh-1.6.4.3/CMakeLists.txt      2025-06-27 19:34:09.000000000 
+0200
+++ new/manpages-zh-1.6.4.5/CMakeLists.txt      2026-07-31 17:58:28.000000000 
+0200
@@ -14,7 +14,7 @@
 set(EXCLUDED_MANPAGES "" CACHE STRING "Man pages that are not installed")
 
 if (NOT ENABLE_PROCPS_NG_MANPAGES)
-    SET(PROCPS_NG_EXCLUDE 
"free.1;pgrep.1;pidof.1;pmap.1;ps.1;pwdx.1;slabtop.1;tload.1;sysctl.8;vmstat.8;uptime.1;w.1;watch.1;top.1;procps.3;procps_misc.3;procps_pids.3;sysctl.conf.5")
+    SET(PROCPS_NG_EXCLUDE 
"free.1;kill.1;pgrep.1;pidof.1;pmap.1;ps.1;pwdx.1;slabtop.1;tload.1;sysctl.8;vmstat.8;uptime.1;w.1;watch.1;top.1;procps.3;procps_misc.3;procps_pids.3;sysctl.conf.5")
     list(APPEND EXCLUDED_MANPAGES ${PROCPS_NG_EXCLUDE})
 endif()
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/manpages-zh-1.6.4.3/COPYRIGHT 
new/manpages-zh-1.6.4.5/COPYRIGHT
--- old/manpages-zh-1.6.4.3/COPYRIGHT   2025-06-27 19:34:09.000000000 +0200
+++ new/manpages-zh-1.6.4.5/COPYRIGHT   2026-07-31 17:58:28.000000000 +0200
@@ -23,14 +23,32 @@
 License: CC0-1.0 or BSD-2-Clause
 
 Files:
+ src/man1/autoconf.1
+Copyright:
+ 2026 Free Software Foundation, Inc.
+License: GPL-3.0-or-later with Autoconf exception
+Comment:
+ https://gnu.org/licenses/gpl.html
+ https://gnu.org/licenses/exceptions.html
+
+Files:
  src/man1/kill.1
 Copyright:
- Albert Cahalan
- Michael K. Johnson
+ 2002-2024 Craig Small <[email protected]>
+ 2011-2023 Jim Warner <[email protected]>
+ 2011-2012 Sami Kerola <[email protected]>
+ 1998-2003 Albert Cahalan
 License: GPL-2.0-only
 Comment: Files from procps-ng.
 
 Files:
+ src/man1/cmp.1
+ src/man1/diff3.1
+Copyright: 2025 Free Software Foundation, Inc.
+License: GPL-3.0-or-later
+Comment: files from diffutils.
+
+Files:
  src/man1/zless.1
 Copyright:
  2006-2007, 2015-2018 Free Software Foundation, Inc.
@@ -38,6 +56,17 @@
 License: permissive-gzip
 
 Files:
+ src/man1/zstd.1
+Copyright:
+ Yann Collet
+ Przemyslaw Skibinski
+ Martin Liska
+ SUSE
+ Meta Platforms, Inc. and affiliates
+License: BSD-3-clause or GPL-2.0-only
+Comment: File from zstd.
+
+Files:
  src/man6/intro.6
 Copyright:
  1993 Michael Haardt <[email protected]>
@@ -130,3 +159,43 @@
  On Debian GNU/Linux systems, the complete text of the GNU Free
  Documentation License can be found in
  `/usr/share/common-licenses/GFDL-1.2'.
+
+License: GPL-2.0-only
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License, version 2, as
+ published by the Free Software Foundation.
+ .
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+ .
+ You should have received a copy of the GNU General Public
+ License along with this manual; if not, see
+ <https://www.gnu.org/licenses/>.
+ .
+ On Debian systems, the complete text of the GNU General Public
+ License version 2 can be found in `/usr/share/common-licenses/GPL-2'.
+
+License: BSD-3-clause
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are met:
+     * Redistributions of source code must retain the above copyright
+       notice, this list of conditions and the following disclaimer.
+     * Redistributions in binary form must reproduce the above copyright
+       notice, this list of conditions and the following disclaimer in the
+       documentation and/or other materials provided with the distribution.
+     * Neither the name of cereal nor the
+       names of its contributors may be used to endorse or promote products
+       derived from this software without specific prior written permission.
+ .
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
AND
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ DISCLAIMED. IN NO EVENT SHALL RANDOLPH VOORHIES OR SHANE GRANT BE LIABLE FOR 
ANY
+ DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/manpages-zh-1.6.4.3/ChangeLog 
new/manpages-zh-1.6.4.5/ChangeLog
--- old/manpages-zh-1.6.4.3/ChangeLog   2025-06-27 19:34:09.000000000 +0200
+++ new/manpages-zh-1.6.4.5/ChangeLog   2026-07-31 17:58:28.000000000 +0200
@@ -1,3 +1,27 @@
+2026-07-31  Boyuan Yang <[email protected]>
+
+       * Full translation of cmp(1) and diff3(1) from diffutils
+         3.12.
+       * Bump version string to 1.6.4.5.
+
+2026-07-14  Boyuan Yang <[email protected]>
+
+       * Full translation of autoconf(1) from autoconf 2.73.
+
+2026-07-13  Boyuan Yang <[email protected]>
+
+       * Update translation of join(1) to coreutils 9.11.
+
+2026-07-12  Boyuan Yang <[email protected]>
+
+       * Full translation of zstd(1) from zstd 1.5.7.
+
+2026-07-02  Boyuan Yang <[email protected]>
+
+       * Import kill(1) translation from procps-ng 4.0.6 and exclude it
+       in the default installation as procps-ng starts to ship it by default.
+       * Bump version string to 1.6.4.4.
+
 2025-06-27  Boyuan Yang <[email protected]>
 
        * Bump version string to 1.6.4.3.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/manpages-zh-1.6.4.3/src/man1/autoconf.1 
new/manpages-zh-1.6.4.5/src/man1/autoconf.1
--- old/manpages-zh-1.6.4.3/src/man1/autoconf.1 1970-01-01 01:00:00.000000000 
+0100
+++ new/manpages-zh-1.6.4.5/src/man1/autoconf.1 2026-07-31 17:58:28.000000000 
+0200
@@ -0,0 +1,121 @@
+.\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.49.3.
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.TH AUTOCONF 1 2026年三月 "GNU Autoconf 2.73" 用户命令
+.SH 名称
+autoconf \- 生成配置脚本
+.SH 概述
+\fBautoconf\fP [\fI\,选项\/\fP]... [\fI\,模板文件\/\fP]
+.SH 描述
+如果给定了模板文件,则据其生成配置脚本;否则 \&'configure.ac' 则使用它,再否则使用
+\&'configure.in'。如果给定了模板文件,则输出被送往标准输出,否则送入 \&'configure'。
+.SS 工作模式:
+.TP 
+\fB\-h\fP, \fB\-\-help\fP
+打印该帮助消息,然后退出
+.TP 
+\fB\-V\fP, \fB\-\-version\fP
+打印版本号,然后退出
+.TP 
+\fB\-v\fP, \fB\-\-verbose\fP
+详细报告处理过程
+.TP 
+\fB\-d\fP, \fB\-\-debug\fP
+不删除临时文件
+.TP 
+\fB\-f\fP, \fB\-\-force\fP
+将所有文件视为过时
+.TP 
+\fB\-o\fP, \fB\-\-output\fP=\fI\,文件\/\fP
+将输出保存到指定文件中(默认为标准输出)
+.TP 
+\fB\-W\fP, \fB\-\-warnings\fP=\fI\,类别\/\fP
+报告属于指定类别的警告(可接受逗号分隔的列表)
+.SS 警告类别包括:
+.TP 
+cross
+交叉编译事项
+.TP 
+gnu
+GNU 编程规范(在 gnu 和 gnits 模式下默认启用)
+.TP 
+obsolete
+过时的特性或构造(默认启用)
+.TP 
+override
+用户对 Automake 规则或变量的重新定义
+.TP 
+portability
+可移植性事项(在 gnu 和 gnits 模式下默认启用)
+.TP 
+portability\-recursive
+嵌套的 Make 变量(在使用 \fB\-Wportability\fP 时默认启用)
+.TP 
+extra\-portability
+与冷门工具相关的额外可移植性事项
+.TP 
+syntax
+可疑的语法构造(默认启用)
+.TP 
+unsupported
+不支持或不完整的特性(默认启用)
+.SS "\-W 同时理解下面的参数:"
+.TP 
+all
+启用所有警告
+.TP 
+none
+关闭所有警告
+.TP 
+no\-类别
+关闭指定类别的警告
+.TP 
+error
+将所有启用的警告视为错误
+.SS 库目录:
+.TP 
+\fB\-B\fP, \fB\-\-prepend\-include\fP=\fI\,目录\/\fP
+将指定目录添加到搜索路径的开头
+.TP 
+\fB\-I\fP, \fB\-\-include\fP=\fI\,目录\/\fP
+将指定目录追加到搜索路径的末尾
+.SS 追踪:
+.TP 
+\fB\-t\fP, \fB\-\-trace\fP=\fI\,宏[\/\fP:格式]
+报告对指定宏的调用列表
+.TP 
+\fB\-i\fP, \fB\-\-initialization\fP
+同时追踪 Autoconf 的初始化过程
+.PP
+在追踪模式下,不会创建配置脚本。FORMAT 默认为 '$f:$l:$n:$%';有关 FORMAT 的信息请参见 'autom4te
+\fB\-\-help\fP'。
+.SH 作者
+由 David J. MacKenzie 和 Akim Demaille 编写。
+.SH 报告错误
+请将错误报告至
+.MT bug\[email protected]
+.ME ,
+或通过 Savannah 报告:
+.UR https://savannah.gnu.org/support/?group=autoconf
+.UE .
+.SH 版权
+版权所有 \(co 2026 Free Software Foundation, Inc.  许可证 GPLv3+/Autoconf:GNU GPL 第
+3 版或更新版本 <https://gnu.org/licenses/gpl.html>,
+<https://gnu.org/licenses/exceptions.html>
+.br
+这是自由软件:您可以自由地更改并对其重新发布。在法律所允许的范围内不含任何担保。
+.SH 亦见
+\fBautoconf\fP(1), \fBautomake\fP(1), \fBautoreconf\fP(1), \fBautoupdate\fP(1),
+\fBautoheader\fP(1), \fBautoscan\fP(1), \fBconfig.guess\fP(1), 
\fBconfig.sub\fP(1),
+\fBifnames\fP(1), \fBlibtool\fP(1).
+
+Autoconf 的完整文档以 Texinfo 手册的形式维护。要在本地阅读该手册,请使用以下命令
+.IP
+\fBinfo autoconf\fP
+.PP
+您也可以在以下网址查阅手册的网页版本:
+.UR https://gnu.org/software/autoconf/manual/
+.UE .
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/manpages-zh-1.6.4.3/src/man1/cmp.1 
new/manpages-zh-1.6.4.5/src/man1/cmp.1
--- old/manpages-zh-1.6.4.3/src/man1/cmp.1      1970-01-01 01:00:00.000000000 
+0100
+++ new/manpages-zh-1.6.4.5/src/man1/cmp.1      2026-07-31 17:58:28.000000000 
+0200
@@ -0,0 +1,67 @@
+.\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.48.5.
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.TH CMP 1 2025年四月 "diffutils 3.12" 用户命令
+.SH 名称
+cmp \- 逐字节比较两个文件
+.SH 概述
+\fBcmp\fP [\fI\,选项\/\fP]... \fI\,文件1 \/\fP[\fI\,文件2 \/\fP[\fI\,跳过1 
\/\fP[\fI\,跳过2\/\fP]]]
+.SH 描述
+逐字节比较两个文件。
+.PP
+可选的 跳过1 和 跳过2 分别指定每个文件开头要跳过的字节数(默认为零)。
+.PP
+必选参数对长短选项同时适用。
+.TP 
+\fB\-b\fP, \fB\-\-print\-bytes\fP
+打印不同的字节
+.TP 
+\fB\-i\fP, \fB\-\-ignore\-initial\fP=\fI\,跳过\/\fP
+同时跳过两个输入文件的前 跳过 个字节
+.TP 
+\fB\-i\fP, \fB\-\-ignore\-initial\fP=\fI\,跳过1\/\fP:跳过2
+跳过 文件1 的前 跳过1 个字节和 文件2 的前 跳过2 个字节
+.TP 
+\fB\-l\fP, \fB\-\-verbose\fP
+输出字节编号和不同的字节值
+.TP 
+\fB\-n\fP, \fB\-\-bytes\fP=\fI\,限制\/\fP
+最多比较指定数量的字节
+.TP 
+\fB\-s\fP, \fB\-\-quiet\fP, \fB\-\-silent\fP
+禁止所有通常输出
+.TP 
+\fB\-\-help\fP
+显示此帮助信息并退出
+.TP 
+\fB\-v\fP, \fB\-\-version\fP
+显示版本信息并退出
+.PP
+跳过 的值后面可以附上以下的单位后缀:kB 1000、K 1,024、MB 1,000,000、M 1,048,576、GB
+1,000,000,000、G=107,073,741,824,还有 T、P、E、Z、Y,如此类推。
+.PP
+如果 文件 为 '\-' 或缺失,则从标准输入读取。如果输入相同则退出状态为 0,不同为 1,出错为 2。
+.SH 作者
+由 Torbjorn Granlund 和 David MacKenzie 编写。
+.SH 报告错误
+请将程序缺陷报告至:bug\[email protected]
+.br
+GNU diffutils 主页:<https://www.gnu.org/software/diffutils/>
+.br
+GNU 软件的通用帮助:<https://www.gnu.org/gethelp/>
+.SH 版权
+版权所有 \(co 2025 自由软件基金会。许可证 GPLv3+:GNU GPL 第 3 版或更新版本
+<https://gnu.org/licenses/gpl.html>。
+.br
+这是自由软件:您可以自由地更改并对其重新发布。在法律所允许的范围内不含任何担保。
+.SH 亦见
+\fBdiff\fP(1), \fBdiff3\fP(1), \fBsdiff\fP(1)
+.PP
+\fBcmp\fP 的完整文档以 Texinfo 手册形式维护。如果你的系统上正确安装了 \fBinfo\fP 和 \fBcmp\fP 程序,命令
+.IP
+\fBinfo cmp\fP
+.PP
+应该可以让你访问完整的手册。
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/manpages-zh-1.6.4.3/src/man1/diff3.1 
new/manpages-zh-1.6.4.5/src/man1/diff3.1
--- old/manpages-zh-1.6.4.3/src/man1/diff3.1    1970-01-01 01:00:00.000000000 
+0100
+++ new/manpages-zh-1.6.4.5/src/man1/diff3.1    2026-07-31 17:58:28.000000000 
+0200
@@ -0,0 +1,89 @@
+.\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.48.5.
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.TH DIFF3 1 2025年四月 "diffutils 3.12" 用户命令
+.SH 名称
+diff3 \- 逐行比较三个文件
+.SH 概述
+\fBdiff3\fP [\fI\,选项\/\fP]... \fI\,我的文件 旧文件 你的文件\/\fP
+.SH 描述
+逐行比较三个文件。
+.PP
+必选参数对长短选项同时适用。
+.TP 
+\fB\-A\fP, \fB\-\-show\-all\fP
+输出所有更改,用方括号标注冲突
+.TP 
+\fB\-e\fP, \fB\-\-ed\fP
+输出 ed 脚本,将从 旧文件 到 你的文件 的更改合并到 我的文件
+.TP 
+\fB\-E\fP, \fB\-\-show\-overlap\fP
+类似于 \fB\-e\fP,但用方括号标注冲突
+.TP 
+\fB\-3\fP, \fB\-\-easy\-only\fP
+类似于 \fB\-e\fP,但仅合并不重叠的更改
+.TP 
+\fB\-x\fP, \fB\-\-overlap\-only\fP
+类似于 \fB\-e\fP,但仅合并重叠的更改
+.TP 
+\fB\-X\fP
+类似于 \fB\-x\fP,但用方括号标注冲突
+.TP 
+\fB\-i\fP
+将 'w' 和 'q' 命令追加到 ed 脚本
+.TP 
+\fB\-m\fP, \fB\-\-merge\fP
+输出实际合并后的文件,如果没有给出其他选项则按 \fB\-A\fP 进行
+.TP 
+\fB\-a\fP, \fB\-\-text\fP
+将所有文件视为文本
+.TP 
+\fB\-\-strip\-trailing\-cr\fP
+去除输入行尾的回车符
+.TP 
+\fB\-T\fP, \fB\-\-initial\-tab\fP
+通过在行首添加制表符来对齐制表符
+.TP 
+\fB\-\-diff\-program\fP=\fI\,程序\/\fP
+使用指定程序来比较文件
+.TP 
+\fB\-L\fP, \fB\-\-label\fP=\fI\,标签\/\fP
+使用给定标签代替文件名(最多可重复三次)
+.TP 
+\fB\-\-help\fP
+显示此帮助信息并退出
+.TP 
+\fB\-v\fP, \fB\-\-version\fP
+显示版本信息并退出
+.PP
+默认输出格式是较为易读的文件修改表示。
+.PP
+\fB\-e\fP, \fB\-e\fP, \fB\-x\fP, \fB\-X\fP(及相应的长选项)会导致输出 ed 脚本而非默认格式。
+.PP
+最后,\fB\-m\fP(\fB\-\-merge\fP)选项会使 diff3 在内部执行合并并输出实际合并后的文件。对于不寻常的输入,这比使用 ed 
更加可靠。
+.PP
+如果 文件 为 '\-' 或缺失,则从标准输入读取。如果成功则退出状态为 0,有冲突为 1,出错为 2。
+.SH 作者
+由 Randy Smith 编写。
+.SH 报告错误
+请将程序缺陷报告至:bug\[email protected]
+.br
+GNU diffutils 主页:<https://www.gnu.org/software/diffutils/>
+.br
+GNU 软件的通用帮助:<https://www.gnu.org/gethelp/>
+.SH 版权
+版权所有 \(co 2025 自由软件基金会。许可证 GPLv3+:GNU GPL 第 3 版或更新版本
+<https://gnu.org/licenses/gpl.html>。
+.br
+这是自由软件:您可以自由地更改并对其重新发布。在法律所允许的范围内不含任何担保。
+.SH 亦见
+\fBcmp\fP(1), \fBdiff\fP(1), \fBsdiff\fP(1)
+.PP
+\fBdiff3\fP 的完整文档以 Texinfo 手册形式维护。如果你的系统上正确安装了 \fBinfo\fP 和 \fBdiff3\fP 程序,命令
+.IP
+\fBinfo diff3\fP
+.PP
+应该可以让你访问完整的手册。
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/manpages-zh-1.6.4.3/src/man1/join.1 
new/manpages-zh-1.6.4.5/src/man1/join.1
--- old/manpages-zh-1.6.4.3/src/man1/join.1     1970-01-01 01:00:00.000000000 
+0100
+++ new/manpages-zh-1.6.4.5/src/man1/join.1     2026-07-31 17:58:28.000000000 
+0200
@@ -0,0 +1,93 @@
+.\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.50.1.
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.TH JOIN 1 2026年四月 "GNU coreutils 9.11" 用户命令
+.SH 名称
+join \- 根据公共字段连接两个文件的行
+.SH 概述
+\fBjoin\fP [\fI\,选项\/\fP]... \fI\,文件1 文件2\/\fP
+.SH 描述
+.\" Add any additional description here
+.PP
+对具有相同的合并域的每一对输入行,在标准输出写出一行信息。默认的合并域是第一列的内容,使用空白字符分隔。
+.PP
+当 文件1 或 文件2 为 \- 时(不能两者同时为 \-),从标准输入读取。
+.TP 
+\X'tty: link 
https://www.gnu.org/software/coreutils/manual/coreutils.html#join\-a'\fB\-a 
文件编号\fP\X'tty: link'
+同时打印文件编号所对应文件的无法配对的行,其中文件编号可以是 1 或者 2,分别对应于 文件1 或 文件2
+.TP 
+\X'tty: link 
https://www.gnu.org/software/coreutils/manual/coreutils.html#join\-e'\fB\-e 
字符串\fP\X'tty: link'
+用给定字符串替换缺失的(空)输入字段;即,由 '\-12jo' 选项指定的缺失字段
+.TP 
+\X'tty: link 
https://www.gnu.org/software/coreutils/manual/coreutils.html#join\-i'\fB\-i, 
\-\-ignore\-case\fP\X'tty: link'
+比较各个域时忽略大小写差异
+.TP 
+\X'tty: link 
https://www.gnu.org/software/coreutils/manual/coreutils.html#join\-j'\fB\-j 
字段\fP\X'tty: link'
+等效于 "\-1 字段 \fB\-2\fP 字段"
+.TP 
+\X'tty: link 
https://www.gnu.org/software/coreutils/manual/coreutils.html#join\-o'\fB\-o 
格式\fP\X'tty: link'
+按照指定格式构造输出行
+.TP 
+\X'tty: link 
https://www.gnu.org/software/coreutils/manual/coreutils.html#join\-t'\fB\-t 
字符\fP\X'tty: link'
+使用指定字符作为输入和输出字段的分隔符
+.TP 
+\X'tty: link 
https://www.gnu.org/software/coreutils/manual/coreutils.html#join\-v'\fB\-v 
文件编号\fP\X'tty: link'
+类似 \fB\-a\fP 文件编号,但不输出已连接的行
+.TP 
+\X'tty: link 
https://www.gnu.org/software/coreutils/manual/coreutils.html#join\-1'\fB\-1 
字段\fP\X'tty: link'
+根据 文件1 的该字段进行连接
+.TP 
+\X'tty: link 
https://www.gnu.org/software/coreutils/manual/coreutils.html#join\-2'\fB\-2 
字段\fP\X'tty: link'
+根据 文件2 的该字段进行连接
+.TP 
+\X'tty: link 
https://www.gnu.org/software/coreutils/manual/coreutils.html#join\-\-check\-order'\fB\-\-check\-order\fP\X'tty:
 link'
+检查输入是否正确排序,即便所有输出行均可配对
+.TP 
+\X'tty: link 
https://www.gnu.org/software/coreutils/manual/coreutils.html#join\-\-nocheck\-order'\fB\-\-nocheck\-order\fP\X'tty:
 link'
+不要检查输入是否正确排序
+.TP 
+\X'tty: link 
https://www.gnu.org/software/coreutils/manual/coreutils.html#join\-\-header'\fB\-\-header\fP\X'tty:
 link'
+将每个文件的第一行视为字段标题,将其打印出来且不尝试进行配对
+.TP 
+\X'tty: link 
https://www.gnu.org/software/coreutils/manual/coreutils.html#join\-z'\fB\-z, 
\-\-zero\-terminated\fP\X'tty: link'
+以 NUL 作为行的分隔符,而非换行符
+.TP 
+\X'tty: link 
https://www.gnu.org/software/coreutils/join#join\-\-help'\fB\-\-help\fP\X'tty: 
link'
+显示此帮助信息并退出
+.TP 
+\X'tty: link 
https://www.gnu.org/software/coreutils/join#join\-\-version'\fB\-\-version\fP\X'tty:
 link'
+显示版本信息并退出
+.PP
+除非给出了 \fB\-t\fP 字符,前导空白字符将被用于分隔字段并被忽略;否则给定的字符将被用来分隔字段。任何给定的字段应为从 1
+开始计数的字段编号。给定的格式应为一个或多个以逗号或空白字符分隔的规范字串,其中每个字串格式为“文件编号.字段”或者“0”。默认的格式将输出被连接的字段、来自
+文件1 的剩余字段以及来自 文件2
+的剩余字段;它们都由给定分隔用字符所分隔。如果给定格式字串为“auto”关键字,那么每个文件的第一行决定每行输出的字段数量。
+.PP
+重要提示:文件1 和 文件2 必须按照连接字段排序。例如,如果 'join' 没有选项,则使用 "sort \fB\-k\fP 1b,1";或者如果
+\&'sort' 没有选项则使用 "join \fB\-t\fP
+\(aq\(aq"。比较遵循“LC_COLLATE”指定的规则。如果输入未排序且某些行无法连接,程序将会给出警告信息。
+.SH 作者
+由 Mike Haertel 编写。
+.SH 报告错误
+请报告问题至:bug\[email protected]
+.br
+GNU coreutils 主页: <https://www.gnu.org/software/coreutils/>
+.br
+使用 GNU 软件的通用帮助: <https://www.gnu.org/gethelp/>
+.br
+请向 <https://translationproject.org/team/zh_CN.html> 报告翻译错误
+.SH 版权
+版权所有 \(co 2026 自由软件基金会。许可证 GPLv3+: GNU GPL 第 3 版或更新版本
+<https://gnu.org/licenses/gpl.html>。
+.br
+本软件是自由软件:您可以自由修改和重新发布它。在法律允许的范围内,不提供任何保证。
+.SH 参见
+\fBcomm\fP(1), \fBuniq\fP(1)
+.PP
+.br
+完整文档请见: <https://www.gnu.org/software/coreutils/join>
+.br
+或者在本地使用: info \(aq(coreutils) join invocation\(aq
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/manpages-zh-1.6.4.3/src/man1/kill.1 
new/manpages-zh-1.6.4.5/src/man1/kill.1
--- old/manpages-zh-1.6.4.3/src/man1/kill.1     2025-06-27 19:34:09.000000000 
+0200
+++ new/manpages-zh-1.6.4.5/src/man1/kill.1     2026-07-31 17:58:28.000000000 
+0200
@@ -1,70 +1,96 @@
-'\" t
-.\" (The preceding line is a note to broken versions of man to tell
-.\" them to pre-process this man page with tbl)
-.\" Man page for kill.
-.\" Licensed under version 2 of the GNU General Public License.
-.\" Written by Albert Cahalan; converted to a man page by
-.\" Michael K. Johnson
+.\"
+.\" Copyright (c) 2002-2024 Craig Small <[email protected]>
+.\" Copyright (c) 2011-2023 Jim Warner <[email protected]>
+.\" Copyright (c) 2011-2012 Sami Kerola <[email protected]>
+.\" Copyright (c) 1998-2003 Albert Cahalan
+.\"
+.\" This program is free software; you can redistribute it and/or modify
+.\" it under the terms of the GNU General Public License as published by
+.\" the Free Software Foundation; either version 2 of the License, or
+.\" (at your option) any later version.
+.\"
 .\"*******************************************************************
 .\"
 .\" This file was generated with po4a. Translate the source file.
 .\"
 .\"*******************************************************************
-.TH KILL 1 "2011 年 10 月" procps\-ng 用户命令
+.TH KILL 1 2023\-12\-27 procps\-ng 
 .SH 名称
-kill \- 终止进程
+kill \- 向一个或多个进程发送一个信号
 .SH 概述
-\fBkill\fP [选项] <pid> [...]
+\fBkill\fP [\fB\-q\ \fP\fI值\fP|\fB\-\-queue\fP\fI\ 值\fP] \fIpid\fP .\|.\|.
+.P
+\fBkill\fP \fB\-\fP\fI信号\fP [\fB\-q\ \fP\fI值\fP|\fB\-\-queue\fP\fI\ 值\fP] 
\fIpid或pgid\fP .\|.\|.
+.br
+\fBkill\fP \fB\-s\fP\fI\ 信号\fP [\fB\-q\ \fP\fI值\fP|\fB\-\-queue\fP\fI\ 值\fP] 
\fIpid或pgid\fP .\|.\|.
+.br
+\fBkill\fP \fB\-\-signal\fP\fI\ 信号\fP [\fB\-q\ \fP\fI值\fP|\fB\-\-queue\fP\fI\ 
值\fP] \fIpid或pgid\fP
+\&.\|.\|.
+.P
+\fBkill \-l\fP\ [\fI信号\fP]
+.br
+\fBkill \-\-list\fP\ [\fI信号\fP]
+.P
+\fBkill \-L\fP
+.br
+\fBkill \-\-table\fP
 .SH 描述
-默认的终止信号是 TERM。 使用 \fB\-l\fP 或 \fB\-L\fP 列出可用的信号。常用的信号包括 HUP,INT,KILL,STOP,CONT 
和
-0。可以用三种方式指定备用信号:\fB\-9\fP,\fB\-SIGKILL\fP 或 \fB\-KILL\fP。负数 PID 
值可用于选择整个进程组。请参阅 ps 命令输出的
-PGID 列。\fB\-1\fP 是特殊的 PID;它表示除 kill 进程本身和 init 之外的所有进程。
+\fBkill\fP 根据 \fIpid\fP(进程标识符)或 \fIpgid\fP(进程组标识符)发送信号给一个或多个进程。\fBsignal\fP(7)
+解释了各种信号的行为。\fBkill\fP 的默认信号是 TERM。使用 \fB\-l\fP 或 \fB\-L\fP 选项列出可用的信号。特别有用的信号包括
+HUP、INT、KILL、STOP、CONT 和 0。可以使用编号、名称或含有 "SIG" 
前缀的名称指定信号;例如,\fB\-9\fP、\fB\-SIGKILL\fP
+和 \fB\-KILL\fP 等价。负的操作数选择整个进程组;请参阅 \fBps\fP(1) 命令输出中的 PGID 列。\fIpid\fP 
\fB\-1\fP 是特殊的;它表示除
+\fBkill\fP 进程本身和 \fBinit\fP(8) 之外的所有进程。
+.P
+\fB\-q\fP 选项使用了另外一种信号发送方法,可以传递一个整数 \fI值\fP 给接收信号的进程。如果该进程安装了该信号的处理程序,且调用
+\fBsigaction\fP(2) 时指定了 SA_SIGINFO 标志,那么它可以通过 \fI\%siginfo_t\fP 结构的 
\fI\%si_value\fP
+字段获取该数据。
 .SH 选项
 .TP 
-\fB<pid> [...]\fP
-向给定的每个 <pid> 发送信号
-.TP 
-\fB\-<signal>\fP
+\fB\-\fP\fI信号\fP
 .TQ
-\fB\-s <信号>\fP
+\fB\-s\fP\fI\ 信号\fP
 .TQ
-\fB\-\-signal <信号>\fP
-指定要发送的 \fB信号\fP。信号可以使用信号名或数字给出。信号的行为在 \fBsignal\fP(7) 手册页中进行了说明。
+\fB\-\-signal\fP\fI\ 信号\fP
+根据名称或编号发送信号,像上面描述的那样。如果 \fI信号\fP 是 0(零),\fBkill\fP 
不发送信号,但仍然验证它的操作数;这一行为允许调用者检查指定的
+\fIpid\fP 和/或 \fIpgid\fP 是否存在,以及它是否有权限向它们发送信号。
 .TP 
-\fB\-l\fP, \fB\-\-list\fP [\fI信号\fP]
-列出可用的信号的名称。此选项具有可选参数,该参数将信号编号 (数字) 转换为信号名称,反之亦然。
+\fB\-q\fP\fI\ 值\fP
+.TQ
+\fB\-\-queue\fP\fI\ 值\fP
+使用 \fBsigqueue\fP(3) 而不是 \fBkill\fP(2) 以向每个 \fIpid\fP 或 \fIpgid\fP 额外发送一个 
\fI值\fP。
 .TP 
-\fB\-L\fP,\fB\ \-\-table\fP
-在表格中列出信号名称。
+\fB\-l\fP\ [\fI信号\fP]
+.TQ
+\fB\-\-list\fP\ [\fI信号\fP]
+不带参数时,列出信号名称。带了可选的参数时,\fBkill\fP 视情况将指定的 \fI信号\fP 的名称转换成编号,或将编号转换成名称,并返回转换的结果。
 .TP 
-.PD
-.SH 注意
-您的 Shell 程序(命令行解释器)可能具有内置的 kill 命令。您可能需要运行 /bin/kill 的命令来避免“冲突”。
+\fB\-L\fP
+.TQ
+\fB\-\-table\fP
+以表格形式列出信号名称。
+.SH 备注
+系统的 shell(命令行解释器)常常有一个内置的 "kill" 命令。您可能需要使用 \fI/bin/\:kill\fP 来运行此处描述的命令,以覆盖
+shell 的内置命令。
+.PP
+如果您想使用负的操作数,请先用名称或编号指定信号,这样 \fBkill\fP 才能将它和进程组区别开来。例如,命令 "\fBkill 123 \-9\fP"
+有歧义;它的意思可以是向进程 123 发送信号 9,也可以是向进程 123 和进程组 9 发送默认信号。
 .SH 示例
 .TP 
-\fBkill \-9 \-1\fP
-杀死所有可以杀死的进程。
+\fBkill \-HUP \-1\fP
+将挂断信号发送给所有可以发送的进程。
 .TP 
 \fBkill \-l 11\fP
-显示信号编号 11 所代表的信号名称。
+返回和信号编号 11 对应的信号名称。
 .TP 
-\fBkill \-L\fP
-在表格中列出所有可用的信号。
+\fBkill 123 543\fP
+将默认的信号,SIGTERM,发送给进程 123 和 543。
 .TP 
-\fBkill 123 543 2341 3453\fP
-为这些进程发送默认信号 SIGTERM。
-.SH 参考
+\fBkill \-SIGTERM \-123\fP
+将信号 SIGTERM 发送给进程组 123。
+.SH 参见
 \fBkill\fP(2), \fBkillall\fP(1), \fBnice\fP(1), \fBpkill\fP(1), 
\fBrenice\fP(1),
-\fBsignal\fP(7), \fBskill\fP(1)
-.SH 标准
-该命令符合适当的标准。\fB\-L\fP 是 Linux 特有的。
-.SH 作者
-.UR [email protected]
-Albert Cahalan
-.UE
-在 1999 年写了一个 kill
-程序来替换不符合标准的 bsdutils。util\-linux 也实现了一个可以工作的版本。
+\fBsignal\fP(7), \fBsigqueue\fP(3), \fBskill\fP(1)
 .SH 报告错误
-如果你想报告错误,请发送邮件到
-.UR [email protected]
-.UE
+请将错误报告发送到
+.MT [email protected]
+.ME 。
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/manpages-zh-1.6.4.3/src/man1/zstd.1 
new/manpages-zh-1.6.4.5/src/man1/zstd.1
--- old/manpages-zh-1.6.4.3/src/man1/zstd.1     1970-01-01 01:00:00.000000000 
+0100
+++ new/manpages-zh-1.6.4.5/src/man1/zstd.1     2026-07-31 17:58:28.000000000 
+0200
@@ -0,0 +1,671 @@
+.
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.TH ZSTD 1 2025年二月 "zstd 1.5.7" 用户命令
+.
+.SH 名称
+\fBzstd\fP \- zstd, zstdmt, unzstd, zstdcat \- 压缩或解压缩 .zst 文件
+.
+.SH 概述
+\fBzstd\fP [\fI选项\fP] [\-|\fI输入文件\fP] [\-o \fI输出文件\fP]
+.
+.P
+\fBzstdmt\fP 等效于 \fBzstd \-T0\fP
+.
+.P
+\fBunzstd\fP 等效于 \fBzstd \-d\fP
+.
+.P
+\fBzstdcat\fP 等效于 \fBzstd \-dcf\fP
+.
+.SH 描述
+\fBzstd\fP 是一个快速的无损压缩算法和数据压缩工具,其命令行语法与 \fBgzip\fP(1) 和 \fBxz\fP(1) 类似。它基于 
\fBLZ77\fP
+系列算法,并额外采用了 FSE 和 huff0 熵编码阶段。\fBzstd\fP 提供高度可配置的压缩速度,从每个核心 > 200 MB/s
+的快速模式,到具有出色压缩率的强力模式。它还具有非常快的解码器,每个核心的速度 > 500 MB/s,并且在所有压缩设置下都大致保持稳定。
+.
+.P
+\fBzstd\fP 的命令行语法总体上与 gzip 类似,但存在以下几处差异:
+.
+.IP \(bu 4
+默认情况下会保留源文件。可以使用 \fB\-\-rm\fP 命令自动删除它们。
+.
+.IP \(bu 4
+在压缩单个文件时,\fBzstd\fP 默认会显示进度通知和结果摘要。使用 \fB\-q\fP 可将其关闭。
+.
+.IP \(bu 4
+当命令行有误时,\fBzstd\fP 会显示一个简短的帮助页面。使用 \fB\-q\fP 可将其关闭。
+.
+.IP \(bu 4
+\fBzstd\fP 不接受来自控制台的输入,但当 \fBstdin\fP 不是控制台时,它会接受来自 \fBstdin\fP 的输入。
+.
+.IP \(bu 4
+\fBzstd\fP 不会保存输入的文件名或属性,只保存其内容。
+.
+.IP "" 0
+.
+.P
+\fBzstd\fP 会根据所选的操作模式处理每个 \fIfile\fP。如果没有给出 \fIfiles\fP,或者 \fIfile\fP 为 
\fB\-\fP,则 \fBzstd\fP
+从标准输入读取,并将处理后的数据写入标准输出。如果标准输出是终端,\fBzstd\fP
+将拒绝向其写入压缩数据:它会显示一条错误消息并跳过该文件。类似地,如果标准输入是终端,\fBzstd\fP 也将拒绝从中读取压缩数据。
+.
+.P
+除非指定了 \fB\-\-stdout\fP 或 \fB\-o\fP,否则 \fIfiles\fP 会被写入一个新文件,其名称由源 \fIfile\fP 
名称派生而来:
+.
+.IP \(bu 4
+压缩时,会在源文件名后附加 \fB.zst\fP 后缀以得到目标文件名。
+.
+.IP \(bu 4
+解压缩时,会从源文件名中移除 \fB.zst\fP 后缀以得到目标文件名
+.
+.IP "" 0
+.
+.SS "拼接 .zst 文件"
+可以将多个 \fB.zst\fP 文件拼接在一起。\fBzstd\fP 会将这样拼接而成的文件当作单个 \fB.zst\fP 文件进行解压缩。
+.
+.SH 选项
+.
+.SS 整数后缀与特殊值
+在大多数需要整数参数的地方,都支持使用可选的后缀来方便地表示较大的整数。整数与后缀之间不能有空格。
+.
+.TP
+\fBKiB\fP
+将整数乘以 1,024(2^10)。\fBKi\fP、\fBK\fP 和 \fBKB\fP 都可作为 \fBKiB\fP 的同义词。
+.
+.TP
+\fBMiB\fP
+将整数乘以 1,048,576(2^20)。\fBMi\fP、\fBM\fP 和 \fBMB\fP 都可作为 \fBMiB\fP 的同义词。
+.
+.SS 操作模式
+如果给出了多个操作模式选项,则以最后一个为准。
+.
+.TP
+\fB\-z\fP, \fB\-\-compress\fP
+压缩。当未指定操作模式选项,且命令名称也未隐含其他操作模式时(例如 \fBunzstd\fP 隐含 
\fB\-\-decompress\fP),这是默认的操作模式。
+.
+.TP
+\fB\-d\fP, \fB\-\-decompress\fP, \fB\-\-uncompress\fP
+解压缩。
+.
+.TP
+\fB\-t\fP, \fB\-\-test\fP
+测试压缩 \fIfiles\fP 的完整性。此选项等效于 \fB\-\-decompress \-\-stdout > 
/dev/null\fP,解压缩后的数据会被丢弃,并进行校验和计算以检查错误。不会创建或删除任何文件。
+.
+.TP
+\fB\-b#\fP
+使用压缩级别 \fI#\fP 对文件进行基准测试。有关此操作的说明,请参见下方的 \fIBENCHMARK\fP(基准测试)一节。
+.
+.TP
+\fB\-\-train FILES\fP
+使用 \fIFILES\fP 作为训练集来创建字典。训练集应包含大量小文件(> 100 个)。有关此操作的说明,请参见下方的 \fIDICTIONARY 
BUILDER\fP(字典构建器)一节。
+.
+.TP
+\fB\-l\fP, \fB\-\-list\fP
+显示与 zstd 压缩文件相关的信息,例如大小、压缩率和校验和。其中某些字段可能不可用。此命令的输出可以通过 \fB\-v\fP 修饰符加以扩充。
+.
+.SS 操作修饰符
+.
+.IP \(bu 4
+\fB\-#\fP:选择 \fB#\fP 压缩级别 [1\-19](默认值:3)。更高的压缩级别 \fI通常\fP
+会以速度和内存为代价换取更高的压缩率。一条粗略的经验法则是,压缩级别每提高 2
+级,压缩速度预计会减半。从技术上讲,每个级别都会映射到一组高级参数(这些参数也可以单独修改,参见下文)。由于压缩器的行为在很大程度上取决于要压缩的内容,因此无法保证从一个级别到另一个级别是平滑过渡的。
+.
+.IP \(bu 4
+\fB\-\-ultra\fP:解锁 20 以上(最高 22)的高压缩级别,这会使用多得多的内存。请注意,使用这些级别时,解压缩也将需要更多内存。
+.
+.IP \(bu 4
+\fB\-\-fast[=#]\fP:切换到超快压缩级别。如果没有给出 \fB=#\fP,则默认为
+\fB1\fP。数值越大,压缩速度越快,但会牺牲一定的压缩率。如果先前设置过压缩级别,此设置会将其覆盖。类似地,如果在 \fB\-\-fast\fP
+之后设置了压缩级别,则会覆盖此设置。
+.
+.IP \(bu 4
+\fB\-T#\fP, \fB\-\-threads=#\fP:使用 \fB#\fP 个工作线程进行压缩(默认值:根据物理 CPU 核心数在 1 到 4 
之间;参见下方的
+\fBZSTD_NBTHREADS\fP)。如果 \fB#\fP 为 0,则尝试检测并使用物理 CPU 核心的数量。在所有情况下,线程数都会被限制在
+\fBZSTDMT_NBWORKERS_MAX\fP 以内,该值在 32 位模式下为 64,在 64 位环境下为 256。如果编译 \fBzstd\fP
+时未启用多线程支持,则此修饰符不起作用。
+.
+.IP \(bu 4
+\fB\-\-single\-thread\fP:使用单个线程同时处理 I/O 和压缩。由于压缩与 I/O
+是串行进行的,这可能会稍慢一些。单线程模式的内存占用显著更低,这对于内存有限的系统(例如 32 位系统)可能很有用。
+.
+.IP
+注 1:当禁用多线程支持时,这是唯一可用的模式。
+.
+.IP
+注 2:此模式不同于 \fB\-T1\fP,后者会派生 1 个与 I/O 并行的压缩线程。最终的压缩结果也与 \fB\-T1\fP 略有不同。
+.
+.IP \(bu 4
+\fB\-\-auto\-threads={physical,logical} (default: physical)\fP:当通过 \fB\-T0\fP
+使用默认线程数时,根据检测到的物理或逻辑核心数量来选择默认值。
+.
+.IP \(bu 4
+\fB\-\-adapt[=min=#,max=#]\fP:\fBzstd\fP 会根据感知到的 I/O 状况动态调整压缩级别。可以使用 \fB\-v\fP
+命令实时观察压缩级别的自适应过程。自适应可以被约束在所提供的 \fBmin\fP 和 \fBmax\fP 级别之间。该特性在与多线程以及 
\fB\-\-long\fP
+模式结合使用时有效。它不适用于 \fB\-\-single\-thread\fP。它默认将窗口大小设置为 8 MiB(可手动更改,参见
+\fBwlog\fP)。由于动态自适应具有混沌特性,压缩结果不可复现。
+.
+.IP
+\fI注\fP:在撰写本文时,\fB\-\-adapt\fP 与多个工作线程(>=2)结合使用时,可能会一直停留在低速状态。
+.
+.IP \(bu 4
+\fB\-\-long[=#]\fP:启用长距离匹配,其 \fBwindowLog\fP 为 \fB#\fP;如果没有给出 \fB#\fP,则默认为
+\fB27\fP。这会增大窗口大小(\fBwindowLog\fP)以及压缩器和解压缩器的内存占用。此设置旨在提高那些在较大距离上存在长匹配的文件的压缩率。
+.
+.IP
+注意:如果 \fBwindowLog\fP 设置为大于 27,则需要向解压缩器传递 \fB\-\-long=windowLog\fP 或
+\fB\-\-memory=windowSize\fP。
+.
+.IP \(bu 4
+\fB\-\-max\fP:将高级参数设置为最大压缩。警告:此设置非常慢,并且会占用大量资源。它不适用于 32 位模式,因此在该模式下被禁用。
+.
+.IP \(bu 4
+\fB\-D DICT\fP:使用 \fBDICT\fP 作为字典来压缩或解压缩文件
+.
+.IP \(bu 4
+\fB\-\-patch\-from FILE\fP:指定要用作 zstd 差分引擎参考点的文件。这实际上就是字典压缩,只是采用了一些方便的参数选择,即
+\fIwindowSize\fP > \fIsrcSize\fP。
+.
+.IP
+注意:不能同时使用此选项和 \fB\-D\fP。
+.
+.IP
+注意:如果 \fIchainLog\fP < \fIfileLog\fP(\fIfileLog\fP 即覆盖整个文件所需的
+\fIwindowLog\fP),则会自动激活 \fB\-\-long\fP 模式。你也可以手动强制启用它。
+.
+.IP
+注意:在不超过 15 级的情况下,你可以在 \fB\-\-single\-thread\fP 模式下使用
+\fB\-\-patch\-from\fP,以速度为代价略微提高压缩率。在 15 级以上使用 “\-\-single\-thread” 会导致更低的压缩率。
+.
+.IP
+注意:对于 19 级,你可以通过将 \fB\-\-zstd=targetLength=\fP 指定为较大的值(例如 4096),并设置较大的
+\fB\-\-zstd=chainLog=\fP,以速度为代价来提高压缩率。
+.
+.IP \(bu 4
+\fB\-\-rsyncable\fP:\fBzstd\fP 会定期同步压缩状态,以使压缩文件对 rsync
+更友好。这对压缩率的影响可以忽略不计,但可能会影响压缩速度,在较高速度下会较为明显,例如当 \fB\-\-rsyncable\fP
+与许多并行工作线程结合使用时。此特性不适用于
+\fB\-\-single\-thread\fP。你或许不会想在长距离模式下使用它,因为这会降低同步点的效果,不过实际情况可能因人而异。
+.
+.IP \(bu 4
+\fB\-C\fP, \fB\-\-[no\-]check\fP:添加根据未压缩数据计算得出的完整性校验(默认值:启用)
+.
+.IP \(bu 4
+\fB\-\-[no\-]content\-size\fP:启用/禁用是否将文件的原始大小放入压缩文件的头部。默认选项为
+\fB\-\-content\-size\fP(意味着原始大小将被放入头部)。
+.
+.IP \(bu 4
+\fB\-\-no\-dictID\fP:不在帧头部中存储字典 ID(字典压缩)。解码器将不得不依赖关于使用哪个字典的隐式知识,而无法检查其是否正确。
+.
+.IP \(bu 4
+\fB\-M#\fP, \fB\-\-memory=#\fP:设置内存使用上限。默认情况下,\fBzstd\fP 将 128 MiB
+作为解压缩器允许使用的最大内存量,但如有需要,你可以手动在任一方向上覆盖此值(即可以增大或减小它)。
+.
+.IP
+在与 \fB\-\-patch\-from=\fP 一起使用进行压缩时,也会用到此值。在这种情况下,此参数会覆盖字典所允许的最大大小(128 MiB)。
+.
+.IP
+此外,这还可用于限制字典训练所用的内存。此参数会覆盖默认的 2 GiB 限制。zstd 将加载训练样本直到达到内存上限,并忽略其余部分。
+.
+.IP \(bu 4
+\fB\-\-stream\-size=#\fP:设置来自流的输入所承诺的源大小。此值必须精确,因为它将被包含在生成的帧头部中。不正确的流大小会导致错误。此信息将用于更好地优化压缩参数,从而带来更好且可能更快的压缩,尤其是对于较小的源大小。
+.
+.IP \(bu 4
+\fB\-\-size\-hint=#\fP:在处理来自流的输入时,\fBzstd\fP
+在优化压缩参数时必须猜测源大小会有多大。如果流的大小相对较小,这一猜测可能不准确,从而导致压缩率高于预期。此特性允许在需要时控制该猜测值。精确的猜测会带来更好的压缩率。高估会导致压缩率略有下降,而低估则可能导致显著下降。
+.
+.IP \(bu 4
+\fB\-\-target\-compressed\-block\-size=#\fP:尝试生成大约为此大小的压缩块。为了接近此目标,较大的块会被拆分。当接收方能够利用提前收到的不完整数据时,此特性对于改善延迟尤其有用。此参数定义的是一个宽松的目标:压缩块会以“平均”达到此大小为目标,但各个块仍可能更大或更小。启用此特性在
+1 级时最多可使压缩速度降低约 10%。级别越高,相对速度的下降越小,在更高的设置下则难以察觉。
+.
+.IP \(bu 4
+\fB\-f\fP, \fB\-\-force\fP:禁用输入和输出检查。允许覆盖现有文件、从控制台输入、输出到
+stdout、对链接和块设备等进行操作。在解压缩过程中且输出目标为 stdout 时,将无法识别的格式原样透传。
+.
+.IP \(bu 4
+\fB\-c\fP, \fB\-\-stdout\fP:写入标准输出(即使它是控制台);保留原始文件(禁用 \fB\-\-rm\fP)。
+.
+.IP \(bu 4
+\fB\-o FILE\fP:将结果保存到 \fBFILE\fP。请注意,此操作与 \fB\-c\fP 
冲突。如果命令行中同时出现这两个操作,则以最后给出的为准。
+.
+.IP \(bu 4
+\fB\-\-[no\-]sparse\fP:启用/禁用稀疏文件系统支持,以使含有大量零字节的文件在磁盘上占用更小的空间。创建稀疏文件可以节省磁盘空间,并通过减少磁盘
+I/O 量来加快解压缩。默认值:当输出到文件时启用,当输出为 stdout 时禁用。此设置会覆盖默认值,并可强制在 stdout 上使用稀疏模式。
+.
+.IP \(bu 4
+\fB\-\-[no\-]pass\-through\fP:启用/禁用将未压缩文件原样透传。在解压缩过程中启用透传时,无法识别的格式将从输入原样复制到输出。默认情况下,当输出目标为
+stdout 且设置了强制(\fB\-f\fP)选项时,会进行透传。
+.
+.IP \(bu 4
+\fB\-\-rm\fP:在压缩或解压缩成功后删除源文件。如果输出为 \fBstdout\fP,此命令会被静默忽略。如果与 \fB\-o\fP
+结合使用,由于这是一项破坏性操作,会触发确认提示(可用 \fB\-f\fP 使其静默)。
+.
+.IP \(bu 4
+\fB\-k\fP, \fB\-\-keep\fP:在压缩或解压缩成功后保留源文件。这是默认行为。
+.
+.IP \(bu 4
+\fB\-r\fP:对目录进行递归操作。它会选中指定目录及其所有子目录中的全部文件。当文件很多且文件名会超出命令行的最大长度时,这既有助于减少命令行输入,也可以规避
+shell 展开的限制。
+.
+.IP \(bu 4
+\fB\-\-filelist FILE\fP:从 \fBFILE\fP 中读取要处理的文件列表作为内容。其格式与 \fBls\fP 
的输出兼容,每行一个文件。
+.
+.IP \(bu 4
+\fB\-\-output\-dir\-flat DIR\fP:生成的文件会被存储到目标 \fBDIR\fP
+目录中,而不是与源文件相同的目录。请注意,如果来自不同目录的多个文件最终具有相同的名称,此命令可能会引入命名冲突问题。冲突解决机制会确保具有某一名称的第一个文件出现在
+\fBDIR\fP 中,而在与 \fB\-f\fP 结合使用时,则会改为保留最后一个文件。
+.
+.IP \(bu 4
+\fB\-\-output\-dir\-mirror DIR\fP:与 \fB\-\-output\-dir\-flat\fP 类似,输出文件会被存储在目标 
\fBDIR\fP
+目录之下,但此选项会将输入的目录层次结构复制到输出的 \fBDIR\fP 中。
+.
+.IP
+如果输入目录包含 “..”,则该目录中的文件将被忽略。如果输入目录是绝对目录(例如 “/var/tmp/abc”),它将被存储到
+“output\-dir/var/tmp/abc” 中。如果有多个输入文件或目录,命名冲突的解决将遵循与 
\fB\-\-output\-dir\-flat\fP
+相同的规则。
+.
+.IP \(bu 4
+\fB\-\-format=FORMAT\fP:以其他格式进行压缩和解压缩。如果编译时启用了相应支持,zstd
+可以压缩为其他压缩算法格式,或从中解压缩。可能可用的选项有 \fBzstd\fP、\fBgzip\fP、\fBxz\fP、\fBlzma\fP 和
+\fBlz4\fP。如果未提供此类格式,则默认为 \fBzstd\fP。
+.
+.IP \(bu 4
+\fB\-h\fP/\fB\-H\fP, \fB\-\-help\fP:显示帮助/详细帮助并退出
+.
+.IP \(bu 4
+\fB\-V\fP, \fB\-\-version\fP:显示版本号并立即退出。请注意,由于它会退出,在 \fB\-V\fP 
之后指定的标志实际上会被忽略。高级用法:\fB\-vV\fP
+还会显示所支持的格式。\fB\-vvV\fP 还会显示 POSIX 支持情况。\fB\-qV\fP 将只显示版本号,适合机器读取。
+.
+.IP \(bu 4
+\fB\-v\fP, \fB\-\-verbose\fP:详细模式,显示更多信息
+.
+.IP \(bu 4
+\fB\-q\fP, \fB\-\-quiet\fP:抑制警告、交互和通知。指定两次也会抑制错误。
+.
+.IP \(bu 4
+\fB\-\-no\-progress\fP:不显示进度条,但保留所有其他消息。
+.
+.IP \(bu 4
+\fB\-\-show\-default\-cparams\fP:根据所提供的压缩级别和输入大小,显示将用于某个特定输入文件的默认压缩参数。如果所提供的文件不是普通文件(例如管道),此标志将输出用于未知大小输入的参数。
+.
+.IP \(bu 4
+\fB\-\-exclude\-compressed\fP:仅压缩尚未被压缩的文件。
+.
+.IP \(bu 4
+\fB\-\-\fP:\fB\-\-\fP 之后的所有参数都被视为文件
+.
+.IP "" 0
+.
+.SS "gzip 操作修饰符"
+在经由 \fBgzip\fP 符号链接调用时,\fBzstd\fP 将支持以下额外的选项来模拟 \fBgzip\fP 的行为:
+.
+.TP
+\fB\-n\fP, \fB\-\-no\-name\fP
+压缩文件时不要保存原始文件名和时间戳。这是默认选项,因此不会改变程序行为。
+.
+.TP
+\fB\-\-best\fP
+是 \fB\-9\fP 选项的别名。
+.
+.SS 环境变量
+使用环境变量来设置参数会带来安全方面的影响。因此,这一途径被有意加以限制。目前仅支持 \fBZSTD_CLEVEL\fP 和
+\fBZSTD_NBTHREADS\fP。它们分别设置压缩时使用的默认压缩级别和线程数。
+.
+.P
+\fBZSTD_CLEVEL\fP 可用于设置 1 到 19 之间(即“正常”范围)的级别。如果 \fBZSTD_CLEVEL\fP
+的值不是有效的整数,它将被忽略并给出一条警告消息。\fBZSTD_CLEVEL\fP 只是替换默认的压缩级别(\fB3\fP)。
+.
+.P
+\fBZSTD_NBTHREADS\fP 可用于设置 \fBzstd\fP 在压缩时将尝试使用的线程数。如果 \fBZSTD_NBTHREADS\fP
+的值不是有效的无符号整数,它将被忽略并给出一条警告消息。\fBZSTD_NBTHREADS\fP 的默认值为 \fBmax(1, min(4, 
nbCores/4))\fP,且上限为 ZSTDMT_NBWORKERS_MAX==200。必须在编译 \fBzstd\fP
+时启用多线程支持,此变量才会产生任何效果。
+.
+.P
+这两者都可以被相应的命令行参数覆盖:\fB\-#\fP 用于压缩级别,\fB\-T#\fP 用于压缩线程数。
+.
+.SH 高级压缩选项
+\fBzstd\fP 提供 22 个预定义的常规压缩级别以及快速级别。在内部,压缩级别会被转换为多个控制压缩器行为的高级参数(可以用
+\fB\-\-show\-default\-cparams\fP 观察这一转换的结果)。这些高级参数可以使用高级压缩选项来覆盖。
+.
+.SS \-\-zstd[=options]:
+\fIoptions\fP 以逗号分隔的列表形式提供。你可以只指定想要更改的选项,其余的将取自所选的或默认的压缩级别。可用 \fIoptions\fP 
的列表如下:
+.
+.TP
+\fBstrategy\fP=\fIstrat\fP, \fBstrat\fP=\fIstrat\fP
+指定匹配查找器所使用的策略。
+.
+.IP
+共有 9 种策略,编号从 1 到 9,从最快到最强:1=\fBZSTD_fast\fP, 2=\fBZSTD_dfast\fP, 
3=\fBZSTD_greedy\fP,
+4=\fBZSTD_lazy\fP, 5=\fBZSTD_lazy2\fP, 6=\fBZSTD_btlazy2\fP, 
7=\fBZSTD_btopt\fP,
+8=\fBZSTD_btultra\fP, 9=\fBZSTD_btultra2\fP。
+.
+.TP
+\fBwindowLog\fP=\fIwlog\fP, \fBwlog\fP=\fIwlog\fP
+指定匹配距离的最大位数。
+.
+.IP
+该值越大,找到匹配的机会就越大,这通常会提高压缩率。它也会增加压缩器和解压缩器的内存需求。\fIwlog\fP 的最小值为 10(1 KiB),最大值在 32
+位平台上为 30(1 GiB),在 64 位平台上为 31(2 GiB)。
+.
+.IP
+注意:如果 \fBwindowLog\fP 设置为大于 27,则需要向解压缩器传递 \fB\-\-long=windowLog\fP 或
+\fB\-\-memory=windowSize\fP。
+.
+.TP
+\fBhashLog\fP=\fIhlog\fP, \fBhlog\fP=\fIhlog\fP
+指定哈希表的最大位数。
+.
+.IP
+更大的哈希表会减少冲突,这通常会使压缩更快,但在压缩过程中需要更多内存。
+.
+.IP
+\fIhlog\fP 的最小值为 6(64 个条目 / 256 B),最大值为 30(10 亿个条目 / 4 GiB)。
+.
+.TP
+\fBchainLog\fP=\fIclog\fP, \fBclog\fP=\fIclog\fP
+指定次级搜索结构的最大位数,其形式取决于所选的 \fBstrategy\fP。
+.
+.IP
+位数越多,找到匹配的机会就越大,这通常会提高压缩率。它也会降低压缩速度并增加压缩的内存需求。对于只有主哈希表的 \fBZSTD_fast\fP
+\fBstrategy\fP,此选项会被忽略。
+.
+.IP
+\fIclog\fP 的最小值为 6(64 个条目 / 256 B),最大值在 32 位平台上为 29(5.12 亿个条目 / 2 GiB),在 64
+位平台上为 30(10 亿个条目 / 4 GiB)。
+.
+.TP
+\fBsearchLog\fP=\fIslog\fP, \fBslog\fP=\fIslog\fP
+以对数刻度指定在哈希链或二叉树中的最大搜索次数。
+.
+.IP
+更多的搜索会增大找到匹配的机会,这通常会提高压缩率但会降低压缩速度。
+.
+.IP
+\fIslog\fP 的最小值为 1,最大值为 “windowLog” \- 1。
+.
+.TP
+\fBminMatch\fP=\fImml\fP, \fBmml\fP=\fImml\fP
+指定在哈希表中匹配的最小搜索长度。
+.
+.IP
+更大的搜索长度通常会降低压缩率,但会提高解压缩速度。
+.
+.IP
+\fImml\fP 的最小值为 3,最大值为 7。
+.
+.TP
+\fBtargetLength\fP=\fItlen\fP, \fBtlen\fP=\fItlen\fP
+此字段的影响因所选策略而异。
+.
+.IP
+对于 \fBZSTD_btopt\fP、\fBZSTD_btultra\fP 和 
\fBZSTD_btultra2\fP,它指定使匹配查找器停止搜索的最小匹配长度。更大的
+\fBtargetLength\fP 通常会提高压缩率但会降低压缩速度。
+.
+.IP
+对于 \fBZSTD_fast\fP,当其 > 0 时会触发超快模式。该值表示在匹配采样之间跳过的数据量。其影响是相反的:更大的
+\fBtargetLength\fP 会提高压缩速度但会降低压缩率。
+.
+.IP
+对于所有其他策略,此字段没有影响。
+.
+.IP
+\fItlen\fP 的最小值为 0,最大值为 128 KiB。
+.
+.TP
+\fBoverlapLog\fP=\fIovlog\fP, \fBovlog\fP=\fIovlog\fP
+确定 \fBoverlapSize\fP,即从上一个任务重新加载的数据量。此参数仅在启用多线程时可用。重新加载更多数据会提高压缩率,但会降低速度。
+.
+.IP
+\fIovlog\fP 的最小值为 0,最大值为 9。1 表示“无重叠”,因此任务之间完全独立。9 表示“完全重叠”,即从上一个任务最多重新加载
+\fBwindowSize\fP 大小的数据。将 \fIovlog\fP 减小 1 会使重新加载的数据量减少为原来的一半。例如,8
+表示“windowSize/2”,6 表示“windowSize/8”。值 0 比较特殊,表示“默认”:\fIovlog\fP 由 \fBzstd\fP
+自动确定。在这种情况下,\fIovlog\fP 的取值将在 6 到 9 之间,具体取决于所选的 \fIstrat\fP。
+.
+.TP
+\fBldmHashRateLog\fP=\fIlhrlog\fP, \fBlhrlog\fP=\fIlhrlog\fP
+指定向长距离匹配哈希表中插入条目的频率。
+.
+.IP
+除非启用了长距离匹配,否则此选项会被忽略。
+.
+.IP
+更大的值将提高压缩速度。与默认值偏离太远很可能会导致压缩率下降。
+.
+.IP
+默认值在 4 到 7 之间变化,具体取决于 \fBstrategy\fP。
+.
+.TP
+\fBldmHashLog\fP=\fIlhlog\fP, \fBlhlog\fP=\fIlhlog\fP
+指定用于长距离匹配的哈希表的最大大小。
+.
+.IP
+除非启用了长距离匹配,否则此选项会被忽略。
+.
+.IP
+更大的哈希表通常会提高压缩率,但代价是压缩过程中占用更多内存以及压缩速度下降。
+.
+.IP
+\fIlhlog\fP 的最小值为 6,最大值为 30(默认值:\fBwindowLog \- ldmHashRateLog\fP)。
+.
+.TP
+\fBldmMinMatch\fP=\fIlmml\fP, \fBlmml\fP=\fIlmml\fP
+指定长距离匹配中匹配的最小搜索长度。
+.
+.IP
+除非启用了长距离匹配,否则此选项会被忽略。
+.
+.IP
+过大或过小的值通常都会降低压缩率。
+.
+.IP
+\fIlmml\fP 的最小值为 4,最大值为 4096(默认值:32 到 64,具体取决于 \fBstrategy\fP)。
+.
+.TP
+\fBldmBucketSizeLog\fP=\fIlblog\fP, \fBlblog\fP=\fIlblog\fP
+指定用于长距离匹配的哈希表中每个桶的大小。
+.
+.IP
+除非启用了长距离匹配,否则此选项会被忽略。
+.
+.IP
+更大的桶大小会改善冲突解决,但会降低压缩速度。
+.
+.IP
+\fIlblog\fP 的最小值为 1,最大值为 8(默认值:4 到 8,具体取决于 \fBstrategy\fP)。
+.
+.SS 示例
+对于大于 256 KB 的文件,以下参数会将高级压缩选项设置为类似于预定义的 19 级:
+.
+.P
+\fB\-\-zstd\fP=wlog=23,clog=23,hlog=22,slog=6,mml=3,tlen=48,strat=6
+.
+.SS \-B#:
+指定每个压缩任务的大小。此参数仅在启用多线程时可用。每个压缩任务并行运行,因此此值会间接影响活动线程的数量。默认任务大小因压缩级别而异(通常为 \fB4 * 
windowSize\fP)。\fB\-B#\fP 使得手动选择自定义大小成为可能。请注意,任务大小必须满足一个透明强制执行的最小值。该最小值为 512 KB
+或 \fBoverlapSize\fP 中的较大者。不同的任务大小会导致不完全相同的压缩帧。
+.
+.SH 字典构建器
+\fBzstd\fP 提供 \fI字典\fP 压缩,这可以大大提高对小文件和消息的压缩效率。可以用一组样本来训练 
\fBzstd\fP,其结果会被保存到一个称为
+\fBdictionary\fP(字典)的文件中。然后,在压缩和解压缩时,使用 \fB\-D dictionaryFileName\fP
+命令引用同一个字典。对与样本集相似的小文件的压缩将得到极大改善。
+.
+.TP
+\fB\-\-train FILEs\fP
+使用 FILEs 作为训练集来创建字典。理想情况下,训练集应包含大量样本(> 100 个),且其总大小通常为目标字典大小的 100
+倍(例如,对于 100 KB 的字典约为 10 MB)。\fB\-\-train\fP 可以与 \fB\-r\fP
+结合使用以指定一个目录,而不必列出所有文件,这有助于规避 shell 展开的限制。
+.
+.IP
+由于字典压缩主要对小文件有效,因此预期训练集只包含小文件。如果某些样本恰好很大,则只有这些样本的前 128 KiB 会被用于训练。
+.
+.IP
+如果编译 \fBzstd\fP 时启用了线程支持(默认),\fB\-\-train\fP 支持多线程。可以使用 
\fB\-\-train\-fastcover\fP
+指定额外的高级参数。可以通过 \fB\-\-train\-legacy\fP 访问旧版字典构建器。可以通过 \fB\-\-train\-cover\fP 
访问速度较慢的
+cover 字典构建器。默认的 \fB\-\-train\fP 等效于 \fB\-\-train\-fastcover=d=8,steps=4\fP。
+.
+.TP
+\fB\-o FILE\fP
+字典将被保存到 \fBFILE\fP 中(默认名称:dictionary)。
+.
+.TP
+\fB\-\-maxdict=#\fP
+将字典限制为指定大小(默认值:112640 字节)。与通常一样,数量默认以字节表示,并且可以使用后缀(如 \fBKB\fP 或 
\fBMB\fP)来指定更大的值。
+.
+.TP
+\fB\-#\fP
+在训练期间使用 \fB#\fP 压缩级别(可选)。这将生成更针对所选压缩级别进行调优的统计信息,从而使该级别的压缩率有 \fI小幅\fP 提升。
+.
+.TP
+\fB\-B#\fP
+将输入文件拆分为大小为 # 的块(默认值:不拆分)
+.
+.TP
+\fB\-M#\fP, \fB\-\-memory=#\fP
+限制为训练而加载的样本数据量(默认值:2 GB)。请注意,默认值(2
+GB)同时也是最大值。当训练集大小未得到良好控制且可能非常大时,此参数会很有用。由于训练过程的速度与训练样本集的大小直接相关,因此较小的样本集会带来更快的训练。
+.
+.IP
+当训练集大于最大内存时,CLI
+将在可用样本中随机选取样本,直到达到所允许的最大内存预算。这样做是为了通过减轻聚集所带来的潜在影响来提高字典的相关性,例如避免只选取按修改日期排序或按字母顺序排序的列表开头的文件。该随机化过程是确定性的,因此使用相同参数训练相同的文件列表将会创建出相同的字典。
+.
+.TP
+\fB\-\-dictID=#\fP
+字典 ID 是一个在本地唯一的 ID。解码器将使用此值来验证它所使用的字典是否正确。默认情况下,zstd 会创建一个 4 字节的随机数
+ID。也可以改为提供一个明确的数字 ID。由字典管理者负责确保不会将同一个 ID 分配给两个不同的字典。请注意,较小的数字有一个优势:ID <
+256 在压缩帧头部中只需 1 字节,ID < 65536 只需 2 字节。这相比默认的 4 字节更有优势。
+.
+.IP
+请注意,RFC8878 保留了小于 32768 以及大于或等于 2^31 的 ID,因此它们不应在公开场合使用。
+.
+.TP
+\fB\-\-train\-cover[=k#,d=#,steps=#,split=#,shrink[=#]]\fP
+为名为 cover 的默认字典构建器算法选择参数。如果未指定 \fId\fP,则会尝试 \fId\fP = 6 和 \fId\fP = 8。如果未指定 
\fIk\fP,则会在
+[50, 2000] 范围内尝试 \fIsteps\fP 个取值。如果未指定 \fIsteps\fP,则使用默认值 40。如果未指定 \fIsplit\fP 
或
+split <= 0,则使用默认值 100。要求 \fId\fP <= \fIk\fP。如果未使用 \fIshrink\fP 标志,则使用
+\fIshrinkDict\fP 的默认值 0。如果未指定 \fIshrink\fP,则使用 \fIshrinkDictMaxRegression\fP 
的默认值 1。
+.
+.IP
+选取得分最高的、大小为 \fIk\fP 的片段放入字典。一个片段的得分由所有大小为 \fId\fP 的子片段的频率之和计算得出。通常 \fId\fP 应在 
[6, 8]
+范围内,偶尔可高达 16,但当 d <= \fI8\fP 时算法运行得更快。\fIk\fP 的合适取值因输入数据而有很大差异,但一个安全的范围是 [2 *
+\fId\fP, 2000]。如果 \fIsplit\fP 为 100,则所有输入样本都会同时用于训练和测试,以找到用于构建字典的最优 \fId\fP 和
+\fIk\fP。如果编译 \fBzstd\fP 时启用了线程支持,则支持多线程。启用 \fIshrink\fP
+时,会取一个最小大小的截断字典,并将其大小翻倍,直到该截断字典的压缩率与最大字典的压缩率相比最多差
+\fIshrinkDictMaxRegression%\fP。
+.
+.IP
+示例:
+.
+.IP
+\fBzstd \-\-train\-cover FILEs\fP
+.
+.IP
+\fBzstd \-\-train\-cover=k=50,d=8 FILEs\fP
+.
+.IP
+\fBzstd \-\-train\-cover=d=8,steps=500 FILEs\fP
+.
+.IP
+\fBzstd \-\-train\-cover=k=50 FILEs\fP
+.
+.IP
+\fBzstd \-\-train\-cover=k=50,split=60 FILEs\fP
+.
+.IP
+\fBzstd \-\-train\-cover=shrink FILEs\fP
+.
+.IP
+\fBzstd \-\-train\-cover=shrink=2 FILEs\fP
+.
+.TP
+\fB\-\-train\-fastcover[=k#,d=#,f=#,steps=#,split=#,accel=#]\fP
+与 cover 相同,但带有额外的参数 \fIf\fP 和 \fIaccel\fP,且 split 的默认值不同。如果未指定 \fIsplit\fP,则会尝试
+\fIsplit\fP = 75。如果未指定 \fIf\fP,则会尝试 \fIf\fP = 20。要求 0 < \fIf\fP < 32。如果未指定
+\fIaccel\fP,则会尝试 \fIaccel\fP = 1。要求 0 < \fIaccel\fP <= 10。要求 \fId\fP = 6 或 
\fId\fP
+= 8。
+.
+.IP
+\fIf\fP 是用于跟踪大小为 \fId\fP 的子片段频率的数组大小的对数。子片段被哈希到 [0,2^\fIf\fP \- 1]
+范围内的一个索引。两个不同的子片段有可能被哈希到同一个索引,此时在计算频率时它们会被视为同一个子片段。使用更高的 \fIf\fP 会减少冲突,但耗时更长。
+.
+.IP
+示例:
+.
+.IP
+\fBzstd \-\-train\-fastcover FILEs\fP
+.
+.IP
+\fBzstd \-\-train\-fastcover=d=8,f=15,accel=2 FILEs\fP
+.
+.TP
+\fB\-\-train\-legacy[=selectivity=#]\fP
+使用旧版字典构建器算法,并采用给定的字典 \fIselectivity\fP(默认值:9)。\fIselectivity\fP
+值越小,字典越密集,从而提高其效率但会降低其可达到的最大大小。也接受 \fB\-\-train\-legacy=s=#\fP。
+.
+.IP
+示例:
+.
+.IP
+\fBzstd \-\-train\-legacy FILEs\fP
+.
+.IP
+\fBzstd \-\-train\-legacy=selectivity=8 FILEs\fP
+.
+.SH 基准测试
+\fBzstd\fP 命令行工具提供了一种基准测试模式,可用于轻松找到合适的压缩参数,或者用于对计算机的性能进行基准测试。\fBzstd \-b 
[FILE(s)]\fP 将使用默认压缩级别对 \fBzstd\fP 的压缩和解压缩进行基准测试。请注意,结果在很大程度上取决于所压缩的内容。
+.
+.P
+可以向基准测试传递多个文件,甚至可以用 \fB\-r DIRECTORY\fP 传递一个目录。当未提供 \fBFILE\fP 时,基准测试将使用程序化生成的
+\fBlorem ipsum\fP 文本。
+.
+.P
+为了与普通命令行 I/O 的行为保持一致,基准测试默认将使用 \fBmax(1, min(4, nbCores/4))\fP 个工作线程。
+.
+.IP \(bu 4
+\fB\-b#\fP:使用压缩级别 # 对文件进行基准测试
+.
+.IP \(bu 4
+\fB\-e#\fP:使用多个压缩级别对文件进行基准测试,从 \fB\-b#\fP 到 \fB\-e#\fP(含两端)
+.
+.IP \(bu 4
+\fB\-d\fP:仅对解压缩速度进行基准测试(需要提供 zstd 压缩过的内容)
+.
+.IP \(bu 4
+\fB\-i#\fP:最短评估时间,以秒为单位(默认值:3 秒),仅用于基准测试模式
+.
+.IP \(bu 4
+\fB\-B#\fP, \fB\-\-block\-size=#\fP:将文件切分为大小为 # 的独立块(默认值:不切分)
+.
+.IP \(bu 4
+\fB\-S\fP:为每个输入文件输出一个基准测试结果(默认值:汇总结果)
+.
+.IP \(bu 4
+\fB\-D dictionary\fP:使用字典进行基准测试
+.
+.IP \(bu 4
+\fB\-\-priority=rt\fP:将进程优先级设置为实时(Windows)
+.
+.IP "" 0
+.
+.P
+除了压缩级别之外,基准测试还兼容其他参数,例如线程数(\fB\-T#\fP)、高级压缩参数(\fB\-\-zstd=###\fP)、字典压缩(\fB\-D 
dictionary\fP),甚至可以禁用校验和验证等。
+.
+.P
+\fB输出格式:\fP 压缩级别#文件名: 输入大小 \-> 输出大小 (压缩率), 压缩速度, 解压缩速度
+.
+.P
+\fB方法:\fP 对于速度测量,整个输入会在内存中被压缩/解压缩以测量速度。一次运行至少持续 1
+秒,因此当文件较小时,每次运行会对它们进行多次压缩/解压缩,以提高测量的准确性。
+.
+.SH 参见
+\fBzstdgrep\fP(1), \fBzstdless\fP(1), \fBgzip\fP(1), \fBxz\fP(1)
+.
+.P
+\fIzstandard\fP 格式的规范见于 Y. Collet 所著 “Zstandard Compression and the
+‘application/zstd’ Media Type”,https://www.ietf.org/rfc/rfc8878.txt,互联网 RFC
+8878(2021 年 2 月)。
+.
+.SH BUGS
+请在该网页报告漏洞:https://github.com/facebook/zstd/issues
+.
+.SH 作者
+Yann Collet

Reply via email to