Webアプリ制作チュートリアル #06「CUI」

2024年8月19日

Webアプリ

t f B! P L
eyecatch サーバーが苦手な人の理由として一番多いのが、「コマンドがよくわからない」です。 ターミナルと言われる、文字ばかりの操作が、まるで理解できないため、普段使っているGUIのパソコンOSじゃないと操作ができないのが原因ですね。 苦手な人が多いターミナルのコマンドラインの事を、CUI(Character User Interface)と言い、 誰もが使い慣れている、アイコンなどが表示されていて、マウスとキーボードで操作する事を、GUI(Graphical User Interface)と言います。 実は、GUIは、CUI操作を操作に置き換えているだけなので、CUIを理解している人は、GUIに搭載されているターミナルやプロンプトで、基本操作が難なくできてしまうんですね。 サーバーでは、できる限りリソース公開に処理を使いたいため、アクセス負荷を極限まで下げるために、GUIなどのメモリを大量に使用する事を避けます。 そのため、サーバーはCUIで使う事が多いんですね。 最近では、UbuntuなどのGUIがWindowsとほぼ同じ操作でできるUNIXタイプのサーバーOSも利用者が増えてきているため、よりCUIが苦手な人が増えている傾向もあるようです。 今回は、基本的んコマンドを覚えて、苦手なCUIを克服してしまいましょう。

基本操作

次のコマンドの使い方を覚えておくと、簡単なCUIの操作はほぼできます。

ディレクトリ・ファイル操作

  • man : コマンドのマニュアルを表示
  • ls : ファイルやディレクトリをリスト表示
  • cd : ディレクトリの移動
  • mv : ファイル名の変更と場所の移動
  • pwd : 現在のアクセス階層を表示
  • mkdir : ディレクトリの作成
  • cp :コピー
  • rm : 削除
  • rmdir : 空フォルダの削除
  • find : 検索
  • ln : リンクを作成
  • rsync : ファイルやディレクトリの同期
  • chmod : アクセス権限の変更
  • chown : ユーザー(所有者)権限の変更
  • du : 容量の表示
  • tar : アーカイブ処理(エンコード、デコード)

テキスト操作

  • cat : テキストファイルの中を表示
  • grep : ファイルやフォルダのリンクを作成
  • cut : 文字の切り抜き
  • diff : 差分表示
  • head : 先頭からの読み込み
  • tail : 末尾からの読み込み
  • less : ファイル内容をスクロール対応で表示
  • vi : テキストエディタ
  • echo : 文字列の表示
  • wc : ファイル(リスト)の行数を表示

ネットワーク操作

  • ping : 指定したIPアドレスやドメインの通信状況の表示
  • ssh : 別サーバへのログイン
  • route : ルーティングの設定や表示
  • wget : 指定したURLのデータを取得
  • curl : 指定したURLのデータを取得
  • netstat : ホストやネットワーク状態の確認
  • nslookup : DNSの名前解決
  • netstat : TCPの通信状態を調べる
  • ip addr : IPアドレスを調べる
  • ifconfig : ネットワーク設定を表示

システム管理操作

  • clear : ターミナル画面の表示を消す
  • su : Superユーザーへのログイン切り替え
  • sudo : 管理権限でのコマンド実行
  • history : これまで実行したコマンドの表示
  • finger : ユーザー情報の表示
  • who : ユーザー情報の表示
  • free : メモリの使用状況
  • last : ログイン履歴
  • df : ディスクの使用状況の表示

その他

  • cal : カレンダーの表示
  • date : 日時の表示
特定のアプリケーションコマンドもたくさんありますが、まずは基本を覚えて操作できるようになっておく事が重要。 コマンドの内容把握と、オプションについてしっかりと理解すると、コマンド操作は全く怖くなくなります。 実際に、上記のコマンドをどんどん打ち込んで、タイピングも含めた内容理解、操作感、実行結果の把握など、学習していきましょう。

共通オプションについて

コマンドには、ほぼどのコマンドでも共通で使えるオプションがあります。 それらを覚えておくと、初めて使うコマンドでもある程度使えてしまう可能性があるので、覚えておきましょう。
  • -h : help、humanReadable(単位を見やすくする)
  • -v : version
  • -l : リスト表示
  • -a : 詳細表示
  • -r : ディレクトリなどの再帰処理

組み合わせて使うパイプライン

コマンドは、結果の出力を次のコマンドに繋ぎ合わせて使うパイプライン操作というのがあります。 例えば、lsコマンドで、フォルダ内にあるファイル一覧を取得して、grepコマンドで、特定の文字列を含むファイルのみを絞り込みしたり、 catlコマンドでファイルの中のテキストを表示して、wcコマンドでそのファイルの行数が難行あるか、数値を表示したり、 findコマンドで取得したファイル名を、mvコマンドで一括変更したりする事ができます。 慣れないとなかなかハードルが高く感じるかもしれませんが、慣れると非常に便利に操作する事ができるようになるので、パイプライン操作は是非使い慣れましょう。

あとがき

コマンド操作は、目的を意識して、自分の頭の中でコマンドがGUIのように想像できるようになったら、GUIよりも無駄がなく、確実に早く動作してくれるので、便利に思えてくるようになるでしょう。 アイコンを見てファイル名を判断したり、画像で判断をする事が当たり前になっている人は、ちょっとしたファイルの変更を見落としてしまう事もあります。 コマンド操作に慣れている人は、まず、タイムスタンプを重要視したり、差分チェックを行なって、石橋を叩く操作を簡単に行えるようになるので、作業効率が上がると同時に、作業クオリティもアップする事間違いなしです。 Webアプリ開発も、CUIを使えるようになると、サーバー構築から、GIT操作、運用する上でのいろいろな確認作業など、多岐にわたって作業効率がアップします。 CUIを使い慣れて、文字だけの画面を見ながらIT思考を鍛えていきましょう。

人気の投稿

このブログを検索

ごあいさつ

このWebサイトは、独自思考で我が道を行くユゲタの少し尖った思考のTechブログです。 毎日興味がどんどん切り替わるので、テーマはマルチになっています。 もしかしたらアイデアに困っている人の助けになるかもしれません。

ブログ アーカイブ