📚 Collaborative cheatsheets for console commands

Claudio Busatto 6159d55166 vitest: add page (#15145) 10 hours ago
.devcontainer a838b6f175 devcontainer: add `gh` CLI (#13905) 2 months ago
.github deeb72b014 build(deps): bump actions/attest-build-provenance from 1 to 2 (#15061) 1 week ago
.husky 576070dd0c build(deps-dev): bump husky from 8.0.3 to 9.0.7 (#12175) 10 months ago
contributing-guides 6613e0f525 14851: Do not use serial comma in negative example (#14852) 4 weeks ago
images 969b2daa48 README: replace animation with PNG for accessibility (#8720) 1 year ago
pages 6159d55166 vitest: add page (#15145) 10 hours ago
pages.ar 7ed998ee1a pages.*/*: remove double spaces (#14856) 3 weeks ago
pages.bn 900d3771eb arch: update documentation link (#15060) 1 week ago
pages.bs 7ed998ee1a pages.*/*: remove double spaces (#14856) 3 weeks ago
pages.ca 4a00a569f9 cp: update documentation link (#15144) 1 day ago
pages.cs f1aa0a8fe5 Revert "pages/*: add standard translation and links (#11331)" (#11374) 1 year ago
pages.da 7ed998ee1a pages.*/*: remove double spaces (#14856) 3 weeks ago
pages.de 4a00a569f9 cp: update documentation link (#15144) 1 day ago
pages.es cf4518d83a qm-wait: add Spanish translation (#15157) 1 day ago
pages.fa 4a00a569f9 cp: update documentation link (#15144) 1 day ago
pages.fi eca02da748 pages*/linux: replace manpages.debian.org with manned.org (#13725) 2 months ago
pages.fr 4a00a569f9 cp: update documentation link (#15144) 1 day ago
pages.hi 5c521c4d4b cksum: update documentation link (#15142) 1 day ago
pages.id 4a00a569f9 cp: update documentation link (#15144) 1 day ago
pages.it 3823ba7fc6 comm: update documentation link (#15143) 1 day ago
pages.ja 4a00a569f9 cp: update documentation link (#15144) 1 day ago
pages.ko 3823ba7fc6 comm: update documentation link (#15143) 1 day ago
pages.lo b70772cd22 linux/pwd: delete translations (#14967) 2 weeks ago
pages.ml 1d950b2127 chmod: update documentation link (#15039) 1 week ago
pages.ne 4a00a569f9 cp: update documentation link (#15144) 1 day ago
pages.nl 3823ba7fc6 comm: update documentation link (#15143) 1 day ago
pages.no 900d3771eb arch: update documentation link (#15060) 1 week ago
pages.pl 4a00a569f9 cp: update documentation link (#15144) 1 day ago
pages.pt_BR 4a00a569f9 cp: update documentation link (#15144) 1 day ago
pages.pt_PT 1d950b2127 chmod: update documentation link (#15039) 1 week ago
pages.ro f1aa0a8fe5 Revert "pages/*: add standard translation and links (#11331)" (#11374) 1 year ago
pages.ru 1d950b2127 chmod: update documentation link (#15039) 1 week ago
pages.sh 379a3803e0 sh: update Serbian-Croatian translation (#11922) 11 months ago
pages.sr f21fa6a211 git*: update outdated pages, fix English pages (#14149) 2 months ago
pages.sv 900d3771eb arch: update documentation link (#15060) 1 week ago
pages.ta 5c521c4d4b cksum: update documentation link (#15142) 1 day ago
pages.th b70772cd22 linux/pwd: delete translations (#14967) 2 weeks ago
pages.tr 4a00a569f9 cp: update documentation link (#15144) 1 day ago
pages.uk 4a00a569f9 cp: update documentation link (#15144) 1 day ago
pages.uz 6bec2f3637 snoop, truss, locale, bugreportz, dumpsys: fix linter issues (#12698) 7 months ago
pages.zh 4a00a569f9 cp: update documentation link (#15144) 1 day ago
pages.zh_TW 4a00a569f9 cp: update documentation link (#15144) 1 day ago
scripts a75d875fa6 pacman-f: add alias page; pacman-files: update page (#14858) 2 weeks ago
.editorconfig a7724b7c2f .editorconfig: set trim_trailing_whitespace to false (#7958) 2 years ago
.flake8 3fa29ea1c2 tooling: add black and flake8 for python formatting/linting (#6454) 3 years ago
.gitattributes 16d7c72f7c .gitattributes: specify eol as LF (#9892) 1 year ago
.gitignore dff913f486 `scripts/_common.py`: add a shared Python file to move duplicated code (#12755) 7 months ago
.markdownlint.json 5e6dc70b2c style-guide: organize content and update sections; *: fix Markdownlint errors (#12148) 7 months ago
CLIENT-SPECIFICATION.md 552a22da2b CLIENT-SPECIFICATION: switch to https and remove `www.` (#13910) 2 months ago
COMMUNITY-ROLES.md 1adda9dd4e README, COMMUNITY-ROLES: fix typos (#12914) 6 months ago
CONTRIBUTING.md b596b78b18 pages/*: standardize mentioning subcommands without the main command (#13626) 2 months ago
GOVERNANCE.md 9902092002 cleanup: fix typos in governance page (#11865) 11 months ago
LICENSE.md a9053792ec LICENSE: switch to https (#13909) 2 months ago
MAINTAINERS.md 1dad6ac4e3 MAINTAINERS: remove @navarroaxel from Org; CODEOWNERS: update file (#14832) 1 month ago
README.md 9f2dde3c36 cleanup: update README (#14534) 1 month ago
package-lock.json 631d44ffb9 build(deps): bump markdownlint-cli from 0.42.0 to 0.43.0 (#15014) 1 week ago
package.json 631d44ffb9 build(deps): bump markdownlint-cli from 0.42.0 to 0.43.0 (#15014) 1 week ago
pages.en af2f6d9d3e Symlink `pages.en` to `pages` (#11139) 1 year ago
requirements.txt 0ea4ea29a8 build(deps): bump black from 24.8.0 to 24.10.0 (#14532) 1 month ago

README.md

tldr-pages

[![Build status][github-actions-image]][github-actions-url] [![Matrix chat][matrix-image]][matrix-url] [![Merged PRs][prs-merged-image]][prs-merged-url] [![GitHub contributors][contributors-image]][contributors-url] [![license][license-image]][license-url] [![Mastodon][mastodon-image]][mastodon-url]

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:

$ 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:

<source media="(prefers-color-scheme: dark)" srcset="https://github.com/tldr-pages/tldr/blob/main/images/tldr-dark.png">
<source media="(prefers-color-scheme: light)" srcset="https://github.com/tldr-pages/tldr/blob/main/images/tldr-light.png">
<img alt="Screenshot of the tldr client displaying the tar command." src="https://github.com/tldr-pages/tldr/blob/main/images/tldr-dark.png">

This repository is just that: an ever-growing collection of examples for the most common UNIX, Linux, macOS, FreeBSD, NetBSD, OpenBSD, SunOS, Android, and Windows 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).

A popular and convenient way to access these pages on your computer is to install the official Node.js client:

npm install -g tldr

Alternatively, you can also use the official Python client, which can be installed via pip3 (or other package managers):

pip3 install tldr

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

brew install tlrc

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!

Similar projects

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

  • 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.

  • 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.

  • 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.