dreamin' blog

最近はVSCodeなどのIDEが開発に使う言語に問わずハイスピードで普及して、フロントエンドエンジニアでもバックエンドエンジニアでもコマンドを叩くことが少なくなってきたように思います。
若干老害トーク感がありますが、僕が新卒の頃は必ずサーバーにログインして何らかの作業を誰もが当たり前のようにやっていました。

それでも、少なくなったとはいえ、全くコマンドを叩かずに済むエンジニアはいないでしょう。まだ今日のGUIやその他のインターフェースは、CLI(Command line interface)より優れた部分はあれど、全てが優れているわけではありません。

CIやDocker、wikiではまだまだ現役のコマンド達

多くのCIはshellをサポートしていますし、Dockerでもやはりコマンドを使うことがあります。また、コマンドはコピペして簡単に再現できるので、まだwikiや手順書にこの順番でコマンドを実行してくださいと書かれることも多いでしょう。

意味がわからないコマンドに出会ったら?

wikiの中にわからないコマンドがあり、意味を知りたい場合はどうしましょう?
例えば $ ls -ltr の意味がわからなかったとしましょう。 $ ls の意味はわかっても、オプションの意味がわからない場合、あなたはどうしますか?
ls -ltr とGoogleで検索すればある適切な結果が表示されるかもしれません。しかし、2020年現在全てのコマンドラインオプションで検索しても、なかなか Gooleは適切な答えを表示してくれません。とくに短いコマンドラインオプションについてはかなり不正確です。

manコマンドを使ってみましょう

man ls としてみましょう。
manはmanualの略です。こうすることで、lsのmanualを見ることができます。
英語でつらつらといろいろな説明があります。

先ほどの ls -ltrls -lls -tls -r の掛け合わせです。
manにはそれぞれのオプションがどういう意味になるかが書いてあります。

ほとんどの環境であればmanはlessと同じ形式で開きます。
lessでは / と打ち込むとページの最下部左に / と表示されるはずです。
これに続けて /-l と打ち込むと、-l にマッチする箇所がハイライトされたり、ジャンプできます。
ここで -l オプションにたどりつけなくても問題はありません。
検索がハイライトされた状態で、 n を押せば次のワード(nextの頭文字です)の箇所にジャンプできます。

何度か n を繰り返せば -l オプションの説明にたどり着けるはずです。
-t -r についても同じ要領で検索してみましょう。

 -l      (The lowercase letter ``ell''.)  List in long format.  (See below.)  A total sum for all the file sizes is output on a line before the long listing.
-t      Sort by time modified (most recently modified first) before sorting the operands by lexicographical order.
-r      Reverse the order of the sort to get reverse lexicographical order or the oldest entries first (or largest files last, if combined with sort by size

それぞれ、このような説明が見つかりました。これで理解できますね!

英語で何言ってるかわからない!!

はい、理解できませんでしたか。
仕方ありません。コンピュータのマニュアルは独特の単語があったりするので、この単語は少し難しいかもしれませんね。

でも、問題ありません。
Google翻訳やDeepLで翻訳してみるのでもいいですし、これだけわかれば検索するためん情報が圧倒的に増えました。 ls -ltr よりもGoogle検索が味方になってくれるはずです。

ls List in long format Sort by time Reverse the order くらいで、検索しても構いませんし、 ls 長いフォーマット 時間でソート 逆順 で検索しても構いません。これなら最悪teratailで聴いても教えてくれそうですね。

公式ドキュメントを読め、マニュアルを読めといわれてもなかなかできません。

公式ドキュメントやマニュアルを読むことが大事ということは、散々言われていますし、そこに書いていることは、おそらくみんな知っています。

しかし公式ドキュメントが読めないという壁にぶち当たっている人は多いようです。

公式ドキュメントが読めないのは使い方を知らないからではないだろうか?というのが私の仮説ですので、記事にしてみました。
次はRailsのドキュメントの読み方なんかを書いてみようかなぁなんて思います。