📚 Collaborative cheatsheets for console commands https://tldr.sh
Find a file
Managor 73c7fc569a
Some checks failed
CI / CI (push) Has been cancelled
*: fix typos with indefinite articles (#20957)
2026-01-31 17:06:39 +02:00
.devcontainer devcontainer: add gh CLI (#13905) 2024-10-02 12:14:02 +02:00
.github build(deps): bump actions/setup-python from 6.1.0 to 6.2.0 (#20902) 2026-01-27 05:12:03 +01:00
.husky build(deps-dev): bump husky from 8.0.3 to 9.0.7 (#12175) 2024-02-01 16:39:13 +01:00
contributing-guides translation-templates/common-arguments add missing German translations (#20843) 2026-01-27 20:46:25 +02:00
images Wiki: add screenshot for tldrview in Wiki (#20912) 2026-01-29 17:32:10 +11:00
pages *: fix typos with indefinite articles (#20957) 2026-01-31 17:06:39 +02:00
pages.ar stat: add short/long options (#20921) 2026-01-28 18:26:09 +02:00
pages.bn xz: add bangla translation (#20930) 2026-01-30 11:26:20 +07:00
pages.bs *: set see also section with a script (#20479) 2026-01-01 18:38:54 +01:00
pages.ca dmidecode: add short/long options (#20798) 2026-01-19 09:28:50 +07:00
pages.cs *: set see also section with a script (#20479) 2026-01-01 18:38:54 +01:00
pages.da *: fix regex mentions in some translations (#20485) 2026-01-02 15:12:26 +01:00
pages.de ffprobe: add short/long options (#20944) 2026-01-30 16:03:47 +02:00
pages.el cat, mkdir, rmdir: add Greek translations (#20838) 2026-01-21 17:40:58 +02:00
pages.es audacious: update Spanish translation (#20950) 2026-01-31 13:23:34 +07:00
pages.fa todo: add short/long options (#20785) 2026-01-18 21:59:19 +02:00
pages.fi git-continue: add translations (#20404) 2025-12-30 10:04:35 +01:00
pages.fr ark: add short/long options (#20888) 2026-01-24 13:21:00 +02:00
pages.hi stat: add short/long options (#20921) 2026-01-28 18:26:09 +02:00
pages.id ruby: add missing quotes to translations (#20855) 2026-01-22 20:36:04 +11:00
pages.it ffprobe: add short/long options (#20944) 2026-01-30 16:03:47 +02:00
pages.ja ffprobe: add short/long options (#20944) 2026-01-30 16:03:47 +02:00
pages.ko ffprobe: add short/long options (#20944) 2026-01-30 16:03:47 +02:00
pages.lo git-continue: add translations (#20404) 2025-12-30 10:04:35 +01:00
pages.ml aspell: remove unnecessary = sign (#20756) 2026-01-16 06:51:16 +02:00
pages.ne ls: fix short/long options for translations (#20665) 2026-01-09 23:20:38 -08:00
pages.nl awk: update Dutch translation (#20932) 2026-01-30 11:23:27 +07:00
pages.no *: set see also section with a script (#20479) 2026-01-01 18:38:54 +01:00
pages.pl eslint: add short/long options (#20920) 2026-01-28 18:26:33 +02:00
pages.pt_BR jwt: add short/long options (#20943) 2026-01-30 11:14:28 +02:00
pages.pt_PT *: set see also section with a script (#20479) 2026-01-01 18:38:54 +01:00
pages.ro git-merge-{base,index,into,one-file,repo,tree}: add Romanian translation (#20676) 2026-01-10 17:52:17 +02:00
pages.ru tldr: update Russian translation (#20938) 2026-01-30 15:15:24 +02:00
pages.sr *: set see also section with a script (#20479) 2026-01-01 18:38:54 +01:00
pages.sv ls: add Swedish translation (#20464) 2026-01-02 02:21:01 +02:00
pages.ta ruby: add missing quotes to translations (#20855) 2026-01-22 20:36:04 +11:00
pages.th ls: fix short/long options for translations (#20665) 2026-01-09 23:20:38 -08:00
pages.tr anki: add short/long options (#20683) 2026-01-12 03:24:17 +02:00
pages.uk *: set see also section with a script (#20479) 2026-01-01 18:38:54 +01:00
pages.uz git-continue: add translations (#20404) 2025-12-30 10:04:35 +01:00
pages.zh jwt: add short/long options (#20943) 2026-01-30 11:14:28 +02:00
pages.zh_TW wsl: add short/long options, fix filepaths (#20719) 2026-01-13 07:13:05 +02:00
scripts scripts/deploy: stop deploying to tldr.sh/assets (#20565) 2026-01-20 22:35:49 +05:30
.editorconfig .editorconfig: set trim_trailing_whitespace to false (#7958) 2022-04-15 23:48:17 -03:00
.flake8 tooling: add black and flake8 for python formatting/linting (#6454) 2021-09-03 12:17:51 -03:00
.gitattributes .gitattributes: specify eol as LF (#9892) 2023-02-26 18:31:31 -03:00
.gitignore Ignore debug.log 2025-06-01 11:04:37 +02:00
.markdownlint.json !: consistent page title and filename (#16725) 2025-06-02 18:51:32 +02:00
CLIENT-SPECIFICATION.md *: unify UK/US word differences (#20013) 2025-12-15 11:11:11 +02:00
COMMUNITY-ROLES.md COMMUNITY-ROLES: adjust the welcome message to feel more natural (#20320) 2025-12-28 11:02:42 +01:00
CONTRIBUTING.md style-guide: remove duplicated rules and update translation dashboard link (#20225) 2025-12-24 21:35:57 +02:00
GOVERNANCE.md cleanup: fix typos in governance page (#11865) 2023-12-28 16:43:30 +01:00
LICENSE.md LICENSE: switch to https (#13909) 2024-10-01 15:15:29 +02:00
MAINTAINERS.md MAINTAINERS: add @BananaaaKING as collaborator (#20513) 2026-01-02 23:50:32 -05:00
package-lock.json build(deps): bump tldr-lint from 0.0.21 to 0.0.22 (#20567) 2026-01-06 00:10:15 +02:00
package.json build(deps): bump tldr-lint from 0.0.21 to 0.0.22 (#20567) 2026-01-06 00:10:15 +02:00
pages.en Symlink pages.en to pages (#11139) 2023-10-21 22:02:19 +02:00
README.md README: update installation section (#19252) 2025-11-09 17:24:08 +05:30
requirements.txt build(deps): bump black from 25.11.0 to 25.12.0 (#20467) 2026-01-01 13:53:29 +05:30

tldr-pages

Build status Matrix chat Merged PRs GitHub contributors license Mastodon

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:

Screenshot of the tldr client displaying the tar command.

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

A popular and convenient way to access these pages on your computer is to install the official Python client, which can be installed from PyPI via pipx (or other package managers):

pipx 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

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

winget install tldr-pages.tlrc

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

npm install -g 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!

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.