Git Product home page Git Product logo

tldr's Introduction

tldr-pages

Build status Matrix chat Merged PRs GitHub contributors license

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 seems to be room for simpler help pages, focused on practical examples. How about:

Screenshot of the tldr client displaying the tar command in light mode. Screenshot of the tldr client displaying the tar command in dark mode.

This repository is just that: an ever-growing collection of examples for the most common UNIX, Linux, macOS, 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 releases 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 which 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 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 *nix 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.

tldr's People

Contributors

acuteenvy avatar agnivade avatar andrik avatar bl-ue avatar cleanmachine1 avatar fazlearefin avatar felixonmars avatar gutjuri avatar igorshubovych avatar imhojeong avatar ivanhercaz avatar kant avatar kbdharun avatar leostera avatar managor avatar marchersimon avatar mbiesiad avatar mebeim avatar navarroaxel avatar owenvoke avatar oxguy3 avatar pixelcmtd avatar reinhart1010 avatar rprieto avatar sbrl avatar sebastiaanspeck avatar starccy avatar vitorhcl avatar waldyrious avatar wizarot avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

tldr's Issues

Sorry, your platform is not supported yet (linux)

This is the result of doing tldr tar on my Ubuntu 13.04 :

ERROR: tar command not available
Consider contributing Pull Request to https://github.com/rprieto/tldr

Running the script manually (after cloning the project) this is what I get :

$ sudo ./bin/tldr tar

