CLI(コマンドラインインターフェース)

開発ツール | IT用語集

この用語をシェア

概要

CLI(Command Line Interface)は、テキストベースのユーザーインターフェースを通じてコンピューターと対話する方法です。ユーザーはキーボードでコマンドを入力し、システムがテキストで応答します。GUI(Graphical User Interface)と対比される概念です。

基本概念

  • コマンド: システムに対する指示
  • シェル: コマンドを解釈・実行する プログラム
  • ターミナル: CLIを操作するためのアプリケーション
  • プロンプト: コマンド入力を促す表示
  • 引数・オプション: コマンドに付随するパラメータ

主要なシェル

Unix/Linux系

  • bash: 最も一般的なシェル
  • zsh: 機能豊富なシェル(macOSのデフォルト)
  • fish: ユーザーフレンドリーなシェル
  • sh: 標準的なシェル

Windows系

  • Command Prompt: 従来のWindowsコマンドライン
  • PowerShell: 高機能なシェル
  • Windows Terminal: 現代的なターミナルアプリ

基本的なコマンド

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

# Unix/Linux/macOS
ls          # ファイル一覧表示
cd          # ディレクトリ移動
pwd         # 現在のディレクトリパス表示
mkdir       # ディレクトリ作成
rm          # ファイル削除
cp          # ファイルコピー
mv          # ファイル移動・リネーム

# Windows
dir         # ファイル一覧表示
cd          # ディレクトリ移動
echo %cd%   # 現在のディレクトリパス表示
mkdir       # ディレクトリ作成
del         # ファイル削除
copy        # ファイルコピー
move        # ファイル移動・リネーム

システム情報・プロセス管理

# Unix/Linux/macOS
ps          # プロセス一覧
top         # システム監視
df          # ディスク使用量
free        # メモリ使用量
who         # ログインユーザー表示

# Windows
tasklist    # プロセス一覧
taskmgr     # タスクマネージャー起動
dir         # ディスク使用量
systeminfo  # システム情報表示

開発での活用例

Git操作

git status
git add .
git commit -m "コミットメッセージ"
git push origin main

Node.js開発

npm install
npm start
npm test
npm run build

Docker操作

docker build -t myapp .
docker run -p 3000:3000 myapp
docker ps
docker stop コンテナID

CLI ツールの種類

開発ツール

  • git: バージョン管理
  • npm/yarn: パッケージ管理
  • docker: コンテナ管理
  • curl: HTTP リクエスト
  • ssh: リモートアクセス

クラウドCLI

  • aws cli: AWS操作
  • gcloud: Google Cloud操作
  • az: Azure操作
  • kubectl: Kubernetes操作

コマンドの基本構造

コマンド名 [オプション] [引数]

# 例
ls -la /home/user
│  │   │
│  │   └─ 引数(対象ディレクトリ)
│  └─ オプション(詳細表示 + 隠しファイル表示)
└─ コマンド名

# パイプとリダイレクト
ls -la | grep txt              # パイプ(出力を他のコマンドに渡す)
ls -la > filelist.txt          # リダイレクト(出力をファイルに保存)
echo "hello" >> log.txt        # 追記リダイレクト

便利な機能

ショートカット

  • Tab補完: コマンドやファイル名の自動補完
  • 履歴: 矢印キーで過去のコマンドを呼び出し
  • Ctrl+C: 実行中のコマンドを中断
  • Ctrl+D: ターミナルを終了
  • Ctrl+R: コマンド履歴を検索

エイリアス

# よく使うコマンドに短縮名を付ける
alias ll='ls -la'
alias gs='git status'
alias dc='docker-compose'

メリット

  • 効率性: キーボードのみで高速操作
  • 自動化: スクリプトによる処理の自動化
  • リソース効率: GUIより軽量
  • リモート操作: SSH等でリモートサーバーを操作
  • バッチ処理: 大量のファイルを一括処理

デメリット

  • 学習コスト: コマンドの暗記が必要
  • 直感性の欠如: 視覚的な手がかりが少ない
  • エラー時の影響: 間違ったコマンドが大きな影響を与える可能性
  • 初心者の障壁: 慣れるまで時間がかかる

関連技術

  • ターミナルエミュレーター: iTerm2、Windows Terminal、GNOME Terminal
  • シェルスクリプト: bash、PowerShell、Python等でのスクリプト作成
  • SSH: リモートサーバーでのCLI操作
  • CI/CD: 自動化パイプラインでのCLI活用

関連リンク

この用語についてもっと詳しく

CLI(コマンドラインインターフェース)に関するご質問や、システム導入のご相談など、お気軽にお問い合わせください。