ホームディレクトリ

ホームディレクトリ (英語: home directory) はマルチユーザシステムコンピュータにおけるディレクトリの種類のひとつ。通常、ユーザがログインした際のカレントワーキングディレクトリである。ホームディレクトリが存在しない場合、ユーザはログインすることができない。

UNIX/Unix系OS

[編集]

マルチユーザのコンピュータにおいて、ユーザが自由にファイルやサブディレクトリを作成、保存できるディレクトリである。ユーザ自身の作成したプログラムや書類、ユーザ独自の設定ファイルなどを保存することができる。ホームディレクトリがどこにあるかは、システムの設定ファイルである /etc/passwd に記述されている。

そのシステムで標準とされるホームディレクトリの位置は、システムにより異なる。

  • /home/username - 多くのUNIXや、BSDLinuxのディストリビューションの多くで使用される。FHSで規定されている[1],最も標準的なホームディレクトリの位置である。
  • /export/home/username - Solarisで使用されることがある。
  • /Users/username - macOSNEXTSTEPOPENSTEPなどで使用される。
  • /usr/username - 初期のUNIXで使用された[2]/usr はユーザファイルシステムのことである。

Unix系OSにおけるスーパーユーザである root のホームディレクトリは、他のユーザと違い/や、/rootなどである。これらのユーザのホームディレクトリは、ルートファイルシステムに置かれる。まずあり得ないが、root のホームディレクトリが、他のスライス(パーティション)や、NFS上にあった場合、rootがログインできなくなってしまう。

ホームディレクトリの情報は環境変数HOME に設定されており、オペレーティングシステム上で動作する様々なプログラムがこれを参照する。また、多くのシェルでは~で、ホームディレクトリを表す。シェルのビルトインコマンドである cd を引数なしで実行すると、ホームディレクトリへ移動することができる。なお、ホームディレクトリを~で示すことに関して、当時の現役機でviの開発機でもあったADM-3Aのキーボードでは、HOMEキーと~キーは同じキーの上に刻印が施されている[3]

Windows

[編集]

Windows 95 OSR2以降でホームディレクトリ相当の概念が導入された。Windowsにおいてはシステムドライブのドライブ名が通常はC:のため、ここではC:であると仮定して話を進める。

なお、UNIX系OSのようにユーザ自身の作成したプログラムや書類(マイドキュメント ディレクトリ)とともに、プログラムや環境の設定(レジストリファイルやプログラムの設定ファイル)がホームディレクトリに格納されるようになったのは、Windows 95系をマルチユーザで設定した場合およびWindows NT以降である。

それ以外のOS

[編集]

BeOS系列

[編集]

Haiku

[編集]

Haikuでは/boot/homeを「ホームフォルダ」と名付け, ここに個人が管理する(例えばデスクトップの設定や受信したメール)諸々のディレクトリが配置されている。 現在Haikuは開発途上にあり,複数の利用者が同時にOSを使用することに対応していない。 その為/boot/homeをホームディレクトリとする利用者は実質的にHaikuシステムの管理者である (Unix系のシステムで譬えれば,システムにrootしかおらず,/root/home/usernameが同一であるような状況) ものの, 将来開発される予定である複数人での利用を見据えて,管理者とは区別される利用者としての情報をここに保存するようにしている[4]

注釈

[編集]
  1. ^ 3.8. /home : User home directories (optional)”. LSB Workgroup, The Linux Foundation. 2018年8月31日閲覧。
  2. ^ ブライアン・カーニハンロブ・パイク『UNIXプログラミング環境』石田晴久、アスキー、1985年(原著1984年)。ISBN 978-4871483513 
  3. ^ ADM3Aのホームキーの拡大図”. 2009年5月31日閲覧。
  4. ^ ファイルシステムレイアウト”. Haiku. 2018年8月31日閲覧。

関連項目

[編集]