tldrコマンドで簡潔に概要を理解

TL;DRというスラングを知っているだろうか?英語のドキュメントを見ているとよく見かける言葉だが、これは「Too Long; Didn’t Read」の省略だ。長すぎて読んでられねえ、長文うぜえってことだな。その意味から転じて短く要約してみたよって意味で使われている。

これはコマンドのmanにもぴったり当てはまることだ。manはレファレンスマニュアルを表示させる組み込みコマンドだが、詳しく書かれすぎてまさにTL;DR。本当は隈なくみるべきではある。しかし、ちょっとしたオプションを調べたい時は向いていない。

そんな時にオススメなのが、tldr コマンド。そのまま。これを使うと頻繁に使われるであろうオプションと使用例が極めて簡潔に表示される。わざわざブラウザまで移動する必要もない。

% tldr ls

ls

List directory contents.
More information: <https://www.gnu.org/software/coreutils/ls>.

- List files one per line:
    ls -1

- List all files, including hidden files:
    ls -a

- List all files, with trailing `/` added to directory names:
    ls -F

- Long format list (permissions, ownership, size, and modification date) of all files:
    ls -la

- Long format list with size displayed using human readable units (KiB, MiB, GiB):
    ls -lh

- Long format list sorted by size (descending):
    ls -lS

- Long format list of all files, sorted by modification date (oldest first):
    ls -ltr

しかも、組み込み以外の大抵のコマンドに対応しているのが素晴らしい。 この素晴らしいコマンドはMacであればHomebrewでインストールしてすぐに使える。設定ファイルに何かする必要もない。

% brew install tldr

一応、開発環境。

% system_profiler SPHardwareDataType
Hardware:

    Hardware Overview:

      Model Name: MacBook Pro
      Model Identifier: MacBookPro16,3
      Processor Name: Quad-Core Intel Core i5
      Processor Speed: 1.4 GHz
      Number of Processors: 1
      Total Number of Cores: 4
      L2 Cache (per Core): 256 KB
      L3 Cache: 6 MB
      Hyper-Threading Technology: Enabled
      Memory: 16 GB
      System Firmware Version: 1554.100.64.0.0 (iBridge: 18.16.14556.0.0,0)

% sw_vers
ProductName:	macOS
ProductVersion:	11.3
BuildVersion:	20E232

% zsh --version
zsh 5.8 (x86_64-apple-darwin20.0)

% brew -v
Homebrew 3.1.7-24-g321c165

% tldr -v
tldr v1.3.0 (v1.3.0)

tldrコマンドでtldrコマンドの使い方を調べてみる。

% tldr tldr

tldr

Displays simple help pages for command-line tools, from the tldr-pages project.
More information: <https://tldr.sh>.

// コマンドのtldrページを表示する(ヒント:このコマンドを使ったからあなたはここにいる!)
- Show the tldr page for a command (hint: this is how you got here!):
    tldr command

// デフォルトのプラットフォームを上書きして、 `cd`のtldrページを表示する
- Show the tldr page for `cd`, overriding the default platform:
    tldr -p windows cd

// サブコマンドのtldrページを表示する 
- Show the tldr page for a subcommand:
    tldr git-checkout

// ローカルページを更新する(クライアントがキャッシュをサポートしている場合)
- Update local pages (if the client supports caching):
    tldr -u

シンタックスハイライターの都合上、色は表示されていないが実際は色付けされているので更に分かり易い。

% tldr git

git

Distributed version control system.
More information: <https://git-scm.com/>.

- Check the Git version:
    git --version

- Show general help:
    git --help

- Show help on a Git subcommand (like `commit`, `log`, etc.):
    git help subcommand

- Execute a Git subcommand:
    git subcommand

- Execute a Git subcommand on a custom repository root path:
    git -C path/to/repo subcommand

- Execute a Git subcommand with a given configuration set:
    git -c 'config.key=value' subcommand

更にサブコマンドも-で繋ぐことで調べることができる。

% tldr git-checkout

git checkout

Checkout a branch or paths to the working tree.
More information: <https://git-scm.com/docs/git-checkout>.

- Create and switch to a new branch:
    git checkout -b branch_name

- Create and switch to a new branch based on a specific reference (branch, remote/branch, tag are examples of valid references):
    git checkout -b branch_name reference

- Switch to an existing local branch:
    git checkout branch_name

- Switch to the previously checked out branch:
    git checkout -

- Switch to an existing remote branch:
    git checkout --track remote_name/branch_name

- Discard all unstaged changes in the current directory (see `git reset` for more undo-like commands):
    git checkout .

- Discard unstaged changes to a given file:
    git checkout filename

- Replace a file in the current directory with the version of it committed in a given branch:
    git checkout branch_name -- filename

この前記事にしたenv系の管理ツールもこれを使えば一発だ。わざわざ記事に細かく書く必要もなかった。

anyenvには対応してなかった。

% tldr rbenv

rbenv

A tool to easily install Ruby versions and manage application environments.
More information: <https://github.com/rbenv/rbenv>.

- Install a Ruby version:
    rbenv install version

- Display a list of the latest stable versions for each Ruby:
    rbenv install --list

- Display a list of installed Ruby versions:
    rbenv versions

- Use a specific Ruby version across the whole system:
    rbenv global version

- Use a specific Ruby version for an application/project directory:
    rbenv local version

- Display the currently selected Ruby version:
    rbenv version

- Uninstall a Ruby version:
    rbenv uninstall version

- Display all Ruby versions that contain the specified executable:
    rbenv whence executable

もちろんmanページやドキュメントを見るのが一番良い方法であるが、そんなことを言ってられない時もある。そういう時はtldrコマンドで最低限の使い方さえ分かれば後はどうにでもなるかもしれない。

To comment

@TOC
閉じる