コマンドラインから、コマンドのカンニングペーパーを参照できる、cheat.shがちょっと面白い
GitHubのTrendingを見ていたら、cheat.shというのを見つけました。
コマンドラインから、Linuxコマンドなどのcheat sheet(カンニングペーパー)を参照できるツールです。
ちょっとおもしろかったので、簡単に書きます。
READMEに書いてあるように、curlコマンドさえあれば使うことができます。
インストールなどは不要でした。
Linuxコマンドだけでなく、プログラミング言語の構文もサポートしており、55のプログラミング言語と、1,000のLinuxコマンドをカバーしているそうです。
curlコマンドを使ってカンニングペーパーが検索されると、100 ms以内でレスポンスを返すことを目標にしているようです。
簡単な使い方は、cheat.sh/の後に、カンニングペーパーを参照したいコマンドを指定して、curlでGETします。
例えば、ssコマンドの場合は、下記の通りです。
$ curl cheat.sh/ss
下記のようなレスポンスが返って来ました。
# Utility to investigate sockets
#
# Options:
# -4/-6 list ipv4/ipv6 sockets
# -n numeric addresses instead of hostnames
# -l list listening sockets
# -u/-t/-x list udp/tcp/unix sockets
# -p Show process(es) that using socket
# show all listening tcp sockets including the corresponding process
ss -tlp
# show all sockets connecting to 192.168.2.1 on port 80
ss -t dst 192.168.2.1:80
# show all ssh related connection
# documentation on the filter synax: sudo apt-get install iproute2-doc
ss -t state established '( dport = :ssh or sport = :ssh )'
# Display timer information
ss -tn -o
# Filtering connections by tcp state
ss -t4 state established
コマンドラインから、Linuxコマンドなどのcheat sheet(カンニングペーパー)を参照できるツールです。
ちょっとおもしろかったので、簡単に書きます。
READMEに書いてあるように、curlコマンドさえあれば使うことができます。
インストールなどは不要でした。
Linuxコマンドだけでなく、プログラミング言語の構文もサポートしており、55のプログラミング言語と、1,000のLinuxコマンドをカバーしているそうです。
curlコマンドを使ってカンニングペーパーが検索されると、100 ms以内でレスポンスを返すことを目標にしているようです。
簡単な使い方は、cheat.sh/の後に、カンニングペーパーを参照したいコマンドを指定して、curlでGETします。
例えば、ssコマンドの場合は、下記の通りです。
$ curl cheat.sh/ss
下記のようなレスポンスが返って来ました。
# Utility to investigate sockets
#
# Options:
# -4/-6 list ipv4/ipv6 sockets
# -n numeric addresses instead of hostnames
# -l list listening sockets
# -u/-t/-x list udp/tcp/unix sockets
# -p Show process(es) that using socket
# show all listening tcp sockets including the corresponding process
ss -tlp
# show all sockets connecting to 192.168.2.1 on port 80
ss -t dst 192.168.2.1:80
# show all ssh related connection
# documentation on the filter synax: sudo apt-get install iproute2-doc
ss -t state established '( dport = :ssh or sport = :ssh )'
# Display timer information
ss -tn -o
# Filtering connections by tcp state
ss -t4 state established
CentOS 7から、ssコマンドを使うようになって、たまに忘れてしまうので、ちょっと便利そうです。
コマンドの名前を忘れてしまった場合は、キーワードで検索できます。
~の後にキーワードを指定します。
例えば、ダウンロードに関係するコマンドを検索したい時は、
$ curl cheat.sh/~download
下記、レスポンスを一部抜粋します。
ダウンロードに関係するコマンド、apt-get、curl、wgetなどのカンニングペーパーが検索されました。
apt-get
# To download and install updates without installing new package.
....
curl
# Resume a previously failed download
....
wget
# To download a single file
wget http://path.to.the/file
Linuxコマンドだけでなく、プログラミング言語にも対応しています。
例えば、pythonのfunctionについて、検索したい場合は、
$ curl cheat.sh/python/func
すると、下記のようなレスポンスが返ります。
# Simple function
def functionName():
return True
# Function with parameters
def functionName(a, b):
if(a < b):
return a
else:
return b
# Return multiple values
def functionName(a, b, c):
return (a, b, c) // Returns a tuple
return {'return_a':a, 'return_b':b ,'return_c':c } // Returns a dictionary
funcの部分ですが、他にもClasses、Modulesなどを指定できます。
指定できる単語の種類は、下記のように:listを検索することで、一覧できます。
$ curl cheat.sh/python/:list
doc
func
hello
lambda
loops
recursion
Primitive_Datatypes_and_Operators
Variables_and_Collections
Control_Flow
Functions
Classes
Modules
Advanced
Comments
:learn
キーワードで検索することもできるようです。
例えば、pythonで辞書をキーでソートしたいと思った時は、下記のようにします。
スペースの代わりに、+を使います。
$ curl cheat.sh/python/sort+key
下記、レスポンスの一部抜粋です。
In [1]: import collections
In [2]: d = {2:3, 1:89, 4:5, 3:0}
In [3]: od = collections.OrderedDict(sorted(d.items()))
In [4]: od
Out[4]: OrderedDict([(1, 89), (2, 3), (3, 0), (4, 5)])
少し設定を行えば、より短く、下記のように検索できるようです。
下記は、プログラミング言語Goについて、配列を逆にする場合のカンニングペーパーを検索しているようです。
$ cht.sh go reverse a list
どのくらい実用的なのかはわかりませんが、おもしろそうなので、たまに使ってみようと思います。
コメント
コメントを投稿