説明書を読まなくても使い方がわかるのが、iPhoneの魅力であり強みです。しかし、知っているつもりでも正しく理解していないことがあるはず。このコーナーでは、そんな「いまさら聞けないiPhoneのなぜ」をわかりやすく解説します。今回は、『iOSにはUNIXコマンドがたくさん収録されてるってホント?』という質問に答えます。

***

本当です。iOSの基盤部分はmacOSと同じBSD UNIXに由来する「Darwin」ですから、OSを支える基本的なコマンドの多くが収録されています。コマンドのプログラムサイズは小さく、ストレージの圧迫要因というほどの存在ではないうえに、ユーザインターフェイスが提供されていないため通常の方法では実行できません。

証拠を示せということであれば、ジェイルブレイクと呼ばれる任意の(Appleの審査を経ていない)アプリを実行できるようにする方法がありますが、iOSのセキュリティが大幅に低下するためお勧めできません。しかし、コマンドが実行されている様子であれば、「システム診断情報(sysdiagnose)」を見ればわかります。

システム診断情報とは、文字通りiOSのシステム情報をつぶさに調べることができるデータ群です。iOS 11以降のデバイスの場合、2つの音量ボタンとスリープボタンを一瞬(0.25秒)同時押しすると作成が開始され、拡張子が「.tar.gz」の書庫ファイルとして書き出されます。数分後に『設定』→「解析」→「解析データ」の順に画面を開けば、「sysdiagnose_日付....tar.gz」という書庫ファイルを発見できるはずです。これをAirDropなどの方法でパソコンに転送し、展開すれば内容を調べられます。

iOSにCUIのコマンドが含まれているかどうかだけでいえば、sysdiagnoseのログファイル(sysdiagnose.log)を閲覧すればじゅうぶんです。内容を見れば、psコマンドを使いプロセス情報を取得していること、taskinfoコマンドを使いカーネルの情報を出力していること、mountコマンドでローカルストレージの状態をチェックしていること……sysdiagnoseは本来アプリのデバッグの参考資料として使用されるものですが、iOSのもうひとつの側面がわかりますよ。

  • システム診断情報のログを見ると、iOSの"もうひとつの顔"がわかります