久々にというか十何年ぶりにMacのOSがメジャーアップデートされ新しくなりました(macOS Big Sur。今回からバージョン11に)。Macはこれまでも何度も大きなOSの変更を行ってきたので、それからすると今回は無茶苦茶変わった、という感じではなさそうです(System6(漢字Talk)→7に近い感じ? MacOS 9→MacOS Xよりは変わってない感じでしょうか。CPUがIntelからAppleシリコンに変わった方が話題性があったようです。ちなみに、この原稿はM1 Chip搭載のMacBook Airで書いてます)。
追加されたコマンドを調べる
OSがバージョンアップされると気になるのが追加・削除されたコマンドです。もちろんコマンド自体がバージョンアップしていることもありますが、とりあえず追加・削除されたコマンドがわかればOKです。ということで今回はなんとなく標準で用意されているコマンドを使って追加・削除されたコマンドを調べてみます。
コマンドがある場所
まず、Macで使えるコマンドは以下の場所にあります。/はディレクトリ(フォルダ)の区切り記号です。
/bin
/sbin
/usr/bin
/usr/sbin
/usr/local/bin
/usr/local/sbin
sbinという名前のディレクトリは管理者用のコマンドが入っています。今回は管理者およびユーザーが追加したコマンド(/usr/local/bin)はチェックしません。ですので、今回チェックするのは/binと/usr/binの2つのディレクトリ内にあるコマンドということにします。もちろん、気が向いたらsbin内も同様に調べてみるとよいでしょう。
ディレクトリ内のファイルを表示
コマンドはディレクトリ内にあるので、ディレクトリ内を表示するコマンドを使えばOKです。ディレクトリ内を表示するコマンドはlsです。lsの後に内容を表示したいディレクトリ名(ディレクトリパス)を指定します。まずは/binのディレクトリ内容を表示してみます。以下のように入力してリターンキーを押せばOKです。
ls /bin
/binに入っているコマンドは少数です。少ないので表示されたコマンドを手作業で比較しても問題ないほどです。どうやら見た目だけでもBig Surとcatalinaには同じ名前、同じ数だけコマンドがあるのがわかります。
同じだと連載のネタにならないので次の/usr/binディレクトリ内を調べてみます。この場合はlsの後に/usr/binを指定します。以下のように入力してリターンキーを押せばOKです。
ls /usr/bin
どうもコマンドが多すぎて表示しきれないようです。ですが、ターミナル.appはスクロールバー部分をドラッグすればさかのぼって見ることができます。気合いを入れてチェックすればできなくもありません。が、コンピューター系では根性論は、どちらかというとご法度みたいな雰囲気もなきにしもあらずなので気合いでチェックするのは無しにしましょう。
何にしても、この状態ではBig Surとcatalinaのコマンドの差異を確認するのは面倒です。そこで、それぞれのOSでlsコマンドの結果をテキストファイルに保存しておいて比較することにします。
テキストファイルとして保存
UNIXのシェルにはリダイレクトという便利な機能があります。これを利用すると簡単に出力結果をファイルに保存することができます。出力をリダイレクトするには>記号を使います。
以下のように入力するとls /usr/binの出力がデスクトップ上にcommand.txtという名前でテキストファイルが保存されます。
ls /usr/bin > ~/Desktop/command.txt
catalinaでも同様にコマンドを入力しますが、コマンドを比較するので異なるファイル名にしておきます。
ls /usr/bin > ~/Desktop/command_10.15.txt
テキストファイルにしてしまえば、あとはテキストエディタやエクセルに流し込んで比較することができます。
比較したいところですが、これではどこが違うのか把握しにくいというのはあります。エクセルで頑張って比較して違うコマンドだけ色をつけるという事も可能ですが面倒です。