CALIBREDB(1) calibre CALIBREDB(1)

calibredb - calibredb

calibredb command [options] [arguments]

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

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

  • 如果您计划只连接到运行在同一台计算机上的服务器, 则只需使用内容服务器的 --enable-local-write 选项, 允许本地计算机上运行的任何程序,包括 calibredb, 对 calibre 数据进行更改。从主 calibre 程序运行服务器时, 此选项位于“首选项->通过网络共享->高级”。
  • 如果要启用通过互联网的访问,则应在服务器上 设置用户帐户,并使用:选项:--username 和: 选项:--password,命令: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

全局选项

显示此帮助信息并退出
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
连接到 calibre 内容服务器的密码。若要从标准输入读取密码,请使用特殊值:<stdin>。若要从文件读取密码,请使用<f:/path/to/file>(即<f:后跟文件的完整路径和尾随 >)。上面的角括号是必需的,记住要转义它们,或者使用引号。
通过网络连接到calibre书库时的超时时间,以秒为单位。默认值为两分钟。
用于连接到内容服务器的用户名
显示程序版本号并退出

calibredb list [options]

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

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

升序排列结果
在列出数据库中书籍时要显示的字段。应该是逗号分隔的字段列表。 可用字段: 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
以 JSON 格式输出,更适合机器解析。会导致忽略每行长度和分隔符选项。
显示的最大结果数。默认:全部
输出中的单行宽度最大值。默认为检测到的屏幕大小。
所有文件路径的前缀。默认为书库文件夹绝对路径。
通过搜索请求筛选结果。对于搜索请求的格式,请参见用户手册中搜索相关的文档。默认为不做筛选。
用于分隔字段的字符串。默认是空格。
用于对结果进行排序的字段。您可以用逗号分隔多个字段。 可用字段: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"时要运行的模板。请注意,在连接到 calibre 服务器时,模板将被忽略。默认值:无
如果"template" 在字段列表中,则包含要运行的模板的文件的路径。默认值:无
模板栏的标题。默认值 template. 如果设置了选项:option:--for-machine ,则忽略此选项

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

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

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

设置已添加书籍的作者
如果找到具有类似书名和作者的书籍,自动将输入格式(文件)合并到现有书籍记录中。值“Ignore”表示丢弃重复的格式。值“overwrite”表示书库中的重复格式将被新添加的文件覆盖。值“new_record”表示将重复的格式放入新的书籍记录中。
设置已添加书籍的封面路径
即使已经存在,也添加书籍到数据库中。 根据书名和作者进行比较。 请注意,:option:
`
--automerge`选项优先。
添加空白书籍(无格式书籍)
设置书籍标识符,例如 -I asin:XXX -I isbn:YYY
设置已添加书籍的ISBN
逗号分割的语言列表(最好使用 ISO639 语言代码,尽管也能识别某些语言名称)
为添加的书籍设置丛书
为添加的书籍设置丛书编号
设置已添加书籍的标签
设置已添加书籍的书名

正在从文件夹中添加

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

文件名(规则为模糊匹配即glob)规则,在扫描文件夹中的文件时将添加与此规则匹配的文件,即使这些文件不是已知的电子书文件格式。可以多次指定多个规则。
文件名规则 (规则为模糊匹配即glob) ,在扫描文件夹中的文件时,与此规则匹配的文件将被忽略。可以多次指定多个规则。例如:*.pdf将忽略所有PDF文件
假设每个文件夹只有一本逻辑书籍,并且其中的所有文件都是该书籍的不同格式
递归处理文件夹

calibredb remove ids

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

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

不要使用回收站

calibredb add_format [options] id ebook_file

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

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

将文件作为额外的数据文件而不是电子书格式添加到书籍中
如果格式已经存在不要替换它

calibredb remove_format [options] id fmt

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

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

calibredb show_metadata [options] id

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

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

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

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

calibredb export [options] ids

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

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

