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

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

そのシステムで標準とされるホームディレクトリの位置は、システムにより異なる。 /home/username - 多くのUNIXや、BSD、Linuxのディストリビューションの多くで使用される。FHSで規定されている,最も標準的なホームディレクトリの位置である。 /export/home/username - Solarisで使用されることがある。 /Users/username - macOS、NEXTSTEP、OPENSTEPなどで使用される。 /usr/username - 初期のUNIXで使用された。/usr はユーザファイルシステムのことである。

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

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

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

なお、UNIX系OSのようにユーザ自身の作成したプログラムや書類(マイドキュメント ディレクトリ)とともに、プログラムや環境の設定(レジストリファイルやプログラムの設定ファイル)がホームディレクトリに格納されるようになったのは、Windows 95系をマルチユーザで設定した場合およびWindows NT以降である。 C:\My Documents - Windows 95 OSR2, Windows 98(シングルユーザの場合) C:\Windows - (レジストリおよびプログラム設定)Windows 95 OSR2, Windows 98(シングルユーザの場合) C:\Windows\Profiles\ユーザ名 - Windows 95 OSR2, Windows 98(マルチユーザの場合) C:\WINNT\Profiles\ユーザ名 - Windows NT C:\Documents and Settings\ユーザ名 - Windows 2000, Windows XP, Windows Server 2003 C:\Users\ユーザ名 - Windows Vista, Windows 7, Windows 8, Windows 8.1, Windows 10

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

注釈

関連項目 cd