この用語をシェア
概要
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活用