导出数据库中所有的书籍,忽略列表中的id。
让calibre将文件名中的所有非英文字符转换成英文对应字符。如果保存到不完全支持Unicode文件名的旧文件系统中,这将非常有用。 设定此项将关闭此操作。
通常,calibre将把封面保存为单独文件,和电子书文件一起生成。 设定此项将关闭此操作。
保存书籍时保存与书籍关联的所有数据文件 设定此项将关闭此操作。
通常,calibre将根据calibre书库中的信息更新保存的文件的元数据。这会使保存到硬盘变慢一些。 设定此项将关闭此操作。
通常,calibre 将会把元数据写入单独的 OPF 文件,和电子书文件一起生成。 设定此项将关闭此操作。
要保存的每本书籍的逗号分割的格式列表。默认保存所有可用格式。
报告进展
用下划线替换空格。
导出所有书籍到单个文件夹
该模板用来控制保存到设备的文件的文件名和文件夹结构。默认是"{author_sort}/{title}/{title} - {authors}",它将把书籍保存到每个作者名命名的文件夹中,书籍文件名由书名和作者构成。可用的控制项是: {author_sort, authors, id, isbn, languages, last_modified, pubdate, publisher, rating, series, series_index, tags, timestamp, title}
显示日期的格式。%d - 天, %b - 月, %m - 月份数字, %Y - 年。默认是: %b, %Y
导出书籍到指定文件夹。默认为 .
将路径转为小写。

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

以 path/to/destination extension 指定的格式导出书目。 选项控制项目在生成的书目中的显示方式。 请注意,不同的书目格式支持不同的选项。 要查看不同的选项,请指定输出文件的名称,然后指定 --help选项。

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

要编目的逗号分割的数据库 ID 列表。 一旦声明,则忽略 --search 选项 默认值:all
按搜索查询筛选结果。搜索查询格式请参见用户手册中搜索相关内容。默认:no filtering
显示详细输出信息。有利于调试

生成书目的标题,用作元数据中的书名。 默认值:'My Books' 适用于:AZW3,ePub,MOBI 等输出格式
为具有多个作者的书籍在作者部分中创建交叉引用。 默认值: 'False' 适用于: AZW3, EPUB, MOBI输出格式
将转换传输途径不同阶段的输出保存到指定文件夹。 如果您不确定在转换过程的哪个阶段发生错误,这很有用。 默认: 'None' 适用于: AZW3, EPUB, MOBI 的输出格式
用正则表达式描述要排除的视为类型的标签。 默认值: '[.+]|^+$' 不包括括号内的标签,例如 '[Project Gutenberg]', 和 '+', 默认的用于阅读书籍的标签。 适用于: AZW3, EPUB, MOBI 输出格式
指定用于从生成的书目中排除书籍的规则。 排除规则的模型是('<rule name>','标签','<comma-separated list of tags>') 或('<rule name>','<custom column>','<pattern>')。 例如: (('存档的书籍','#status'','已存档'),) 将在自定义栏目“status'”中排除值为“已存档”的书籍。定义多个规则时,将应用所有规则。 默认: "(('Catalogs','Tags','Catalog'),)" 适用于:AZW3, EPUB, MOBI 输出格式
书目中包括“作者”部分。 默认值: 'False' 适用于: AZW3, EPUB, MOBI 输出格式
书目中包括“描述”部分。 默认值: 'False' 适用于: AZW3, EPUB, MOBI 输出格式
书目中包括“类型”部分。 默认值: 'False' 适用于: AZW3, EPUB, MOBI 输出格式
书目中包括“入库日期”部分。 默认值: 'False' 适用于: AZW3, EPUB, MOBI 输出格式
书目中包括“丛书”部分。 默认值: 'False' 适用于: AZW3, EPUB, MOBI 输出格式
书目中包括“书名”部分。 默认值: 'False' 适用于: AZW3, EPUB, MOBI 输出格式
“类型”部分的源字段。 默认值: '标签' 适用于: AZW3, EPUB, MOBI 输出格式
包含要插入到描述的头部位置的批注文本的自定义字段。 默认值: '' 适用于: AZW3, EPUB, MOBI输出格式
#<custom field>:[before|after]:[True|False] 设置: <custom field> 自定义字段包含与书籍简介合并的内容批注 [before|after] 书籍简介相关的内容批注的位置 [True|False] - 在内容批注和书籍简介之间插入水平线 默认值: '::' 适用于: AZW3, EPUB, MOBI 输出格式
指定'输出配置'。在某些情况下,输出配置用于优化某些设备的书目。例如,'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 输出格式
使用GUI书目生成器创建的命名预设。 预设指定用于构建书目的所有设置。 默认值: 'None' 适用于: AZW3, EPUB, MOBI 输出格式
书目中书籍封面的大小提示(英寸)。 范围: 1.0 - 2.0 默认值: '1.0' 适用于: AZW3, EPUB, MOBI 输出格式
在生成书目时替换现有的封面。 默认值: 'False' 适用于: AZW3, EPUB, MOBI 输出格式

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"

calibredb add_custom_column [options] label name datatype

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

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

用于自定义如何解释此栏目中的数据的选项的字典。这是一个 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 找到适当组合的最好方法是在图形界面中创建适当类型的自定义栏目,然后查看书籍的备份 OPF(确保自从添加该栏目以后已经创建了新的 OPF)。在 OPF 中的新栏目中,你将看到 JSON 的“显示”。
此栏目存储类似标签的数据(例如,多个逗号分隔的值)。仅当数据类型为文本时才适用。

calibredb custom_columns [options]

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

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

显示每个栏目的详情。

calibredb remove_custom_column [options] label

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

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

无需确认

calibredb set_custom [options] column id value

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

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

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

calibredb restore_database [options]

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

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

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

确认恢复。除非指定了此选项,否则命令不会运行。

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 输出
逗号分隔的将被忽略的扩展名列表。 默认值:all
逗号分隔的将被忽略的名称列表。 默认值:all
逗号分隔的报告列表。 默认值: all
清空全文搜索数据库。根据数据库的大小,这可能会非常慢并且占用大量内存。

calibredb list_categories [options]

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

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

逗号分隔类别列表检索名。默认值:全部
以 CSV 输出
产生CSV文件的类型。选择:excel, excel-tab, unix
只输出每个类别中的项(标签、作者等)的数目,而不是类别内的每项包含的书籍数
输出中的单行宽度最大值。默认为检测到的屏幕大小。

calibredb backup_metadata [options]

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

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

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

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

calibredb clone path/to/new/library

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

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

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

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"

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

calibredb search [options] search expression

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

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

返回的最大结果数。默认是所有结果。

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

控制全文搜索索引进程。

启用此书库的全文索引
关闭此书库的全文索引
显示当前索引的状态
可用于重新索引特定书籍或 整个书库。要重新索引特定书籍 请在reindex命令后将书籍id指定为
附加参数。如果未指定书籍id,则会重新
索引整个书库。

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

索引的速度。使用fast可使用所有计算机资源进行快速索引,使用slow可使用较少的资源进行索引。请注意,每次调用索引后,索引速度都会重置为slow。
等待所有书籍都编入索引,定期显示索引进度

calibredb fts_search [options]  search expression

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

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

只匹配精确的字词而不是相关的字词。因此,correction将与orrecting不匹配。
包括每个匹配项相关的文本片段。请注意,这会使搜索速度慢得多。
允许搜索前必须索引多少书库,以百分比表示。默认为90
用于标示文本段内匹配单词的结尾的标记
用于标示文本段内匹配单词的开头的标记
输出搜索结果的格式。纯文本为“text”,JSON输出为“json”。
使用搜索表达式或id限制搜索的书籍。例如:ids:1,2,3表示按id限制,或search:tag:foo表示限制具有标签foo的书籍。

Kovid Goyal

Kovid Goyal

一月 10, 2025 7.24.0