/home/polo/Work/testnode/tldr/lib/remote.js:13
    throw new Error('Sorry, your platform is not supported yet (' + os.platfor
          ^
Error: Sorry, your platform is not supported yet (linux)
    at osGroup (/home/polo/Work/testnode/tldr/lib/remote.js:13:11)
    at Object.exports.url (/home/polo/Work/testnode/tldr/lib/remote.js:6:36)
    at getRemote (/home/polo/Work/testnode/tldr/lib/request.js:16:20)
    at /home/polo/Work/testnode/tldr/lib/request.js:8:7
    at /home/polo/Work/testnode/tldr/node_modules/async/lib/async.js:485:30
    at /home/polo/Work/testnode/tldr/lib/cache.js:28:7
    at Object.oncomplete (fs.js:107:15)

Please consider supporting linux, or indicate if this is a Mac OS only tool in the README.

ipcs

Display information about ressources used in IPC (Inter-process Communication).

Examples :
ipcs -qi 32768

Specific infomration about the Message Queue witch has the id 32768

ipcs -a

General informations about all the IPC

see ipcrm to deallocate IPC ressources

can't render

Rendering a local file fails like so on the npm version.

$ tldr --render test.md

/usr/local/lib/node_modules/tldr/lib/tldr.js:55
    console.log(output.fromMarkdown(fs.readFileSync(file) + ''));
                ^
ReferenceError: output is not defined
    at Object.exports.render (/usr/local/lib/node_modules/tldr/lib/tldr.js:55:17)
    at Object.<anonymous> (/usr/local/lib/node_modules/tldr/bin/tldr:54:42)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Function.Module.runMain (module.js:497:10)
    at startup (node.js:119:16)
    at node.js:929:3
$ cat test.md
#hi

how are you

- how
- is
- your
- day

add quick install to readme?

am I just blind or isn't there a very quick install instruction in the readme, such as:
npm install -g tldr

you should definetly have one

New pages structure

(copied form the conversation at #147)

The current folder structure looks like:

pages
  |__ common
  |   |__ tar.md         # gnu command everyone should have
  |   |__ ssh.md         # gnu command everyone should have
  |   |__ npm.md         # just a tool that could be installed on any OS
  |__ linux
  |   |__ emerge.md      # clearly a linux-only tool
  |__ osx
      |__ ssh.md         #  OSX has a different version with different flags

This has worked so far, but

  • the split can feel arbitrary
  • you need to jump around to see if a command is already covered
  • clients potentially need to make a lot of requests to get a given page

There seems to be a consensus among clients to move to a flatter folder structure, that would look like this:

pages
   |__ tar.md
   |__ ssh.md
   |__ ssh.osx.md
   |__ emerge.md
   |__ npm.md

By default, we can display <command>.md, but <command>.<os>.md should have precedence if available.

This means the clients would let OSX users query Linux commands, but after all why not, they might just be curious about it. Or they might be using tldr on a Mac while SSHing on a Linux box that doesn't have it.

To clear up platform constraints, the description for emerge for example could say "for Linux" or "Gentoo specific command".

This would be a breaking change though, so we need a plan of attack. One option is to address all open PRs to get to a stable state, then copy all pages to the new structure. The old structure can live on for a while until all clients update. The PR guidelines would say to push changes to the new structure only.

Installing with Homebrew Cask

I saw a way to install with npm, pip, and go, but was wondering if there was a way to set it up for Homebrew or Homebrew Cask for Mac/Unix.

Universal format (style guide)

tldr should have Markdown styleguide because pages looks much better with same syntax. Also, there should be writing format.

You have no license

In a cursory look through this repository, there is no license available. This means that contributors will be skittish, redistributors will be punishable under U.S. and other copyright law, and don't even get me started about redistributing modified copies.

Please say something about a license in your README, include the full text of the license you choose in a COPYING file, and (ideally) add copyright and license headers in each file in the project.

Thanks!

Allow specifying platform in tldr command line

tldr --platform gnu ln

Each platform uses its own version of a tool (BSD vs GNU, for instance), but in some cases the native platform version may be superseded by another version. (Related to #61)

OS X uses BSD ln

os x$ ln -h
usage: ln [-Ffhinsv] source_file [target_file]
       ln [-Ffhinsv] source_file ... target_dir
       link source_file target_file

Linux tends to use GNU ln

gnu$ ln --help
Usage: ln [OPTION]... [-T] TARGET LINK_NAME   (1st form)
  or:  ln [OPTION]... TARGET                  (2nd form)
  or:  ln [OPTION]... TARGET... DIRECTORY     (3rd form)
  or:  ln [OPTION]... -t DIRECTORY TARGET...  (4th form)
In the 1st form, create a link to TARGET with the name LINK_NAME.
In the 2nd form, create a link to TARGET in the current directory.
In the 3rd and 4th forms, create links to each TARGET in DIRECTORY.
... and so on ...

SunOS uses SunOS ln

sunos$ /usr/bin/ln -h
/usr/bin/ln: illegal option -- h
ln: Insufficient arguments (0)
Usage: ln [-f] [-n] [-s] f1 [f2]
       ln [-f] [-n] [-s] f1 ... fn d1
       ln [-f] [-n] -s d1 d2

(Though in some SmartOS images, the ln tool is symlinked to GNU ln)

Should support -v argument to check version

I am happy to see tldr now supports multi platforms. But when I run tldr zip, not found error was given. I used npm update to update tldr, but it is still not working. Maybe the new version is not published yet? But I am not able to check the version.

Not able to install using pip

This is strange. I'm able to find the package in https://pypi.python.org/ , but if I try to install it using pip or easy_install, it fails saying it can't be found.
I'm under Ubuntu 13.04.

Commands output:

⮀ sudo pip install tldr
Downloading/unpacking tldr
  Could not find any downloads that satisfy the requirement tldr
No distributions at all found for tldr
Storing complete log in /home/fisa/.pip/pip.log

⮀ sudo easy_install tldr
Searching for tldr
Reading https://pypi.python.org/simple/tldr/
No local packages or download links found for tldr
error: Could not find suitable distribution for Requirement.parse('tldr')

Doesn't work behing a proxy

➜ ~ tldr curl
ERROR: tldr not available (check your internet connection)
➜ ~ env | grep proxy
http_proxy=http://user:password@company:port
https_proxy=http://user:password@company:port

netstat tldr

Hi,

I want to merge a netstat tldr.
I am not sure how to go about getting it reviewed and creating merge request. Pls help.

Thanks,
Amit

Installation from npmjs.org broken (version 0.0.5)

It looks like there is something wrong on https://registry.npmjs.org/tldr/-/tldr-0.0.5.tgz - I'll get a {"error":"not_found","reason":"Document is missing attachment"}

0.0.4 is available and can be installed with npm.

npm install -g tldr
npm http GET https://registry.npmjs.org/tldr
npm http 304 https://registry.npmjs.org/tldr
npm http GET https://registry.npmjs.org/tldr/-/tldr-0.0.5.tgz
npm http 404 https://registry.npmjs.org/tldr/-/tldr-0.0.5.tgz
npm ERR! fetch failed https://registry.npmjs.org/tldr/-/tldr-0.0.5.tgz
npm ERR! Error: 404 Not Found
...

ar

Create, modify, and extract from archives (.a .so .o)

Examples :
ar -x libfoo.a

Extract members of the archive.

ar -t libfoo.a

List the content (files) of libfoo.a.

leostera/tldr.js – web client

Hi there guys,

Both amused by the tldr concept and eager to try out duo, I put this together as a simple test: https://github.com/leostera/tldr.js

I'll throw some styles to it as soon as I get some free time, and I think if the rate-limits from the github api can be worked around then this could be nice to have?

Anywho, cheers!

colorscheme unreadable under solarized light

How to disable the colorscheme of tldr ? As things stand, only the command lines are readable.

Tested with

  • Konsole (that ships with Solarized Light by default),
  • urxvt, and
  • Xterm

Common logics

Is the common pages just for Linux and OS X, or also for SunOS?

Err.. How to uninstall it on Linux.

I tried

npm rm tldr.

It shows..

npm WARN uninstall not installed in /node_modules: "tldr"

By the way... I tried tldr tar also.

ERROR: tar command not available
Consider contributing Pull Request to https://github.com/rprieto/tldr

Add man

First thing I did when I tried it out tldr man . I don't know why, it was just a reaction

Collaborate with bropages/cheat?

(Note for context: this issue was created with the title "Collaborate with bropages?")

It's quite unfortunate that there are two projects splitting the mindshare of easily approachable, community-maintained quick reference documents for console commands: tldr and bropages.

I didn't find signs of any past discussion, so I'd thought I'd mention the possibility and call the maintainers @rprieto and @hubsmoke (and all interested parties, of course) to go over the possibilities.

To kick things off, it might be worth discussing:

  • the merits of the friendlier submission mechanism of bropages and the possibilities of tldr adopting such a workflow
  • the many-competing-versions model of bropages versus the more wiki-like single-canonical-document model of tldr
  • the possibility of developing a Ruby-based tldr client (done since #288)
  • whether a web-based client like tldr.js connecting to both databases could be a nice first step towards greater integration

What do you guys think?

Have updates

@rprieto At month ago I installed tldr. Work perfect. But now I want have updates which was created. What should I do ?

os has no method tmpdir

Currently when I do:

tldr lsof

I get an error:

var FOLDER = path.join(os.tmpdir(), 'tldr-cache');
                          ^
TypeError: Object #<Object> has no method 'tmpdir'
    at Object.<anonymous> (/usr/local/lib/node_modules/tldr/lib/cache.js:8:27)
    at Module._compile (module.js:449:26)
    at Object.Module._extensions..js (module.js:467:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.require (module.js:362:17)
    at require (module.js:378:17)
    at Object.<anonymous> (/usr/local/lib/node_modules/tldr/lib/request.js:2:15)
    at Module._compile (module.js:449:26)
    at Object.Module._extensions..js (module.js:467:10)

Feature request: `tldr --random` -> show me a random tldr applicable for my system

Hey there,
I just came across tldr (thanks, The Changelog) and think that the idea is awesome!

I just had an idea that I think would be great for people to discover new command lines: tldr --random. It would show a tldr, randomly for your OS. One could have it executed maybe on Terminal's boot, or whatever.

What do you think? I did not look at the code, so I have no idea of the project's structure make it easy to do or not. Also, I have no clue if you think that would be useful or not.

Thanks!

Some way in which to customise colours?

Hey,

Firstly, thanks for this, it's a fantastic idea.

It would be great if there was a some way in which to override the colour scheme used by tldr. Here is how it's currently looking in my terminal:

screen shot 2014-06-10 at 06 46 41

Cheers!

Update fails

z* master » tldr grep
Page not found
Try updating with --update, or submit a pull request to 
http://github.com/tldr-pages/tldr

z* master » tldr --update
Updating...
Error: invalid signature: 0x6d6f632f
    at /Users/z/.nvm/v0.10.35/lib/node_modules/tldr/node_modules/unzip/lib/parse.js:59:13
    at processImmediate [as _immediateCallback] (timers.js:354:15)

z* master » npm -v
2.5.0

z* master » node -v
v0.10.35

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.