Is there any command-line software to create e-books from the scratch in Ubuntu?

A wide variety of documents can be converted to ebook (epub, mobi, ...) using ebook-convert which is part of the calibre package.

For example, as long as input is a supported format, an epub can be created with the command:

ebook-convert  input output.epub

Or, if you use kindles:

ebook-convert  input output.mobi

Some input formats include: LIT, MOBI, AZW, EPUB, AZW3, FB2, DOCX, HTML, PRC, ODT, RTF, PDB, TXT, PDF.

If the input file is a PDF, then one may want to add an option:

ebook-convert --enable-heuristics  input.pdf output.epub

Calibre may be available from your package manager but it often helps to install the latest version which is available here.

Authoring a book

As an alternative to calibre, OpenOffice/LibreOffice offers an extension, Writer2ePub, to claims to be able to create "well formatted, easy readable ePub" files with a single click.

The Writer2ePub extension can be downloaded from here.


The software pandoc ( http://pandoc.org/ ) might come in handy for your needs. It can be installed in Ubuntu by opening a terminal (Alt-Ctrl-T) and typing sudo apt install pandoc.

Pandoc can convert between a variety of different formats, including txt, html, xhtml, doc, docx, odt, epub, fb2, docbook, OPML, LaTeX, pdf, markdown, asciidoc, MediaWiki, Dokuwiki, org-mode, and a variety of others.

It does not appear to support conversion to/from mobi or aw3, but could certainly build an epub file from a variety of different sources. Then if you like the epub file it produces, you could use @John1024 's answer to convert to mobi or kindle format.

By starting with a source file that supports formatting, such as markdown, html, asciidoc, or the like, you can get a nicely-formatted epub output. The pandoc README file gives a nice overview of the command-line options that are available (including options for table of contents, fonts, link styles, margins, etc).