CALIBREDB(1)

NAME
calibredb - calibredb

calibredb command [options] [arguments]

calibredb 是calibre数据库的命令行接口。它有 几个子命令，记录如下。

calibredb 可以用来操作一个calibre数据库 由运行在上的calibre或calibre:guilabel:内容服务器`指定 本地机器或通过互联网。你可以运行一个calibre :guilabel:`内容服务器 使用：命令：calibre-server 程序或在主calibre程序中单击:guilabel:连接/共享 -> 启动内容服务器. 因为:command:calibredb 可以更改 calibre书库，必须首先在服务器上设置身份验证。这里 有两种方法：

•   如果您计划只连接到运行在同一台计算机上的服务器， 则只需使用内容服务器的 --enable-local-write 选项， 允许本地计算机上运行的任何程序，包括calibredb， 对calibre数据进行更改。从主calibre程序运行服务器时， 此选项位于：guilabel:首选项->通过网络共享->高级。

•   如果要启用权限通过Internet的访问，则应在服务器上 设置用户帐户，并使用：选项：--用户名 和： 选项：--密码，命令：calibredb 选项授予访问权限。 您可以为命令：calibre-server`设置用户身份验证， 方法是使用 `--enable-auth``选项并使用
    ``
    --manage-users``创建用户帐户。 如果从主calibre程序运行服务器，请使用：

    首选项 → 通过网络共享 → 需要用户名/密码。

    要连接到正在运行的内容服务器，请将服务器的URL传递给： 选项：--with-library 选项，有关详细信息和示例， 请参阅该选项的文档。

•   全局选项

•   list

•   add

•   正在从文件夹中添加

•   remove

•   add_format

•   remove_format

•   show_metadata

•   set_metadata

•   export

•   catalog

•   EPUB 个选项

•   saved_searches

•   add_custom_column

•   custom_columns

•   remove_custom_column

•   set_custom

•   restore_database

•   check_library

•   list_categories

•   backup_metadata

•   clone

•   embed_metadata

•   search

•   fts_index

•   fts_search

全局选项

--help, -h
    显示此帮助信息并退出

--library-path, --with-library
    calibre 书库的路径。默认是使用存储在设置中的路径。您还可以连接到 calibre 内容服务器，以便在远程书库上执行操作。为此使用此格式的URL：http://hostname:port/#library_id。例如，http://localhost:8080/#mylibrary。library_id是要在内容服务器上连接的书库的书库id。您可以使用特殊的library_id值 - 来获得服务器上可用书库id的列表。有关如何通过内容服务器设置访问的详情，请参阅https://manual.calibre-ebook.com/generated/en/calibredb.html。

--password
    连接到 calibre 内容服务器的密码。若要从标准输入读取密码，请使用特殊值：<stdin>。若要从文件读取密码，请使用<f:/path/to/file>（即<f:后跟文件的完整路径和尾随 >）。上面的角括号是必需的，记住要转义它们，或者使用引号。

--timeout
    通过网络连接到calibre书库时的超时时间，以秒为单位。默认值为两分钟。

--username
    用于连接到内容服务器的用户名

--version
    显示程序版本号并退出

LIST

calibredb list [options]

列出 calibre 数据库中可用书籍。

每当您将包含空格的参数传递给%p程序时，请将参数放在引号中。例如: "/some path/with spaces"

--ascending
    升序排列结果

--fields, -f
    在列出数据库中书籍时要显示的字段。应该是逗号分隔的字段列表。 可用字段： author_sort, authors, comments, cover, formats, identifiers, isbn, languages, last_modified, pubdate, publisher, rating, series, series_index, size, tags, template, timestamp, title, uuid 默认值：title,authors。特殊字段“all”可用于选择所有字段。除了上述内置字段之外，还可以通过 *field_name (检索名)选择自定义字段，例如，对于自定义字段#rating，使用名称：*rating

--for-machine
    以 JSON 格式输出，更适合机器解析。会导致忽略每行长度和分隔符选项。

--limit
    显示的最大结果数。默认：全部

--line-width, -w
    输出中的单行宽度最大值。默认为检测到的屏幕大小。

--prefix
    所有文件路径的前缀。默认为书库文件夹绝对路径。

--search, -s
    通过搜索请求筛选结果。对于搜索请求的格式，请参见用户手册中搜索相关的文档。默认为不做筛选。

