コンテンツにスキップ

コマンドラインインターフェース

出典: フリー教科書『ウィキブックス(Wikibooks)』

はじめに

[編集]

コマンドラインインターフェース(CLI)は、ユーザーがテキストベースのコマンドを入力してコンピュータと対話するためのインターフェースです。CLIは、グラフィカルユーザーインターフェース(GUI)とは異なり、キーボードからのテキスト入力によって操作を行います。このハンドブックでは、CLIの基本的な概念、主要なコマンド、およびその使い方について解説します。

CLIの基本概念

[編集]

CLIとは何か

[編集]

CLIは、ユーザーがテキストコマンドを入力し、そのコマンドを解釈して実行するためのインターフェースです。CLIは、オペレーティングシステムのシェル(Shell)によって提供されることが多く、UNIX(*BSD, macOS)やUNIXを模倣したOS(MINIXやLinuxのディストリビューション)やWindowsのコマンドプロンプトやPowerShellなどが代表例です。

CLIの利点

[編集]
  • 効率性: 複雑な操作を短いコマンドで実行できる。
  • 自動化: スクリプトを使用してタスクを自動化できる。
  • リソース使用量: GUIに比べてシステムリソースの使用量が少ない。
  • リモート操作: ネットワーク経由でリモートマシンを操作できる。

CLIの基本構成

[編集]
  • プロンプト: コマンド入力待ち状態を示す記号。通常、現在のディレクトリやユーザー名が表示される。
  • コマンド: ユーザーが入力するテキスト命令。
  • 引数: コマンドに渡される追加情報。
  • オプション: コマンドの動作を変更するためのフラグ。

基本的なCLIコマンド

[編集]

以下に、UNIX系システムでよく使用される基本的なCLIコマンドを紹介します。

ファイル操作

[編集]
  • ls: ディレクトリの内容を表示する。
    $ ls
    
  • cd: ディレクトリを変更する。
    $ cd /path/to/directory
    
  • cp: ファイルやディレクトリをコピーする。
    $ cp source.txt destination.txt
    
  • mv: ファイルやディレクトリを移動または名前変更する。
    $ mv oldname.txt newname.txt
    
  • rm: ファイルやディレクトリを削除する。
    $ rm file.txt
    

テキスト処理

[編集]
  • cat: ファイルの内容を表示する。
    $ cat file.txt
    
  • grep: テキストを検索する。
    $ grep "pattern" file.txt
    
  • echo: テキストを出力する。
    $ echo "Hello, World!"
    
  • sed: テキストをストリーム編集する。
    $ sed 's/old/new/' file.txt
    
  • awk: テキストを処理するためのプログラミング言語。
    $ awk '{print $1}' file.txt
    

システム情報

[編集]
  • ps: 実行中のプロセスを表示する。
    $ ps aux
    
  • top: システムのリソース使用状況をリアルタイムで表示する。
    $ top
    
  • df: ディスクの使用状況を表示する。
    $ df -h
    
  • du: ディレクトリのディスク使用量を表示する。
    $ du -sh /path/to/directory
    

CLIの高度な使い方

[編集]

リダイレクトとパイプ

[編集]
  • リダイレクト: コマンドの出力をファイルに保存する。
    $ ls > filelist.txt
    
  • パイプ: あるコマンドの出力を別のコマンドの入力として渡す。
    $ ls | grep "txt"
    

シェルスクリプト

[編集]

シェルスクリプトは、一連のコマンドをテキストファイルに記述し、それを実行することで自動化タスクを実現します。以下は、簡単なシェルスクリプトの例です。

#!/bin/sh
echo "Starting backup..."
cp -r /source /backup
echo "Backup completed."

このスクリプトを実行するには、以下のコマンドを実行します。

$ sh backup.sh

エイリアスと関数

[編集]
  • エイリアス: コマンドに別名を付ける。
    $ alias ll='ls -la'
    $ ll
    
  • 関数: 再利用可能なコードブロックを作成する。
    $ greet() { echo "Hello, $1!"; }
    $ greet "Alice"
    

CLIのカスタマイズ

[編集]

プロンプトのカスタマイズ

[編集]

プロンプトは、環境変数PS1を設定することでカスタマイズできます。以下は、プロンプトに現在のディレクトリとユーザー名を表示する例です。

$ export PS1='\u@\h:\w\$ '

シェルの設定ファイル

[編集]

シェルの設定は、ホームディレクトリの設定ファイル(例: .bashrc, .zshrc)に記述します。以下は、.bashrcにエイリアスを追加する例です。

alias ll='ls -la'

おわりに

[編集]

コマンドラインインターフェース(CLI)は、その効率性と柔軟性により、システム管理や開発において非常に有用です。このハンドブックを参考に、CLIの世界をさらに探求してください。

下位階層のページ

[編集]