今回は「Mavericksの新コマンド」について。比較的小規模なアップデートといえるMavericksだが、20件近い新しいコマンドが収録されている。どちらかといえば開発者向けのコマンドが大半を占めるが、一般ユーザに無関係というわけでもない。そのうち有用なものをピックアップし、機能の概要とかんたんな使い方を解説してみよう。
圧縮メモリの働きを知るには「memory_pressure」
OS Xでよく見られる実装形態に、「機能をGUIとCUIの両方で提供する」というものがある。ディスクユーティリティ(diskutil)、ソフトウェアアップデート(softwareupdate)、スクリーンショット(screencapture)など数えあげればキリがないほどで、その伝統がOS XのCUI環境を充実させてきたという側面は否定できないだろう。
Mavericksでも、その伝統は廃れていないようだ。物理メモリの空きが不足してくると非使用中のプロセスが確保しているデータを圧縮する新機能「圧縮メモリ」も例に漏れず、対応するコマンドとして「memory_pressure」が用意されている。
「memory_pressure」は、引数やオプションを指定せずに実行すると、現在のメモリの使用状況および圧縮の統計を表示する。メモリの圧縮をシミュレートする機能も用意されており、たとえば以下のとおり「-l」に続けてメモリ圧縮が動作するレベル(normal、warn、criticalの3段階)を指定すれば、メモリ容量豊富なマシンでもメモリ圧縮が機能している様子を確認できるはずだ。
$ memory_pressure -l warn
ワイヤレス通信の状況を知るには「wdutil」
「wdutil」は、ワイヤレス通信の診断情報を表示するコマンドだ。引数に「info」を与えて実行すれば、現在どの無線LANアクセスポイントに接続しているか、その周波数帯は2.4GHz帯なのか5GHz帯なのか、といった情報を確認できる。MavericksではGUIベースの「ネットワークユーティリティ」を起動しにくくなった(/Applications/Utilitiesから/System/Library/CoreServices/Applicationsへ移動した)ため、とりあえず無線LANの状況を確認したいときに役立つだろう。
$ wdutil info
起動中のアプリケーションを知るには「lsappinfo」
「lsappinfo」コマンドは、CoreApplicationServicesに問い合わせすることで、起動中のアプリケーションに関するさまざまな情報を確認できる。たとえば、以下に示すとおり内部コマンド「info」に続けてアプリケーション名を指定すれば、アプリケーションのパスやPID、起動した時刻などがすぐさま表示される。アプリケーションのログの取得など豊富な機能が用意されており、開発者のデバッグ作業に役立ちそうだ。
$ lsappinfo info Safari
システムの状況を知るには「systemstats」
アクティビティモニタのCUI版、とでもたとえるべきコマンドが「systemstats」だ。管理者権限で実行すれば、システムバージョンに始まりバッテリーの状況やCPUの状態、接続されている周辺機器といった大量のシステム情報が表示される。特にバッテリーの残量および消費状況が詳しくレポートされるので、アクティビティモニタ相当の情報をテキストで残したい、という場合に有用なコマンドだ。
ZIPアーカイブの詳細を知るには「zipdetails」
ZIPアーカイブの内容をつぶさに検証するためのコマンドが「zipdetails」だ。引数にZIPファイルを与えて実行すれば、内包されているファイルの詳細情報はもちろん、圧縮前後のファイルサイズ、ファイル名の長さといった情報まで確認できる。CPANでも公開されているPerlスクリプトだが、標準装備のzipinfoコマンドでは飽き足りない、という解析用途に役立つかもしれない。