ターミナル上での情報の見つけ方
ターミナル上で操作をしていて、「同じコマンドを何回もブラウザで検索している人」や「詰まった際に毎回ブラウザで検索しないと解決できない人」には参考になるかもしれません。
- 誰のためのものか
- ある程度基本的なコマンドを覚えた
- 誰のためのものではないか
- あんまりコマンドを使ったことがない人
- 何が学べるか
- ブラウザに戻らずターミナルだけで必要情報を検索できるようになる
man
,type
目次
なお以降の例は次の環境で試したものです
$ cat /etc/os-release NAME="Ubuntu" VERSION="20.04.2 LTS (Focal Fossa)" ... $ uname -r 5.4.0-1038-raspi
manコマンド
オプションなどの細かい使い方がうる覚えなコマンドを、ターミナル上でぱぱっと検索したい時に使っています。
manコマンドとは
「指定したコマンドのマニュアルを表示させる」コマンドであり、マニュアルの略からmanとなっています。
その基本的な使い方は
# 調べ方 $ man コマンド # iでカーソル下、kでカーソル上 # qで終了
です
必要な情報の探し方
コマンドによっては、man コマンド
で大量の情報が出てくるので、必要なものを選択するためにgrep
を使います
例えば、「列を並び替えるのにsort
を使えば良いことは覚えていたが、数字での並び替えをどうすればいいか」を調べるには、以下のようにします。
$ man sort | grep num ... -n, --numeric-sort compare according to string numerical value ...
よって、-n
のオプションをつけたら良さそうなことがわかります。
また、grep
のマッチした前後N行も表示させるオプションとして、-A
(前)、-B
(後)、-C
(前後)もよく使います。
man sort | grep key -A2
typeコマンド
基本的にはコマンドの存在チェックを行うコマンドである。
# コマンドが存在する場合 $ type ls ls is aliased to `ls --color=auto` $ type cd cd is a shell builtin $ type xargs xargs is /usr/bin/xargs # コマンドが存在しない場合 $ type lss bash: type: lss: not found
複数コマンドの候補がある場合に、全て表示するには-a
オプションをつけます
$ type -a ls ls is aliased to `ls --color=auto` ls is /usr/bin/ls ls is /bin/ls
(cf) whichコマンド
同じく、コマンドの存在をチェックしてくれるコマンドにwhich
があります。
which
は以下のように、コマンドの存在する場所のパスを示してくれます。
$ which ls /usr/bin/ls
(cf) whichコマンドとの違い
type
は何でも検索できるのに対し、which
はビルトインコマンドは検索できないという性質があります
$ type cd cd is a shell builtin $ which cd
また、type
自身がビルトインコマンドなので、実際にターミナルで打って実行されるのはtype
の方の結果になります
# typeはシェルコマンド $ type type type is a shell builtin # 実際にlsとして実行されるのはtypeの結果 $ type ls ls is aliased to `ls --color=auto` $ which ls /usr/bin/ls