Every Linux user must be familiar with the command ‘man’. The command is used to display instructions on the usage of a command/ utility. It is normally referred to as ‘man pages’ and they have been of great help while using the CLI.
In Unix-like systems, most command line help comes from man pages which are a standard documentation for every unix-like systems. Man pages contain all command line functions, libraries, system calls, formal standards and conventions and they correspond to online manuals. Man pages are extensive and they contain detailed information on how to use a command. However, most users would prefer to search commands online than use man pages because sometimes they contain lengthy explanations which discourages user from using them.
TLDR, short for ‘too long, didn’t read’ are a summarized usage examples of commands for different operating systems. With TLDR, man pages are summarized to produce easy to understand documents with the use of practical examples.
How To Install TLDR on Linux Systems
In this guide we are going to be looking at how to install and use tldr in Ubuntu and CentOS systems. TLDR installation requires NPM and Nodejs. We will first install these two components in our systems.
To install NPM and NodeJS on Ubuntu 24.04, run the below command:
sudo apt update
sudo apt -y install nodejs npm
On CentOS, run the below commands to install NPM and NodeJS.
sudo yum install epel-release -y && sudo yum install nodejs npm
Now install tldr on Ubuntu and CentOS systems by running the below command:
sudo npm install -g tldr
You can also install tldr with snap on Ubuntu as below:
sudo snap install tldr
TLDR Usage Examples
At this time, TLDR has been successfully installed on your Linux systems. The syntax for getting help with tldr is as shown below:
$ tldr <command>
Where you replace <command> with the actual utility or command which you want to use.
Man page for ‘ls’ command
$ tldr ls
ls
List directory contents.
More information: https://www.gnu.org/software/coreutils/manual/html_node/ls-invocation.html.
- List files one per line:
ls -1
- List all files, including hidden files:
ls [-a|--all]
- List files with a trailing symbol to indicate file type (directory/, symbolic_link@, executable*, ...):
ls [-F|--classify]
- List all files in [l]ong format (permissions, ownership, size, and modification date):
ls [-la|-l --all]
- List files in [l]ong format with size displayed using human-readable units (KiB, MiB, GiB):
ls [-lh|-l --human-readable]
- List files in [l]ong format, sorted by [S]ize (descending) recursively:
ls [-lSR|-lS --recursive]
- List files in [l]ong format, sorted by [t]ime the file was modified and in reverse order (oldest first):
ls [-ltr|-lt --reverse]
- Only list directories:
ls [-d|--directory] */
Man page for ‘curl’ command
$ tldr curl
curl
Transfers data from or to a server.
Supports most protocols, including HTTP, HTTPS, FTP, SCP, etc.
More information: https://curl.se/docs/manpage.html.
- Make an HTTP GET request and dump the contents in stdout:
curl https://example.com
- Make an HTTP GET request, follow any 3xx redirects, and dump the reply headers and contents to stdout:
curl [-L|--location] [-D|--dump-header] - https://example.com
- Download a file, saving the output under the filename indicated by the URL:
curl [-O|--remote-name] https://example.com/filename.zip
- Send form-encoded data (POST request of type application/x-www-form-urlencoded). Use --data @file_name or --data @'-' to read from stdin:
curl [-X|--request] POST [-d|--data] 'name=bob' http://example.com/form
- Send a request with an extra header, using a custom HTTP method and over a proxy (such as BurpSuite), ignoring insecure self-signed certificates:
curl [-k|--insecure] [-x|--proxy] http://127.0.0.1:8080 [-H|--header] 'Authorization: Bearer token' [-X|--request] GET|PUT|POST|DELETE|PATCH|... https://example.com
- Send data in JSON format, specifying the appropriate Content-Type header:
curl [-d|--data] '{"name":"bob"}' [-H|--header] 'Content-Type: application/json' http://example.com/users/1234
- Pass client certificate and key for a resource, skipping certificate validation:
curl [-E|--cert] client.pem --key key.pem [-k|--insecure] https://example.com
- Resolve a hostname to a custom IP address, with verbose output (similar to editing the /etc/hosts file for custom DNS resolution):
curl [-v|--verbose] --resolve example.com:80:127.0.0.1 http://example.com
To list all the commands for a specific platform, use -l option.
$ tldr -l
7z, 7za, 7zr, a2disconf, a2dismod, a2dissite, a2enconf, a2enmod, a2ensite, a2query, aapt, ab, abduco, ac, ack, acpi, act, adb, adb-install, adb-reverse, adb-shell, add-apt-repository, addpart, addr2line, adduser, adguardhome, ag, airpaste, ajson, alacritty, alex, alias, alpine, amass, amass-db, amass-enum, amass-intel, amass-track, amass-viz, amixer, androguard, ansible, ansible-doc, ansible-galaxy, ansible-playbook, ansible-pull, ansible-vault, ansiweather, ant, apache2ctl, apg, apk, apktool, aplay, apm, apport-bug, apropos, apt, apt-add-repository, apt-cache, apt-file, apt-get, apt-key, apt-mark, aptitude, ar, arc, arch, archey, archlinux-java, arecord, aria2, aria2c, arithmetic, ark, arp, arp-scan, arping, as, asar, ascii, asciinema, asdf, aspell, assimp, asterisk, astronomer, astyle, at, atom, atoum, atq, atrm, auracle, authconfig, autoflake, autojump, autorandr, autossh, avahi-browse, avrdude, awk, aws, aws-ec2, aws-glue, aws-google-auth, aws-iam, aws-kinesis, aws-lambda, aws-quicksight, aws-s3, aws-vault, awslogs, axel, az, b2sum, babel, badblocks, balena, banner, base32, base64, basename, bash, bashmarks, bastet, bat, batch, bc, beanstalkd, bedtools, beep, behat, berks, betterlockscreen, bg, binwalk, bison, bitcoin-cli, bitwise, black, blackfire, blender, blkdiscard, blkid, bluetoothctl, bmaptool, bmon, boot, borg, bosh, bower, box, bpftrace, bpytop, brctl, brew, browser-sync, btm, btrfs, buku, bundle, bup, buzzphrase, bw, bzip2, c99, cabal, cake, cal, calc, calcurse, calendar, calibre-server, calibredb, carbon-now, cargo, cargo-build, cargo-clippy, cargo-doc, cargo-rustc, cargo-test, case, cat, cd, cdk, ceph, certbot, cewl, cf, cfdisk, chage, chars, chattr, chcon, chcpu, cheat, check-support-status, chezmoi, chfn, chgrp, chisel, chkconfig, chmod, chown, chroma, chromium, chroot, chsh, cksum, clamav, clamscan, clang, clang-format, clear, clementine, cloc, clockwork-cli, cloudflared, cmake, cmark, cmatrix, cmp, cmus, code, coffee, collectd, colordiff, colrm, column, comm, command, compare, compgen, complete, compose, composer, conda, conky, consul, consul-kv, convert, convmv, copyq, cordova, cotton, couchdb, cowsay, cp, cpdf, cpio, cppcheck, cppclean, cpufreq-aperf, cpufreq-info, cpufreq-set, cpuid, cpulimit, cradle, cradle deploy, cradle elastic, cradle install, cradle package, cradle sql, cradle-deploy, cradle-elastic, cradle-install, cradle-package, cradle-sql, create_ap, croc, crontab, crunch, cryfs, cryptsetup, crystal, csc, csplit, csslint, csvclean, csvcut, csvformat, csvgrep, csvkit, csvlook, csvpy, csvsort, csvsql, csvstat, csvtool, ctags, ctest, ctr, ctrlaltdel, curl, cut, daemonize, darkhttpd, dash, datamash, date, dbus-daemon, dc, dcfldd, dcg, dd, ddrescue, debchange, debman, debugfs, debuild, decaffeinate, deemix, delta, deluge, deluge-console, deluged, deluser, deno, dep, detox, dexdump, dexter, df, dfc, dget, dhclient, dhcpwn, diff, diff3, diffoscope, diffstat, dig, dircolors, direnv, dirname, dirs, dirsearch, disown, dive, django-admin, dmenu, dmesg, dmidecode, dnf, dnsrecon, do-release-upgrade, doas, docker, docker-build, docker-compose, docker-containers, docker-exec, docker-images, docker-inspect, docker-logs, docker-machine, docker-network, docker-ps, docker-rmi, docker-run, docker-save, docker-secret, docker-service, docker-start, docker-swarm, docker-system, dockerd, dokku, dos2unix, dot, dotnet, dotnet-build, dotnet-publish, dotnet-restore, doxygen, dpkg, dpkg-deb, dpkg-query, drill, drupal, drupal-check, drush, dstat, du, dua, dumpe2fs, dunstify, duperemove, duplicity, dvc, dvc-add, dvc-checkout, dvc-commit, dvc-config, dvc-dag, dvc-destroy, dvc-diff, dvc-fetch, dvc-freeze, dvc-gc, dvc-init, dvc-unfreeze, e2freefrag, e2fsck, e2image, e2label, e4defrag, ebook-convert, ebuild, echo, ect, ed, edit, edquota, efibootmgr, eix, eject, electron-packager, electrum, elinks, elixir, elm, emacs, emacsclient, ember, emerge, emulator, enca, enscript, entr, enum4linux, env, envoy, envsubst, equery, erl, eslint, espeak, etckeeper, ethtool, eva, eval, evil-winrm, exa, exec, exif, exiftool, exit, exiv2, expand, expect, export, expose, expr, extrace, extundelete, eyeD3, f3fix, f3probe, f3read, f3write, f5fpc, factor, fail2ban-client, faketime, fallocate, false, fastboot, fatlabel, fc, fc-cache, fc-list, fc-match, fc-pattern, fcrackzip, fd, fdisk, fdroid, fdroidcl, fdupes, feedreader, feh, ffmpeg, ffprobe, ffsend, fg, fgrep, figlet, file, file-rename, filefrag, fin, find, findfs, findmnt, finger, firebase, firefox, firejail, firewall-cmd, fish, fisher, fkill, flac, flameshot, flash, flask, flatpak, flex, fls, flutter, fly, fmt, fnm, fold, for, foreman, forever, fortune, fossa, fping, free, fsck, fselect, fstrim, fswatch, fswebcam, ftp, fuck, func, fuser, fzf, g++, gatsby, gcal, gcalcli, gcc, gcloud, gcov, gdalbuildvrt, gdb, gdrive, gedit, gem, genie, genkernel, getent, getfacl, geth, gh, gh-auth, gh-config, gh-gist, gh-issue, gh-pr, gh-release, gh-repo, ghc, ghci, ghdl, ghost, gibo, gifsicle, gist, git, git-add, git-am, git-annex, git-apply, git-archive, git-bisect, git-blame, git-branch, git-bundle, git-cat-file, git-check-ignore, git-checkout, git-cherry, git-cherry-pick, git-clean, git-clone, git-commit, git-config, git-describe, git-diff, git-difftool, git-fetch, git-flow, git-format-patch, git-fsck, git-gc, git-grep, git-help, git-ignore, git-imerge, git-init, git-instaweb, git-lfs, git-log, git-ls-files, git-ls-remote, git-ls-tree, git-
To list all supported commands in the cache, we use -a option.
$ tldr -a
7z, 7za, 7zr, GetFileInfo, LICENSE, a2disconf, a2dismod, a2dissite, a2enconf, a2enmod, a2ensite, a2query, aapt, ab, abduco, ac, ack, acpi, act, adb, adb-install, adb-reverse, adb-shell, add-apt-repository, addpart, addr2line, adduser, adguardhome, afinfo, afplay, ag, airpaste, airport, ajson, alacritty, alex, alias, alpine, amass, amass-db, amass-enum, amass-intel, amass-track, amass-viz, amixer, androguard, ansible, ansible-doc, ansible-galaxy, ansible-playbook, ansible-pull, ansible-vault, ansiweather, ant, apache2ctl, apachectl, apg, apk, apktool, aplay, apm, apport-bug, apropos, apt, apt-add-repository, apt-cache, apt-file, apt-get, apt-key, apt-mark, aptitude, ar, arc, arch, archey, archlinux-java, arecord, aria2, aria2c, arithmetic, ark, arp, arp-scan, arping, as, asar, ascii, asciinema, asdf, aspell, asr, assimp, assoc, asterisk, astronomer, astyle, at, atom, atoum, atq, atrm, attrib, auracle, authconfig, autoflake, autojump, autorandr, autossh, avahi-browse, avrdude, awk, aws, aws-ec2, aws-glue, aws-google-auth, aws-iam, aws-kinesis, aws-lambda, aws-quicksight, aws-s3, aws-vault, awslogs, axel, az, azcopy, b2sum, babel, badblocks, balena, banner, base32, base64, basename, bash, bashmarks, bastet, bat, batch, bc, beanstalkd, bedtools, beep, behat, berks, betterlockscreen, bg, binwalk, bison, bitcoin-cli, bitwise, black, blackfire, blender, bless, blkdiscard, blkid, bluetoothctl, bmaptool, bmon, boot, borg, bosh, bower, box, bpftrace, bpytop, brctl, brew, brew-bundle, brew-cask, brew-mas, brightness, browser-sync, btm, btrfs, buku, bundle, bup, buzzphrase, bw, bzip2, c99, cabal, caffeinate, cake, cal, calc, calcurse, calendar, calibre-server, calibredb, carbon-now, cargo, cargo-build, cargo-clippy, cargo-doc, cargo-rustc, cargo-test, carthage, case, cat, cd, cdk, ceph, certbot, cewl, cf, cfdisk, chage, chars, chattr, chcon, chcpu, cheat, check-support-status, chezmoi, chflags, chfn, chgrp, chisel, chkconfig, chkdsk, chmod, choco, choco-apikey, choco-feature, choco-info, choco-install, choco-list, choco-new, choco-outdated, choco-pack, choco-pin, choco-search, choco-source, choco-uninstall, choco-upgrade, choice, chown, chroma, chromium, chroot, chsh, cipher, cksum, clamav, clamscan, clang, clang-format, clear, clementine, clip, cloc, clockwork-cli, cloudflared, cls, cmake, cmark, cmatrix, cmd, cmp, cmstp, cmus, code, codesign, coffee, collectd, color, colordiff, colrm, column, comm, command, comp, compare, compgen, complete, compose, composer, conda, conky, consul, consul-kv, convert, convmv, copyq, cordova, cotton, couchdb, cowsay, cp, cpdf, cpio, cppcheck, cppclean, cpufreq-aperf, cpufreq-info, cpufreq-set, cpuid, cpulimit, cradle, cradle deploy, cradle elastic, cradle install, cradle package, cradle sql, cradle-deploy, cradle-elastic, cradle-install, cradle-package, cradle-sql, create_ap, croc, crontab, crunch, cryfs, cryptsetup, crystal, csc, csplit, csshX, csslint, csvclean, csvcut, csvformat, csvgrep, csvkit, csvlook, csvpy, csvsort, csvsql, csvstat, csvtool, ctags, ctest, ctr, ctrlaltdel, curl, cut, daemonize, darkhttpd, dash, datamash, date, dbus-daemon, dc, dcfldd, dcg, dd, ddrescue, debchange, debman, debugfs, debuild, decaffeinate, deemix, defaults, del, delta, deluge, deluge-console, deluged, deluser, deno, dep, detox, devfsadm, dexdump, dexter, df, dfc, dget, dhclient, dhcpwn, diff, diff3, diffoscope, diffstat, dig, dir, dircolors, direnv, dirname, dirs, dirsearch, diskutil, disown, ditto, dive, django-admin, dmenu, dmesg, dmidecode, dnf, dnsrecon, do-release-upgrade, doas, docker, docker-build, docker-compose, docker-containers, docker-exec, docker-images, docker-inspect, docker-logs, docker-machine, docker-network, docker-ps, docker-rmi, docker-run, docker-save, docker-secret, docker-service, docker-start, docker-swarm, docker-system, dockerd, dokku, dos2unix, doskey, dot, dotnet, dotnet-build, dotnet-publish, dotnet-restore, doxygen, dpkg, dpkg-deb, dpkg-query, drill, driverquery, drupal, drupal-check, drush, drutil, dstat, du, dua, dumpe2fs, dunstify, duperemove, duplicity, duti, dvc, dvc-add, dvc-checkout, dvc-commit, dvc-config, dvc-dag, dvc-destroy, dvc-diff, dvc-fetch, dvc-freeze, dvc-gc, dvc-init, dvc-unfreeze, e2freefrag, e2fsck, e2image, e2label, e4defrag, ebook-convert, ebuild, echo, ect, ed, edit, edquota, efibootmgr, eix, eject, electron-packager, electrum, elinks, elixir, elm, emacs, emacsclient, ember, emerge, emulator, enca, enscript, entr, enum4linux, env, envoy, envsubst, equery, erl, eslint, espeak, etckeeper, ethtool, eva, eval, eventcreate, evil-winrm, exa, exec, exif, exiftool, exit, exiv2, expand, expect, explorer, export, expose, expr, extrace, extundelete, eyeD3, f3fix, f3probe, f3read, f3write, f5fpc, factor, fail2ban-client, faketime, fallocate, false, fastboot, fatlabel, fc, fc-cache, fc-list, fc-match, fc-pattern, fcrackzip, fd, fdesetup, fdisk, fdroid, fdroidcl, fdupes, feedreader, feh, ffmpeg, ffprobe, ffsend, fg, fgrep, figlet, file, file-rename, filefrag, fin, find, findfs, findmnt, findstr, finger, firebase, firefox, firejail, firewall-cmd, fish, fisher, fkill, flac, flameshot, flash, flask, flatpak, flex, fls, flutter, fly, fmt, fnm, fold, fondue, for, foreman, forever, forfiles, fortune, fossa, fping, free, fsck, fselect, fstrim, fswatch, fswebcam, ftp, ftype, fuck, func, fuser, fzf, g++, gatsby, gcal, gcalcli, gcc, gcloud, gcov, gdalbuildvrt, gdb, gdrive, gedit, gem, genie, genkernel, getent, getfacl, geth, getmac, gh, gh-auth, gh-config, gh-gist, gh-issue, gh-pr, gh-release, gh-repo, ghc, ghci, ghdl, ghost, gibo, gifsicle, gist, git, git-add, git-am, git-annex, git-apply, git-archive, git-bisect, git-blame, git-branch, git-bundle, git-cat-file, git-check-ignore, git-checkout, git-cherry, git-cherry-pick, git-clean, git-clone, git-commit, git-config, git-describe, git-diff, git-difftool, git-fetch, git-flow, git-format-patch, git-fsck, git-gc, git-grep, git-help, git-ignore, git-imerge, git-init, git-instaweb, git-lfs, git-log, git-ls-files, git-ls-remote, git-ls-tree, git-merge, git-mergetool, git-mv, git-notes, git-pr, git-prune, git-pull, git-push, git-rebase, git-reflog, git-remote, git-repack, git-replace, git-request-pull, git-reset, git-restore, git-rev-list, git-rev-parse, git-revert, git-rm, git-send-email, git-shortlog, git-show, git-show-branch, git-show-ref, git-sizer, git-stage, git-stash, git-status, git-submodule, git-subtree, git-svn, git-switch, git-tag,
To update or clear local, run the below command:
$ tldr -u #update local cache
#OR
$ tldr -c #clear local cache
You can search pages using keywords using -s option. For example:
$ tldr -s "list of all files, sorted by modification date"
Searching for: list of all files, sorted by modification date
$ sort
$ date
$ ls
$ uniq
$ exa
$ tsort
$ csvsort
$ gtop
$ vdir
Run tldr <command> to see specific pages.
You can show a random command using -r
$ tldr -r
PAGE supervisorctl
supervisorctl
Supervisor is a client/server system that allows its users to control a number of processes on UNIX-like operating systems.
Supervisorctl is the command-line client piece of the supervisor which provides a shell-like interface.
More information: http://supervisord.org.
- Start/stop/restart a process:
supervisorctl start|stop|restart process_name
- Start/stop/restart all processes in a group:
supervisorctl start|stop|restart group_name:*
- Show last 100 bytes of process stderr:
supervisorctl tail -100 process_name stderr
- Keep displaying stdout of a process:
supervisorctl tail -f process_name stdout
- Reload process config file to add/remove processes as necessary:
supervisorctl update
To get more usage of tldr, run the command “tldr tldrl” as below:
$ tldr tldrl
tldrl
Lint and format tldr pages.
More information: https://github.com/tldr-pages/tldr-lint.
- Lint all pages:
tldrl pages_directory
- Format a specific page to stdout:
tldrl -f page.md
- Format all pages in place:
tldrl -fi pages_directory
See also: tldr
That’s it. Enjoy using TLDR! More informative Linux commands below: