Web制作、Web開発の歩き方

Linux Essentials for Web Developers

第5話:コマンドラインインターフェース(CLI): 効率的な操作方法

(最終更新日:2023.12.27)

Linuxのイメージ
この記事は5分で読めます!
(絵が小さい場合はスマホを横に)

「CLIでLinuxを効率的に使おう!」

Linuxはコマンドラインインタフェース(CLI)を使うことで、 非常に効率的にシステムやファイルなどの操作が可能になる。 今回はいくつかの基本的なコマンドを紹介するとともに、 反復的なタスクを自動化できるシェルスクリプトに関しても紹介したいと思う。


1.基本的なコマンドライン操作

Linuxのコマンドラインインターフェース(CLI)は、システム管理やファイル操作、プログラムの実行などに使われる強力なツールだ。 CLIを効率的に操作するためには、いくつかの基本的なコマンドを理解し、使いこなすことが重要になる。 基本的なコマンドライン操作を順に紹介していこう。

    ■ナビゲーションコマンド
  1. pwd:Print Working Directoryの略。現在のディレクトリのフルパスを表示する
  2. ls:現在のディレクトリの内容をリストアップする。-l、-aオプションを付けることで詳細な情報を表示できる
  3. cd [directory-name]:Change Directoryの略。指定したディレクトリに移動する(例: cd /home/user)
    ■ファイル操作コマンド
  1. touch [file-name]:新しい空のファイルを作成、またはファイルのタイムスタンプを更新する
  2. cp [コピー元] [コピー先]:ファイルをコピーする。ディレクトリをコピーするには -r オプションを使用する
  3. mv [元のファイル] [移動先]:ファイルを移動または名前を変更する
  4. rm [file-name]:ファイルを削除する。ディレクトリを削除するには -r オプションを使用する
    ■テキストファイルの閲覧・編集
  1. cat [file-name]:ファイルの内容を表示する
  2. more または less:ファイルの内容をページごとに表示する
  3. mv [元のファイル] [移動先]:ファイルを移動または名前を変更する
  4. rm [file-name]:ファイルを削除する。ディレクトリを削除するには -r オプションを使用する
    ■情報表示コマンド
  1. echo [テキスト]::指定したテキストを表示する
  2. man [コマンド]:指定したコマンドのマニュアルを表示する
  3. top:実行中のプロセスとシステムのリソース使用状況をリアルタイムで表示する
    ■ネットワークコマンド
  1. ping [アドレス]:指定したホストに対してネットワーク通信が可能かどうかを確認する
  2. ip addr:ネットワークインターフェースの設定とIPアドレスを表示する

基本コマンドは、Linuxにおけるファイル操作、システム操作の基礎を形成する。 これらを習得することで、Linuxシステム上で効率的に作業を進めることができる。 更に、これらのコマンドは組み合わせて使用することで、より複雑なタスクを実行することも可能になる。

コマンドで操作しよう


2.シェルスクリプティングの基礎

シェルスクリプトは、一連のシェルコマンドを含むスクリプト(テキストファイル)だ。 これらの命令はシェルによって解釈され、自動的に実行される。 ちなみに、シェル(Shell)という用語は、コンピュータシステムにおいて、ユーザーとオペレーティングシステム(OS)のカーネル間のインターフェースを指す。 カーネルに直接命令がいかないよう殻として取り囲む保護層という意味合いだ。

具体的には、ユーザーからのコマンドを受け取り、それをカーネルに渡して実行させ、結果をユーザーに返す役割を担う。 シェルはユーザーからの入力を解釈し、プログラムを起動したり、ファイルを操作したりするためのコマンドを実行する。

一旦仲介役(shell)を挟んで、安全に命令を実行する

LinuxやUnix系オペレーティングシステムには、いくつかの異なる種類のシェルがある。最も一般的なものは以下の通りになる。

  1. Bash(Bourne Again Shell): Linuxシステムで最も広く使われているシェル
  2. sh(Bourne Shell): Unixでのオリジナルのシェル
  3. csh(C Shell): C言語の構文に似たシェル
  4. zsh(Z Shell): Bashに似ているが、追加機能を持つシェル
  5. fish(Friendly Interactive Shell): ユーザーフレンドリーな対話型シェル

シェルスクリプトは、先に説明したLinuxコマンドの集合体とも言えるが、if文やfor文、whileループなどの命令も使えるため、 Linux上でカーネルに命令できるスクリプトと言った方がしっくりくる。 様々な命令や処理を組み合わせることで、単純なタスクから複雑なプロセスまで、幅広い範囲の作業を自動化できる。 ちなみに、下記はディレクトリ内のファイル一覧表示するシェルスクリプトである。 これを拡張子shのファイルとして保存し、定期的に実行したりする。繰り返し行う命令の場合は非常に便利だ。

ファイルを一覧するシェルスクリプト

3.まとめ

今回はLinuxのCLIとシェルスクリプトについて説明した。 カーネルに対して安全に命令ができるコマンド処理は、単体でも非常に有効である。 そして、シェルスクリプトとしてプログラミング化して実行すれば、更に強力な自動化ツールになる。 今回紹介した内容は、Linuxを扱う上で必ずといってもいいくらい、よく使用する。 実務を通して、できることを増やしていこう。

▼参考図書、サイト

 「スーパーユーザーなら知っておくべきLinuxシステムの仕組み」 インプレス Brian Ward, 柴田 芳樹
 「Linux再入門―カーネル、シェル、ファイルといった基本概念を理解してトラブルシューティング力を高めよう」 Udemy しま