--separator
    用于分隔字段的字符串。默认是空格。

--sort-by
    用于对结果进行排序的字段。您可以用逗号分隔多个字段。 可用字段：author_sort, authors, comments, cover, formats, identifiers, isbn, languages, last_modified, pubdate, publisher, rating, series, series_index, size, tags, template, timestamp, title, uuid 默认值： id

--template
    如果 "template"在字段列表中，则要运行的模板。默认值：无

--template_file, -t
    如果"template" 在字段列表中，则包含要运行的模板的文件的路径。默认值：无

--template_heading
    模板栏的标题。默认值 template. 如果设置了选项:option:--for-machine ，则忽略此选项

ADD

calibredb add [选项] file1 file2 file3 ...

将指定文件当做书籍添加到数据库。你可以指定目录，请查看下面目录相关选项。

每当您将包含空格的参数传递给%p程序时，请将参数放在引号中。例如: "/some path/with spaces"

--authors, -a
    设置已添加书籍的作者

--automerge, -m
    如果找到具有类似书名和作者的书籍，自动将输入格式(文件)合并到现有书籍记录中。值“Ignore”表示丢弃重复的格式。值“overwrite”表示书库中的重复格式将被新添加的文件覆盖。值“new_record”表示将重复的格式放入新的书籍记录中。

--cover, -c
    设置已添加书籍的封面路径

--duplicates, -d
    即使已经存在，也添加书籍到数据库中。 根据书名和作者进行比较。 请注意，:option:
    `
    --automerge`选项优先。

--empty, -e
    添加空白书籍(无格式书籍)

--identifier, -I
    设置书籍标识符，例如 -I asin:XXX -I isbn:YYY

--isbn, -i
    设置已添加书籍的ISBN

--languages, -l
    逗号分割的语言列表（最好使用 ISO639 语言代码，尽管也能识别某些语言名称）

--series, -s
    为添加的书籍设置丛书

--series-index, -S
    为添加的书籍设置丛书编号

--tags, -T
    设置已添加书籍的标签

--title, -t
    设置已添加书籍的书名

  正在从文件夹中添加

用于控制从文件夹添加书籍的选项。默认情况下，只能添加那些受支持的电子书格式的文件。

--add
    文件名(规则为模糊匹配即glob)规则，在扫描文件夹中的文件时将添加与此规则匹配的文件，即使这些文件不是已知的电子书文件格式。可以多次指定多个规则。

--ignore
    文件名规则 (规则为模糊匹配即glob) ，在扫描文件夹中的文件时，与此规则匹配的文件将被忽略。可以多次指定多个规则。例如：*.pdf将忽略所有PDF文件

--one-book-per-directory, -1
    假设每个文件夹只有一本逻辑书籍，并且其中的所有文件都是该书籍的不同格式

--recurse, -r
    递归处理文件夹

REMOVE

calibredb remove ids

从数据库删除指定id的书籍。id为以逗号分隔的 id 号列表（你可以使用搜索命令来获得 id 号）。例如，23,34,57-85（如果指定一个区间，该区间的最后一个数字不会被包括在内）。

每当您将包含空格的参数传递给%p程序时，请将参数放在引号中。例如: "/some path/with spaces"

--permanent
    不要使用回收站

ADD_FORMAT

calibredb add_format [options] id ebook_file

将 ebook_file中的电子书添加到由id标识的书籍的可用格式中。您可以使用搜索命令获取id。如果格式已经存在，则替换它，除非指定了不替换选项。

每当您将包含空格的参数传递给%p程序时，请将参数放在引号中。例如: "/some path/with spaces"

--dont-replace
    如果格式已经存在不要替换它

REMOVE_FORMAT

calibredb remove_format [options] id fmt

从ID标识的逻辑书籍中删除特定格式- fmt。你可以通过使用搜索命令获取id。fmt 应该是形如LRF或TXT或EPUB的一个文件扩展名。如果逻辑书籍没有 fmt 可用则什么也不做。

每当您将包含空格的参数传递给%p程序时，请将参数放在引号中。例如: "/some path/with spaces"

SHOW_METADATA

calibredb show_metadata [options] id

显示在 calibre 数据库中存储的指定id的书籍的元数据。 id是来自搜索命令的id号。

