Ubuntu14.04にコマンドラインのチートシートをインストールして使用する方法
序章
チートはコマンドラインベースのPythonプログラムであり、システム管理者が役立つチートシートを表示および保存できるようにします。 オプション、引数、または一般的な使用法をユーザーに思い出させるために、選択したコマンドのプレーンテキストの例を取得します。 チートは、「頻繁に使用するが、覚えるほど頻繁ではないコマンド」に最適です。
シートは、複数のLinux/Unixシステム間でコピーできる小さなポータブルテキストファイルです。 これらは、他のコマンドラインプログラムと同じように呼び出されて表示されます。 一般的なプログラムのベースシートが提供されていますが、カスタムの新しいシートを追加することもできます。
前提条件
このチュートリアルに従うには、次のものが必要です。
-
1つのUbuntu14.04ドロップレット
-
Ubuntu 14.04VPSチュートリアルでユーザーを追加および削除する方法に従って設定できるsudo非rootユーザー
ステップ1—チートのインストール
チートをインストールする前に、システム上ですべてが最新であることを確認する必要があります。
- sudo apt-get update && sudo apt-get upgrade
このステップのプロンプトに対してy
と入力して確認します。
Cheatのインストールは、PythonパッケージマネージャーのPipを使用して行うのが最適なので、次にPipをインストールします。
- sudo apt-get install python-pip
Cheat自体は2つのPythonパッケージにのみ依存しており、どちらもPipのCheatパッケージに含まれています。 最後に、チートをインストールします。
- sudo pip install cheat
Cheatを正常にインストールすると、次の行が出力されます。
Successfully installed cheat docopt pygments
Cleaning up...
-v
オプションを指定して実行することで、チートがインストールされ、機能していることを確認できます。
- cheat -v
これにより、インストールしたチートのバージョンが出力されます。
cheat 2.1.10
ステップ2—テキストエディタを設定する
独自のチートシートを作成する前に、チートはデフォルトでシートの編集に使用するテキストエディタを知っている必要があります。 これを行うには、EDITOR
という環境変数を作成して設定する必要があります。 シェルおよび環境変数の詳細については、環境変数およびシェル変数の読み取りと設定方法チュートリアルを参照してください。
nanoはすでにUbuntuにインストールされており、一般的に習得しやすいため、以下のコマンドを使用して、nanoを優先テキストエディターとして設定します。 ただし、代わりにvim、emacs、またはお気に入りのテキストエディタを使用できます。
- export EDITOR="/usr/bin/nano"
次のように入力すると、これが成功したことを確認できます。
- printenv EDITOR
これにより、新しい$EDITOR
環境変数の内容が出力されます。
/usr/bin/nano
この変更を今後のすべてのシェルセッションで永続的かつ永続的にするには、.bashrc
ファイルに環境変数宣言を追加する必要があります。 これは、bashシェルセッションの開始時に実行されるいくつかのファイルの1つです。
このファイルを開いて編集します。
- nano ~/.bashrc
次に、同じエクスポートコマンドを追加します。
. . .
# If not running interactively, don't do anything
case $- in
*i*) ;;
*) return;;
esac
export EDITOR="/usr/bin/nano"
# don't put duplicate lines or lines starting with space in the history.
# See bash(1) for more options
HISTCONTROL=ignoreboth
. . .
CTRL+X
、Y
、ENTER
の順に押して、ファイルを保存して終了します。
ステップ3—チートのカスタマイズ(オプション)
このステップでは、構文の強調表示とコマンドラインのオートコンプリートを有効にして、チートをカスタマイズします。
カラーをサポートするターミナルエミュレータを使用する場合、trueとして定義されたCHEATCOLORS
という名前のシェル環境変数をエクスポートすることにより、シートの構文の強調表示を有効にできます。
- export CHEATCOLORS=true
これで、虎の巻を取得するたびに、色付きの構文の強調表示でフォーマットされます。 この機能が気に入った場合は、.bashrc
ファイルにexportコマンドを追加することで、シェルセッション間で永続的かつ永続的にすることができます。
.bashrc
ファイルをもう一度開きます。
- nano ~/.bashrc
次に、EDITOR
変数の下に新しいCHEATCOLORS
変数を追加します。
. . .
# If not running interactively, don't do anything
case $- in
*i*) ;;
*) return;;
esac
export EDITOR="/usr/bin/nano"
export CHEATCOLORS=true
# don't put duplicate lines or lines starting with space in the history
. . .
ファイルを保存して閉じます。
次に、コマンドラインのオートコンプリートを有効にするには、/etc/bash_completion.d/
ディレクトリにスクリプトを配置する必要があります。 このディレクトリに移動します。
- cd /etc/bash_completion.d/
次に、必要なスクリプトをCheatのGitHubプロジェクトページからダウンロードします。
- sudo wget https://raw.githubusercontent.com/chrisallenlane/cheat/master/cheat/autocompletion/cheat.bash
次に、現在のシェルにbash
と入力して、変更を取得します。
- bash
チートのタブオートコンプリートが有効になりました。 cheat
に続けてスペースを入力した場合、TAB
キーを2回押すと、コマンドのリストが表示されます。
cheat
7z asciiart chown df du
grep indent jrnl mkdir netstat
. . .
ステップ4—チートを実行する
最も基本的な形式でチートを実行するには、他のコマンドと同じように呼び出し、その後に既存のチートシート名を付けます。
これは、tail
コマンド(ファイルの最後の数行を出力する)に対して、Cheatに含まれているデフォルトのシートの1つを使用してこれを行う方法の例です。
- cheat tail
次に、次の出力が表示されます。
# To show the last 10 lines of file
tail file
# To show the last N lines of file
tail -n N file
# To show the last lines of file starting with the Nth
tail -n +N file
# To show the last N bytes of file
tail -c N file
# To show the last 10 lines of file and to wait for file to grow
tail -f file
他に利用できる既存のチートシートを確認するには、-l
オプションを指定してチートを実行します。
- cheat -l
これにより、使用可能なすべてのシートとサーバー上のそれらの場所が一覧表示されます。
ステップ5—チートシートの作成と編集
チートに含まれている基本の暫定シートは便利で多様ですが、それらすべてに利用可能なすべてのシェルコマンドまたはプログラムが含まれているわけではありません。 チートから得られる本当のメリットは、独自のカスタムシートを追加することです。
たとえば、ネットワークプログラムping
のシートはありません。
- cheat ping
No cheatsheet found for ping
新しいシートを作成して追加する方法の例として役立つものを作成しましょう。 まず、コマンドラインでCheatを再度呼び出します。次に、-e
と、作成するシートの名前を呼び出します。
- cheat -e ping
チートは、前に設定した$EDITOR
変数を使用して、編集用の関連ファイルを作成して開きます。
この新しいシートの先頭に、コマンドが入力されたときにコマンドが何をするかを説明するコメント(#
で示される)を付けて、便利なpingコマンドの例を追加します。 ファイルに入力できるそのようなコマンドの1つを次に示します。
# ping a host with a total count of 15 packets overall.
ping -c 15 www.example.com
以前と同じようにファイルを保存して終了します。 次に、cheat ping
を再度実行して、新しいシートをテストします。
- cheat ping
今回は、追加したばかりのチートシートが表示されます。
# ping a host with a total count of 15 packets overall.
ping -c 15 www.example.com
既存のシートを変更するには、-e
オプションを再度使用できます。
- cheat -e ping
これでpingシートが開き、例やコンテンツをさらに追加できます。 たとえば、次を追加できます。
# ping a host with a total count of 15 packets overall.
ping -c 15 www.example.com
# ping a host with a total count of 15 packets overall, one every .5 seconds (faster ping).
ping -c 15 -i .5 www.example.com
ステップ6—チートシートの検索
チートには、-s
オプションでトリガーされる検索機能が組み込まれています。 これにより、提供したテキストのすべての出現箇所が取得されます。 例えば:
- cheat -s packets
このコマンドは、「パケット」という用語とそれらが由来するシートを特徴とするすべての行を出力します。
nmap:
# --min-rate=X => min X packets / sec
ping:
# ping a host with a total count of 15 packets overall.
# ping a host with a total count of 15 packets overall, one every .5 seconds (faster ping).
route:
# To add a default route (which will be used if no other route matches). All packets using this route will be gatewayed through "mango-gw". The device which will actually be used for that route depends on how we can reach "mango-gw" - the static route to "mango-gw" will have to be set up before.
tcpdump:
# and other packets being transmitted or received over a network. (cf Wikipedia).
. . .
結論
Cheatが表示するものはすべてプレーンテキストであり、シェルの標準出力を介して送信されるため、任意のテキスト処理コマンド(grep
など)を使用できます。 あなたは読むことができます LinuxでGrepと正規表現を使用してテキストパターンを検索する詳細については、チュートリアルgrep
。
さらに、Git with GitHubなどのバージョン管理システムは、カスタムの虎の巻を一元的に保存するのに理想的であるため、リポジトリのクローンを作成することで、複数のプラットフォームで虎の巻を入手できます。 シートを追加、修正、またはチートで自分で作成した場合、シートはカスタムとして分類されます。
すべてのカスタムチートシートは、Linuxユーザーのホームディレクトリの.cheat
という名前の隠しフォルダー内に保存されます。 この場所を見つけるには、cheat -d
を実行します。これにより、2つのディレクトリが出力されます。1つはカスタムシートの場所で、もう1つはインストール時にCheatで取得するデフォルトのシートの場所です。
他のシステムのカスタムシートのライブラリにアクセスするには、この.cheat
フォルダーをそれらにコピーするだけです。 虎の巻は小さなプレーンテキストファイルであるため、バージョン管理による追跡に最適です。 チートシートと構成ファイルにいつでもアクセスできるようにするための完全なソリューションについては、 LinuxVPSチュートリアルでGitを使用してユーザー構成ファイルを管理する方法をお読みください。