超便利なワンライナーを、コマンドラインで検索できるgemパッケージ「cmdline-fu」

cmdline-fu


Linux等のコマンドラインで使える便利なワンライナーを、世界中のみんなで共有しちゃおうという「Command-line-fu」というサイトが素敵!


以前、100SHIKIさんでも、以下のように紹介されていました!

Command-line-fuではLinuxなんかのコマンドラインで使えるワンライナー(一行プログラム)を投稿・共有できる。
自分がよく使うワンライナーを保存しておいて使うも良し、他の達人の技を盗むも良し、の素晴らしきサービスである。
ちょっとのぞいてみただけでも「へー、一行でここまで出来るんだ・・・」という小技があってかなり勉強になる。

コマンドラインで使える超絶便利なワンライナーを投稿・共有できる『Command-line-fu』 | 100SHIKI


で、サイトで新しく投稿されたワンライナーをブラウザで眺めたり、サイトでキーワード検索したり、RSS購読したりするのも楽しくて良いのですが、いざワンライナーを使う場面というのは、やはりコマンドラインで実行するわけで、できればワンライナーの閲覧や検索もコマンドラインからやっちゃいたい欲求が出てくるのも事実。

コマンドラインから閲覧や検索が出来れば、ブラウザ等切り替えることなく、そのままコピペして実行できますからね。


というわけで、そんな欲求に応えるべく(僕の勝手な想像ですがw) @t9md 氏が作ったgemパッケージ「cmdline-fu」を使ってみます。

インストール

当然ですが、rubyやrubygemsがインストールされていることが前提となります。

$ sudo gem install cmdline-fu

Building native extensions.  This could take a while...
Successfully installed colored-1.2
Successfully installed hpricot-0.8.3
Successfully installed cmdline-fu-0.1.2
3 gems installed

gemパッケージなので、インストールは↑のように"gem install cmdline-fu"の1行を実行すればお終いです。
# 依存しているhpricotのインストールに、ruby-develとかruby-devが必要かも。


上記gemのインストールが終われば、早速使ってみましょう。

キーワードを含むコマンドを検索する

$ cmdline-fu matching {キーワード}

検索が一番良く使うかも。特定のコマンド名やキーワードでワンライナーを検索します。
上記コマンドを実行すると、その結果としてワンライナー(コマンド)と説明書き(Description)が表示されます。
# 結果は、vote順でズラッと出てくるので、適宜grep等が必要かも。


例:

$ cmdline-fu matching ssh

# Copy ssh keys to user@host to enable password-less ssh logins.
$ssh-copy-id user@host

# start a tunnel from some machine's port 80 to your local post 2001
ssh -N -L2001:localhost:80 somemachine

# output your microphone to a remote computer's speaker
dd if=/dev/dsp | ssh -c arcfour -C username@host dd of=/dev/dsp

〜〜〜以下、省略〜〜〜


尚、1回の検索につき、表示されるワンライナーは25件です。
以降の使い方にも共通しますが、26件目以降が見たい場合は、以下の要領で最後にページ数を指定します。(デフォルト・無指定時のページNoは"1"です。)

$ cmdline-fu matching {キーワード} {ページNo}

例えば、"cmdline-fu matching ssh 2"とか。

特定ユーザが投稿したワンライナーを確認する

$ cmdline-fu by {ユーザ名}

気になるユーザ(達人とかw)のワンライナーをチェックしたり、自分で投稿(保存)したワンライナーを再確認するのに使えます。


例:

$ cmdline-fu by ncaio

# Get pages number of the pdf file
pdfinfo Virtualization_A_Beginner_Guide.pdf | awk /Pages/

# remote diff with side-by-side ordering.
ssh $HOST -l$USER cat /REMOTE/FILE | sdiff /LOCAL/FILE -

# Convert the output of one or more (log, source code ...) files into html,
enscript -E --color -t "title" -w html --toc -p /PATH/to/output.html /var/log/*log

〜〜〜以下、省略〜〜〜

その他の使い方

タグリストの検索

$ cmdline-fu list_tag {タグ名}

そのキーワードを含むタグのリストが表示されます。
タグ名を省略すると、タグの一覧表示となるみたいです。

特定のタグが付いているワンライナーを検索する

$ cmdline-fu tagged {タグ名}

指定したタグが付いているワンライナーの一覧が表示されます。

ワンライナーの一覧を確認する

$ cmdline-fu browse

投稿されているワンライナーの一覧が確認できます。
当然、大量なのでチェックしていきたい方は、先ほど紹介した"ページNo"も指定する必要がありますね。

$ cmdline-fu browse 2

とか。

Usage(ヘルプ)

最後に、こいつを。

$ cmdline-fu

  Usage

    cmdline-fu COMMAND [PAGE] [o]
    
      COMMAND: list_tag [MATCHER], browse, using WORD, by USER, tagged TAG, matching WORD
      PAGE: 1-999 (defaut: 1)
      o: 'o'pen in browser

  Example

    cmdline-fu list_tag
    cmdline-fu list_tag vm
    cmdline-fu browse
    cmdline-fu browse o
    cmdline-fu using find
    cmdline-fu by t9md
    cmdline-fu tagged install
    cmdline-fu matching find

  Abbreviation
    Unique abbreviation for command is supported.

    cmdline-fu l
    cmdline-fu l vm
    cmdline-fu br
    cmdline-fu u find 2
    cmdline-fu u find 2 o
    cmdline-fu by t9md
    cmdline-fu t install
    cmdline-fu m find


たのしいRuby 第3版

たのしいRuby 第3版

  • 作者: 高橋征義,後藤裕蔵,まつもとゆきひろ
  • 出版社/メーカー: ソフトバンククリエイティブ
  • 発売日: 2010/03/31
  • メディア: 単行本
  • 購入: 15人 クリック: 394回
  • この商品を含むブログ (79件) を見る
入門UNIXシェルプログラミング―シェルの基礎から学ぶUNIXの世界

入門UNIXシェルプログラミング―シェルの基礎から学ぶUNIXの世界

  • 作者: ブルース・ブリン,Bruce Blinn,山下哲典
  • 出版社/メーカー: ソフトバンククリエイティブ
  • 発売日: 2003/02
  • メディア: 単行本
  • 購入: 18人 クリック: 331回
  • この商品を含むブログ (64件) を見る