每当您将包含空格的参数传递给%p程序时，请将参数放在引号中。例如: "/some path/with spaces"

--as-opf
    以OPF格式(XML)打印元数据

SET_METADATA

calibredb set_metadata [options] book_id [/path/to/metadata.opf]

根据OPF文件--metadata.opf设置存储在 calibre 数据库中的以book_id标识的书籍的元数据。 book_id是来自搜索命令的id号。您可以通过使用--as-opf切换到show_metadata命令来快速 了解OPF格式。还可以用--field选项设置各个字段的元数据。如果使用--field选项则 不需要指定OPF文件。

每当您将包含空格的参数传递给%p程序时，请将参数放在引号中。例如: "/some path/with spaces"

--field, -f
    设置字段。格式是field_name:value，例如：--field tags:tag1,tag2。使用:option:--list-fields`来获取所有字段名称的列表。你可以多次指定此选项来设置多个字段。注意：对于语言，你必须使用ISO639语言代码（例如en代表英文，fr代表法语等）。对于书籍标识符，语法是:option:--field` identifiers:isbn:XXXX,doi:YYYYY。对于布尔(是/否)字段使用true 和 false 或者 yes 和 no。

--list-fields, -l
    列出可用于:option:
    `
    --field`选项的元数据字段名称

EXPORT

calibredb export [options] ids

导出指定id(以逗号分隔的列表)的书籍至文件系统。 导出操作将保存书籍的所有格式，以及其封面和元数据(保存 至一个opf文件)。你可以使用搜索命令来获得id。

每当您将包含空格的参数传递给%p程序时，请将参数放在引号中。例如: "/some path/with spaces"

--all
    导出数据库中所有的书籍，忽略列表中的id。

--dont-asciiize
    让calibre将文件名中的所有非英文字符转换成英文对应字符。如果保存到不完全支持Unicode文件名的旧文件系统中，这将非常有用。 设定此项将关闭此操作。

--dont-save-cover
    通常，calibre将把封面保存为单独文件，和电子书文件一起生成。 设定此项将关闭此操作。

--dont-update-metadata
    通常，calibre将根据calibre书库中的信息更新保存的文件的元数据。这会使保存到硬盘变慢一些。 设定此项将关闭此操作。

--dont-write-opf
    通常，calibre 将会把元数据写入单独的 OPF 文件，和电子书文件一起生成。 设定此项将关闭此操作。

--formats
    要保存的每本书籍的逗号分割的格式列表。默认保存所有可用格式。

--progress
    报告进展

--replace-whitespace
    用下划线替换空格。

--single-dir
    导出所有书籍到单个文件夹

--template
    该模板用来控制保存到设备的文件的文件名和文件夹结构。默认是"{author_sort}/{title}/{title} - {authors}"，它将把书籍保存到每个作者名命名的文件夹中，书籍文件名由书名和作者构成。可用的控制项是: {author_sort, authors, id, isbn, languages, last_modified, pubdate, publisher, rating, series, series_index, tags, timestamp, title}

--timefmt
    显示日期的格式。%d - 天, %b - 月, %m - 月份数字, %Y - 年。默认是: %b, %Y

--to-dir
    导出书籍到指定文件夹。默认为 .

--to-lowercase
    将路径转为小写。

CATALOG

calibredb catalog /path/to/destination.(csv|epub|mobi|xml...) [options]

Export a catalog in format specified by path/to/destination extension. Options control how entries are displayed in the generated catalog output. Note that different catalog formats support different sets of options. To see the different options, specify the name of the output file and then the --help option.

每当您将包含空格的参数传递给%p程序时，请将参数放在引号中。例如: "/some path/with spaces"

--ids, -i
    要编目的逗号分割的数据库ID列表。 一旦声明，则忽略 --search 默认值：all

--search, -s
    按搜索查询筛选结果。搜索查询格式请参见用户手册中搜索相关内容。默认：no filtering

--verbose, -v
    显示详细输出信息。有利于调试

  EPUB 个选项

--catalog-title
    生成书目的标题，用作元数据中的书名。 默认值：'My Books' 适用于：AZW3，ePub，MOBI 等输出格式

--cross-reference-authors
    为具有多个作者的书籍在作者部分中创建交叉引用。 默认值: 'False' 适用于: AZW3, EPUB, MOBI输出格式

