第259回で"よく考えると意味不明"な記号として「~」を紹介したが、今回取りあげる「/(スラッシュ)」もなかなかのもの。ふだん何気なく目にしている記号なだけに、この際きちんと理解しておこう。

すべての道は「/(ルート)」に通ず

キーボードの右下、右シフトキーの右上あたりにある「/(スラッシュ)」。ASCIIコードでは47(16進数の2F)、日常の文章でもor(もしくは)またはand(および)の意味合いで使用される記号だが、macOSを含むUNIX系OSでは、ファイル/フォルダの位置を示すときに必要不可欠の存在だ。

ファイル/フォルダの位置を示す文字列は「パス」と呼ばれ、「/」はその区切り文字として使用される。「/」を出発点として、親から子へとフォルダ構造を掘り下げる(1階層深くなる)たびに「/」を置くことで、フォルダの親子関係とともに階層の深さを示せるのだ。

たとえば、書類フォルダにある「mynavi.pdf」は、以下のように表記できる。ここではユーザ名を「shinobu」、書類フォルダは「Documents」(Finderが優先言語に翻訳するから「書類」と表示される)であることに留意してほしい。

/Users/shinobu/Documents/miynavi.pdf

この「mynavi.pdf」をFinderで起動ボリュームから開くときには、「Macintosh HD」→「ユーザ」(「書類」と同様に翻訳表示されるが本当は「Users」)→「shinobu」→「書類」の順に階層を下ればいいことになる。パスがファイルやフォルダの住所だとすると、「/」は都道府県や市町村、字や地番の違いをはっきりさせるための目印なのだ。

ところで、先頭の「/」はまた異なる意味を持つ。macOSを含むUNIX系OSでは、ファイルシステムの階層における最基層の領域を「ルート」と呼び、記号に「/」を使用する。パスの先頭にある文字は、ファイルシステムの最上位であることを示す「/(ルート)」で、後に続く階層構造の区切りを意味する記号は「/(スラッシュ)」となる。どのようなパスでも、「/(スラッシュ)」を目印に階層構造を遡れば必ず「/(ルート)」へたどり着くのだ。

当然、Finderも両者の違いを区別する。試しに、メニューバーから「移動」→「フォルダへ移動...」を選択し、「/」だけ入力してみよう。Finderウインドウには、ファイルシステムの最基層(通常は「Macintosh HD」)が表示されるはずだ。

  • ふだん何気なく使っている「\」だが……

  • 「/」と入力すればファイルシステムの最基層が表示される

「/」と似て非なる「\(バックスラッシュ)」

見てのとおり「/」は右方向へ傾いているが、反対に左方向へ傾いた記号もある。それが「\(バックスラッシュ)」で、Windowsユーザとのやり取りの関係によりMacでは少々厄介な存在だ。いい機会なので、ついでに解説しておこう。なお、WEBページの文字コードの都合でバックスラッシュは全角にしているが、ASCIIコード92(16進数の5C)の記号に読み替えてほしい。

この「\」は、さまざまな事情からMS-DOSにおけるパスの区切り記号に採用された。開発元のMicrosoftはすでにコマンドのオプションを示す記号として「/」を使用していたため(UNIXではもっぱら「-(ハイフン)」を使う)、パスの区切り記号には使えなかったことが主な理由とされているが、日本ではJISコードの92に「¥(実際には半角)」が割り当てられており、結果として「¥」がパスの区切り記号として認知されることになった。

その後MS-DOSはWindowsのベースとなり、パスの表記ルールも引き継がれた。Windows 10の現在もその伝統は変わらず、パスの区切り記号は「¥」のままだ。Windowsユーザ向けの文書を見ると、「C:¥My Documents¥temp¥pics」などと円記号だらけのパスを目にすることがあるが、そのような経緯があるからなのだ。

ちなみに、Windowsの日本語環境では「¥」を入力したつもりでも、実際には「\」を入力している。日本語の円記号はバックスラッシュに変換するが表示には円記号を用いるという運用ルールのためで、日本人ユーザが「¥」と思って入力したデータは、英語圏など日本語以外の言語環境では「\」として表示されるのだ。

一方、我らがmacOSでは「¥」はUnicodeの「U+00A5」、「\」は「U+005C」と明確に分けられている。「¥」と「\」のどちらが入力されるのかは、使用しているインプットメソッドの設定によって変わるが、JISキーボードを利用している場合は、deleteキー左横の¥キーで「¥」、optionキーを押しながら¥キーで「\」と、明示して入力できる。あわせて覚えておきたい。

  • 「¥」と「\」のどちらが入力されるかはインプットメソッドの設定次第だ