コマンドラインインターフェース
表示
はじめに
[編集]コマンドラインインターフェース(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の世界をさらに探求してください。