--debug-pipeline
    将转换过程的不同阶段分别保存输出到指定文件夹。如果您检查在转换过程的哪个阶段发生了错误，这非常有用。 默认: 'None' 适用于: AZW3, EPUB, MOBI 的输出格式

--exclude-genre
    用正则表达式描述要排除的视为类型的标签。 默认值： '[.+]|^+$' 不包括括号内的标签，例如 '[Project Gutenberg]', 和 '+', 默认的用于阅读书籍的标签。 适用于： AZW3, EPUB, MOBI 输出格式

--exclusion-rules
    指定用于从生成的书目中排除书籍的规则。 排除规则的模型是('<rule name>','标签','<comma-separated list of tags>') 或('<rule name>','<custom column>','<pattern>')。 例如： (('存档的书籍','#status'','已存档'),) 将在自定义栏目“status'”中排除值为“已存档”的书籍。定义多个规则时，将应用所有规则。 默认: "(('Catalogs','Tags','Catalog'),)" 适用于：AZW3, EPUB, MOBI 输出格式

--generate-authors
    书目中包括“作者”部分。 默认值： 'False' 适用于： AZW3, EPUB, MOBI 输出格式

--generate-descriptions
    书目中包括“描述”部分。 默认值： 'False' 适用于： AZW3, EPUB, MOBI 输出格式

--generate-genres
    书目中包括“类型”部分。 默认值： 'False' 适用于： AZW3, EPUB, MOBI 输出格式

--generate-recently-added
    书目中包括“入库日期”部分。 默认值： 'False' 适用于： AZW3, EPUB, MOBI 输出格式

--generate-series
    书目中包括“丛书”部分。 默认值： 'False' 适用于： AZW3, EPUB, MOBI 输出格式

--generate-titles
    书目中包括“书名”部分。 默认值： 'False' 适用于： AZW3, EPUB, MOBI 输出格式

--genre-source-field
    “类型”部分的源字段。 默认值： '标签' 适用于： AZW3, EPUB, MOBI 输出格式

--header-note-source-field
    包含要插入到描述的头部位置的批注文本的自定义字段。 默认值: '' 适用于: AZW3, EPUB, MOBI输出格式

--merge-comments-rule
    #<custom field>:[before|after]:[True|False] 设置: <custom field> 自定义字段包含与书籍简介合并的内容批注 [before|after] 书籍简介相关的内容批注的位置 [True|False] - 在内容批注和书籍简介之间插入水平线 默认值: '::' 适用于: AZW3, EPUB, MOBI 输出格式

--output-profile
    指定'输出配置'。在某些情况下，输出配置用于优化某些设备的书目。例如，'kindle' 或 'kindle_dx' 生成带章节和文章的目录结构。默认：'None' 适用于：AZW3、EPUB、MOBI 等输出格式

--prefix-rules
    指定用于包含表示已读书籍，愿望清单和其他用户指定前缀的前缀的规则。前缀规则的模型 ('<rule name>','<source field>','<pattern>','<prefix>')。 当定义了多个规则时，将使用第一个匹配规则 默认规则:"(('Read books','tags','+','✓'),('Wishlist item','tags','Wishlist','×'))"适用于：AZW3, EPUB, MOBI 输出格式

--preset
    使用GUI书目生成器创建的命名预设。 预设指定用于构建书目的所有设置。 默认值: 'None' 适用于: AZW3, EPUB, MOBI 输出格式

--thumb-width
    书目中书籍封面的大小提示(英寸)。 范围： 1.0 - 2.0 默认值： '1.0' 适用于： AZW3, EPUB, MOBI 输出格式

--use-existing-cover
    在生成书目时替换现有的封面。 默认值： 'False' 适用于： AZW3, EPUB, MOBI 输出格式

SAVED_SEARCHES

calibredb saved_searches [options] (list|add|remove)

管理存储在此数据库中的搜索记录。 如果尝试添加已经存在的一个名称查询， 则它将被替换。

用于添加的语法：

calibredb saved_searches add search_name search_expression

用于删除的语法：

calibredb saved_searches remove search_name

每当您将包含空格的参数传递给%p程序时，请将参数放在引号中。例如: "/some path/with spaces"

ADD_CUSTOM_COLUMN

calibredb add_custom_column [options] label name datatype

创建一个自定义栏目，栏目名为你自定义的名称，不能包含空格或冒号。数据类型可为：bool, comments, composite, datetime, enumeration, float, int, rating, series, text

每当您将包含空格的参数传递给%p程序时，请将参数放在引号中。例如: "/some path/with spaces"

--display
    用于自定义如何解释此栏目中的数据的选项的字典。这是一个JSON字符串。对于枚举栏目，使用 --display"{\ "enum_values\ ":[\ "val1\ ", \ "val2\ "]}" 有许多选项可以进入显示变量，按栏目类型的选项是： composite: composite_template, composite_sort, make_category,contains_html, use_decorations datetime: date_format enumeration: enum_values, enum_colors, use_decorations int, float: number_format text: is_names, use_decorations 找到适当组合的最好方法是在GUI中创建适当类型的自定义栏目，然后查看书籍的备份OPF（确保自从添加该栏目以后已经创建了新的OPF）。在OPF中的新栏目中，你将看到JSON的“显示”。

--is-multiple
    此栏目存储类似标签的数据(例如，多个逗号分隔的值)。仅当数据类型为文本时才适用。

CUSTOM_COLUMNS

calibredb custom_columns [options]

列出可用的自定义栏目。显示栏目标签和id。

每当您将包含空格的参数传递给%p程序时，请将参数放在引号中。例如: "/some path/with spaces"

--details, -d
    显示每个栏目的详情。

REMOVE_CUSTOM_COLUMN

calibredb remove_custom_column [options] label

删除由标签标识的自定义栏目。可以使用custom_columns command命令查看可用栏目。

每当您将包含空格的参数传递给%p程序时，请将参数放在引号中。例如: "/some path/with spaces"

--force, -f
    无需确认

SET_CUSTOM

calibredb set_custom [options] column id value

为 id 标识的书籍设置自定义栏目的值。 您可以使用搜索命令获取id列表。 您可以使用 custom_columns 命令获取自定义栏目名的列表。

每当您将包含空格的参数传递给%p程序时，请将参数放在引号中。例如: "/some path/with spaces"

--append, -a
    如果栏目可以有多个值，将指定值添加到已有值之后，而非覆盖已有值。

RESTORE_DATABASE

calibredb restore_database [options]

从calibre书库每个文件夹中的OPF文件含有的元数据恢复此数据库，如果你的metadata.db文件已损坏，此方法很有用。

警告：此命令会完全重新生成数据库。你会丢失所有搜索记录，自定义分类，元数据处理规则，已保存的每本书的转换设置和自定义的新闻获取规则。恢复的元数据和OPF文件中的一样准确。

每当您将包含空格的参数传递给%p程序时，请将参数放在引号中。例如: "/some path/with spaces"

--really-do-it, -r
    确认恢复。除非指定了此选项，否则命令不会运行。

CHECK_LIBRARY

calibredb check_library [options]

对书库的文件系统执行一些检查。报告是invalid_titles, extra_titles, invalid_authors, extra_authors, missing_formats, extra_formats, extra_files, missing_covers, extra_covers, failed_folders

每当您将包含空格的参数传递给%p程序时，请将参数放在引号中。例如: "/some path/with spaces"

--csv, -c
    以 CSV 输出

--ignore_extensions, -e
    逗号分隔的将被忽略的扩展名列表。 默认值：all

--ignore_names, -n
    逗号分隔的将被忽略的名称列表。 默认值：all

--report, -r
    逗号分隔的报告列表。 默认值: all

--vacuum-fts-db
    清空全文搜索数据库。根据数据库的大小，这可能会非常慢并且占用大量内存。

LIST_CATEGORIES

calibredb list_categories [options]

在数据库中生成一个类别信息的报告。 该信息与分类浏览器中显示的信息相同。

每当您将包含空格的参数传递给%p程序时，请将参数放在引号中。例如: "/some path/with spaces"

--categories, -r
    逗号分隔类别列表检索名。默认值：全部

--csv, -c
    以 CSV 输出

--dialect
    产生CSV文件的类型。选择：excel, excel-tab, unix

--item_count, -i
    只输出每个类别中的项(标签、作者等)的数目，而不是类别内的每项包含的书籍数

--width, -w
    输出中的单行宽度最大值。默认为检测到的屏幕大小。

BACKUP_METADATA

calibredb backup_metadata [options]

将存储在数据库中的元数据备份到每个书籍文件夹中的 单个OPF文件中。这通常是自动的，但是您可以运行 此命令来强制重新生成OPF文件，并使用--all选项。

请注意，通常不需要这样做，因为每次元数据更改时， OPF文件都会自动备份。

每当您将包含空格的参数传递给%p程序时，请将参数放在引号中。例如: "/some path/with spaces"

--all
    通常，此命令只对OPF文件过期的书籍有效。这个选项使它在所有的书籍上运行。

CLONE

calibredb clone path/to/new/library

创建当前书库的副本。这将创建一个新的、空的书库，它所有的自定义栏目、虚拟书库和其他设置与当前书库相同。

副本书库将没有任何书籍。如果您想要创建一个完整的副本书库，包括所有的书籍，那么只需使用您的文件系统工具来复制书库文件夹。

每当您将包含空格的参数传递给%p程序时，请将参数放在引号中。例如: "/some path/with spaces"

EMBED_METADATA

calibredb embed_metadata [options] book_id

通过calibre 数据库中的元数据更新存储在 calibre 书库中的实际书籍文件中的元数据。 通常，只有从 calibre 导出文件时才更新元数据，如果希望文件就地更新，则此命 令很有用。请注意，不同的文件格式支持不同数量的元数据。你可以使用book_id 的特殊值“all”来更新所有书籍中的元数据。还可以指定许多由空格分隔的书籍id 和由连字符分隔的ID区间。例如：calibredb embed_metadata 1 2 10-15 23

每当您将包含空格的参数传递给%p程序时，请将参数放在引号中。例如: "/some path/with spaces"

--only-formats, -f
    只更新指定格式的文件中的元数据。可为多种格式指定多次。默认情况下，所有格式都会更新。

SEARCH

calibredb search [options] search expression

搜索书库中指定的搜索项，返回与搜索表达式匹配的以逗号分隔的书籍id列表。输出格式对于输入接受id列表的其他命令非常有用。 搜索表达式可以是来自calibre强大的搜索查询语言中的任何内容，例如：calibredb searchauthor:asimov 'title:"i robot"'

每当您将包含空格的参数传递给%p程序时，请将参数放在引号中。例如: "/some path/with spaces"

--limit, -l
    返回的最大结果数。默认是所有结果。

FTS_INDEX

calibredb fts_index [options] enable/disable/status/reindex

控制全文搜索索引进程。

enable
    启用此书库的全文索引

disable
    关闭此书库的全文索引

status
    显示当前索引的状态

reindex
    可用于重新索引特定书籍或 整个书库。要重新索引特定书籍 请在reindex命令后将书籍id指定为

附加参数。如果未指定书籍id，则会重新
    索引整个书库。

    每当您将包含空格的参数传递给%p程序时，请将参数放在引号中。例如: "/some path/with spaces"

--indexing-speed
    索引的速度。使用fast可使用所有计算机资源进行快速索引，使用slow可使用较少的资源进行索引。请注意，每次调用索引后，索引速度都会重置为slow。

--wait-for-completion
    等待所有书籍都编入索引，定期显示索引进度

FTS_SEARCH

calibredb fts_search [options]  search expression

对整个书库或其子集进行全文搜索。

每当您将包含空格的参数传递给%p程序时，请将参数放在引号中。例如: "/some path/with spaces"

--do-not-match-on-related-words
    只匹配精确的字词而不是相关的字词。因此，correction将与orrecting不匹配。

--include-snippets
    包括每个匹配项相关的文本片段。请注意，这会使搜索速度慢得多。

--indexing-threshold
    允许搜索前必须索引多少书库，以百分比表示。默认为90

--match-end-marker
    用于标示文本段内匹配单词的结尾的标记

--match-start-marker
    用于标示文本段内匹配单词的开头的标记

--output-format
    输出搜索结果的格式。纯文本为“text”，JSON输出为“json”。

--restrict-to
    使用搜索表达式或id限制搜索的书籍。例如：ids:1,2,3表示按id限制，或search:tag:foo表示限制具有标签foo的书籍。

AUTHOR
Kovid Goyal

COPYRIGHT
Kovid Goyal