Docker超入門:シェルからネットワークまで!BusyBoxの主要コマンド

 BusyBoxは、Linux環境に欠かせない基本コマンドを 1つの小さな実行ファイル にまとめた、とても便利な「ツールボックス」です。ここでは、BusyBoxに組み込まれている主要なコマンドをカテゴリ別にわかりやすく紹介します。シェルやテキスト処理から、ネットワーク管理、ユーザー管理、さらにはSELinux対応まで、幅広い機能をカバーしています。

シェル・エディタ関連

 テキストを扱う作業に便利なコマンドが用意されています。これらはファイル編集やテキスト処理の定番ツールです。

コマンド書式説明
vivi ファイル名テキストエディタ。ファイルを編集するための代表的なツール
sedsed [オプション] 'パターン' ファイル名ストリームエディタ。テキストの置換や抽出に便利
awkawk 'パターン {アクション}' ファイル名テキスト処理ツール。データの抽出や加工に活用

主なオプション例(sed/awk)

コマンドオプション説明
sed-e実行するスクリプトを指定
sed-iファイルを直接編集
awk-F 区切り文字入力データの区切り文字を指定
awk-v 変数=値変数に値を代入

システム管理コマンド

ファイル操作やアーカイブ処理など、システム運用でよく使う機能がまとめられています。

コマンド書式説明
coreutilsls / cp / mv / rm など基本的なファイル操作コマンド群
tartar [オプション] アーカイブ名 ファイルアーカイブの作成や解凍
bzipbzip2 ファイル / bunzip2 ファイルデータの圧縮や解凍

主なオプション例(tar)

オプション説明
-c新しいアーカイブを作成
-xアーカイブを展開
-fアーカイブファイル名を指定
-v詳細を表示

各種デーモン

常駐してシステムを支える役割を持つコマンドも含まれています。

コマンド書式説明
croncronタスクスケジューリングを管理
httpdhttpd -p ポート番号軽量なWebサーバーを起動

cronの役割
 cronは、決まった時間に自動でタスクを実行するデーモンです。ログのローテーションやバックアップなど、定期作業を自動化できます。

ネットワークコマンド

ネットワーク確認や通信に便利なツールも揃っています。

コマンド書式説明
pingping ホスト名/IPネットワーク接続を確認
ifconfigifconfig [インターフェース] [オプション]ネットワークインターフェースの設定・表示
wgetwget [URL]ファイルのダウンロード

主なオプション例(wget)

オプション説明
-O ファイル名保存ファイル名を指定
-q出力を表示せず実行
-c中断したダウンロードを再開

ユーザー管理コマンド

システムにログインするユーザーやアカウントの管理も可能です。

コマンド書式説明
loginlogin ユーザー名ログイン認証を行う
susu [ユーザー名]ユーザーを切り替える
useradduseradd [オプション] ユーザー名新しいユーザーアカウントを作成

主なオプション例(useradd)

オプション説明
-d ディレクトリホームディレクトリを指定
-s シェルログインシェルを指定
-u UIDユーザーIDを指定

SELinux管理コマンド

セキュリティを強化するSELinuxにも対応しています。

コマンド書式説明
load_policyload_policySELinuxポリシーをロード
restoreconrestorecon [ファイル/ディレクトリ]SELinuxコンテキストを復元

まとめ

 BusyBoxの魅力は、これらのコマンドが全部まとめて 1つの実行ファイル で提供されていることです。ファイル操作、ネットワーク確認、ユーザー管理、さらにはSELinux管理まで、幅広い作業を軽量な環境でも実現できます。Dockerのようにサイズを小さく保ちたい場面や、組み込みLinuxのようにリソースが限られている環境で大活躍する理由がここにあります。