tldr Documentation

Collaborative cheatsheets for console commands ๐Ÿ“š.

63,391 stars Markdown Markdown 1 file ยท ~2,653 tokens #android#bsd#cheatsheet#cheatsheets#cli#command-line#console#documentation
RAW Doc

File: README.md

What is tldr-pages?

The tldr-pages project is a collection of community-maintained help pages
for command-line tools, that aims to be a simpler, more approachable complement
to traditional man pages.

Maybe you're new to the command-line world. Perhaps you're just a little rusty or can't always recall the arguments for commands like lsof, or tar?

It certainly doesn't help that, in the past, the first option explained in man tar was:

console
$ man tar
...
-b blocksize
   Specify the block size, in 512-byte records, for tape drive I/O.
   As a rule, this argument is only needed when reading from or writing to tape drives,
   and usually not even then as the default block size of 20 records (10240 bytes) is very common.
...

There is room for simpler help pages focused on practical examples.
How about:

This repository is just that: an ever-growing collection of examples
for the most common UNIX, Linux, macOS, FreeBSD, NetBSD, OpenBSD,
SunOS, Android, Windows, Cisco IOS, and DOS command-line tools.

How do I use it?

[!TIP]
For browsing without installing a client on your computer,
see the web client at https://tldr.inbrowser.app (with offline support using PWA).

There are several official clients available.

Python client

The official Python client can be installed from PyPI via pipx (or other package managers):

shell
pipx install tldr

Rust client

Linux and Mac users can also install the official Rust Client using Homebrew, Cargo
(or other package managers on other operating systems):

shell
brew install tlrc
shell
cargo install tlrc --locked

Windows users can also install the official Rust Client using Winget (or other package managers on other operating systems):

shell
winget install tldr-pages.tlrc

Node.js client

Alternatively, you can also use the official Node.js client, although it has fallen behind in updates:

shell
npm install tldr

Then you have direct access to simplified, easy-to-read help for commands, such as tar,
accessible through typing tldr tar instead of the standard man tar.

If you don't want to install any software, check out the PDF version instead.

[!NOTE]
PDFs for translations are available for most languages. You can find them in the release assets of the latest release.

There are also various other clients provided by the community,
both for the command-line and for other platforms.
For a comprehensive list of clients, head over to our Wiki.

How do I contribute to tldr-pages?

All contributions are welcome!

Some ways to contribute include:

  • Adding your favorite command that isn't covered.
  • Adding examples or improving the content of an existing page.
  • Adding requested pages from our issues with the help wanted label.
  • Translating pages into different languages.

All tldr pages are written in Markdown so that they can be edited quite easily and changes can be submitted in
pull requests here using Git on the command-line or
using the GitHub web interface.

We strive to maintain a welcoming and collaborative community.
If it's your first time contributing, have a look at the contributing guidelines, and go ahead!

If you'd like to contribute to translations, you can visit https://lukwebsforge.github.io/tldri18n/
to see the overall progress of all translations, and which translations are missing or outdated.

You are also welcome to join us on the matrix chatroom and the matrix space that contains all tldr related chatrooms!

Similar projects

  • cheat.sh
    Aggregates cheat sheets from multiple sources (including tldr-pages)
    into 1 unified interface.

  • devhints
    Rico's cheatsheets are not just focused on the command-line and
    include a plethora of other cheatsheets related to programming.

  • eg
    provides detailed examples with explanations on the command-line.
    Examples come from the repository, but eg supports displaying
    custom examples and commands alongside the defaults.

  • kb
    is a minimalist command-line knowledge base manager.
    kb can be used to organize your notes and cheatsheets in a minimalist
    and clean way. It also supports non-text files.

  • navi
    is an interactive cheatsheet tool, which allows you to browse through
    specific examples or complete commands on the fly.

  • Cheat
    allows you to create and view interactive cheatsheets on the command-line.
    It was designed to help remind Unix system administrators of options
    for commands that they use frequently, but not frequently enough to remember.

  • Command Line Interface Pages
    allows you to write standardized help pages for CLI, directories, and configs.

  • bropages (deprecated)
    are a highly readable supplement to man pages.
    It shows concise, common-case examples for Unix commands.
    The examples are submitted by the user base, and can be voted up or down;
    the best entries are what people see first when they look up a command.

What does "tldr" mean?

TL;DR stands for "Too Long; Didn't Read".
It originated as Internet slang, where it is used to indicate that a long text
(or parts of it) has been skipped as too lengthy.
Read more in How-To Geek's article.


File: scripts/pdf/README.md

pdf

This directory contains the script and related resources to generate a PDF document with all the tldr pages.

Highlights

  • No LaTeX dependencies for generating the PDF.
  • 3 available color-schemes: Basic, Solarized Light and Solarized Dark. More can be added easily through CSS.

Requirements

The PDF is generated by first converting the Markdown files to HTML, and then rendering those HTML files as a PDF. It depends on the markdown and weasyprint libraries. To install the dependencies, run:

sh
python3 -m pip install -r requirements.txt

Make sure OS-specific dependencies for WeasyPrint are installed by following the instructions here.

Usage

Generating the PDF is as simple as running:

sh
python3 render.py  [--color <color-scheme>] [--output <filename>] [--platform ]

Complete information about the arguments can be viewed by running:

sh
python3 render.py --help

Available color schemes:

  • basic
  • solarized-light
  • solarized-dark

Preview


File: scripts/README.md

Scripts

The current directory contains useful scripts used/to use with tldr pages.

[!NOTE]
Git and Python must be installed in your system to run/test the scripts locally.

Summary

This section contains a summary of the scripts available in this directory. For more information about each script, please refer to the header of each script.

  • pdf directory contains the render.py and build-pdf.sh script and related resources to generate a PDF document of tldr-pages for a specific language or platform (or both).
  • build.sh script builds the ZIP archives of the pages directory.
  • build-index.js script builds the index of available pages.
  • check-pr.sh script checks the page's syntax and performs various checks on the PR.
  • deploy.sh script deploys the ZIP and PDF archives to the static website repository.
  • send-to-bot.py is a Python script that sends the build or test output to tldr-bot.
  • set-alias-page.py is a Python script to generate or update alias pages.
  • set-more-info-link.py is a Python script to generate or update more information links across pages.
  • set-see-also.py is a Python script to generate or update see also mentions across pages.
  • set-page-title.py is a Python script to update the title across pages.
  • test.sh script runs some basic tests on every PR/commit to ensure the pages are valid and the code is formatted correctly.
  • wrong-filename.py script checks the consistency between the filenames and the page title.
  • update-command.py is a Python script to update the common contents of a command example across all languages.
  • check-errors.sh is a shell script that is meant to be run inside a specific language directory (../scripts/check-errors.sh). It does basic grep searches of few of the most commonly encountered errors and returns those lines.

Compatibility

The table below shows the compatibility of user-executable scripts with different platforms:

Script Linux macOS (osx) Windows
render.py โœ… โœ… โœ…
build-pdf.sh โœ… โœ… โŒ (WSL โœ…)
build.sh โœ… โœ… โŒ (WSL โœ…)
set-alias-pages.py โœ… โœ… โœ…
set-more-info-link.py โœ… โœ… โœ…
set-see-also.py โœ… โœ… โœ…
set-page-title.py โœ… โœ… โœ…
wrong-filename.py โœ… โœ… โœ…
update-command.py โœ… โœ… โœ…
check-errors.sh โœ… โ“ โ“