ushumpei’s blog

生活で気になったことを随時調べて書いていきます。

CLIの豆知識

友人に教える必要があったのでメモします。

概念

  • CLI(Command Line Interface) プログラマーとかのラップトップをのぞくと画面に表示されている黒い背景のウィンドウがそれです。ユーザーがコンピューターに何かさせたい時に、コマンドを実行できるインターフェースのことです
  • GUI(Graphical User Interface)CLIじゃないやつ。コマンドを使用しないで視覚的にマウスだったり指だったりで操作するインターフェースです。ブラウザとかエクセルとかGUIアプリケーションです。
  • Terminal.appMacに標準でインストールされているCLIアプリケーション。Applications > Utilities > Terminal.app から開けます。

コマンド

主要なコマンドは以下の通りです。コマンドの実行はコマンド入力後 Enter キーを押してください。入力途中で tab キーを押すと文字列を保管してくれて便利です。

  • pwd: 現在のディレクトリの位置を確認
  • ls: 現在のディレクトリに含まれているファイルの一覧を表示
  • cd ディレクトリ名: ディレクトリの移動
  • exit: ターミナルを閉じます
  • open ファイル名: ファイルを開きます。GUIで操作したくなったらこれを使う感覚です。

lsに関するTips

  • ls -l: ファイル一覧の詳細表示
  • ls -la: 隠しファイルも含めたファイル一覧の詳細表示

cdに関するTips

openに関するTips

カーソル

ターミナルではマウスによる操作が制限されているため、カーソルの移動ショートカットを覚えると便利です。ターミナルだけでなく色々な場面でこのショートカットは使えるので生産性が向上します。(emacsキーバインドと言います。ほとんどのアプリケーションの入力箇所でこのショートカットは有効です)

  • Ctrl + f: 行末方向へ移動
  • Ctrl + b: 行頭方向へ移動
  • Ctrl + e: 行末へ移動
  • Ctrl + a: 行頭へ移動
  • Ctrl + d: カーソル位置の文字を削除
  • Ctrl + h: カーソルのひとつ前の文字を削除
  • Ctrl + k: カーソル位置の文字から行末までの文字を全て削除

入力ミスして一旦全てのコマンドを消したい時には、Ctrl + a + Ctrl + kを使ったりします。(Ctrl + cでも同じことができますが、これはコマンドキャンセルのショートカットなので、手癖にならないようにしてます)

履歴

実行したコマンドは全てではないですが履歴に残ります。履歴を使うことで打ち間違えなどのミスを減らすことができます。保持されている全ての履歴を表示するコマンドはhistoryです。

  • Ctrl + p: ひとつ前に入力したコマンドを表示します(連続して入力することでどんどん遡っていくことができます)
  • Ctrl + n: ひとつ後に入力したコマンドを表示します(遡りすぎた時に戻るために使います)
  • Ctrl + r: 履歴検索対話プログラムが起動し、入力した文字に部分マッチする直近の履歴を表示します。結果が正しくて実行したい場合はEnter、正しいけど実行したくはない場合はCtrl + aなど何か他のショートカット、正しくない場合はCtrl + rでさらに遡る、もうやめたい場合はCtrl + cでキャンセルします。

まとめ

快適に使うための豆知識をまとめて見ました。多分知ってるよとか、これ足りないとかあると思いますが、とにかく言いたいことはemacsキーバインドがものすごく便利だということです。僕はプログラミング始める時にvimemacsで迷って結局vimにしたのですが、その時に軽くemacs触っていたおかげで、たくさんのアプリケーションで快適な入力体験ができています。

あとCLIのショートカットとか便利な使い方は友達とか先輩から教えてもらったことが多いので、自分も誰かに教えたくなったというのも動機です。