0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ディレクトリの名前を意識してディレクトリ構成をする

Last updated at Posted at 2025-10-11

はじめに

色々なプロジェクトを進めていくとき、適当にファイルを並べていると整理がつかなかったり、わかりづらくなってしまいます。特に、チーム開発をしている場合はこのような乱雑なディレクトリ構成は避けるべきです。

というわけで、今回はディレクトリ構成を適切にやるにはどうしたらいいかを考えたいと思います。

Linuxにおけるディレクトリの名前

適切なディレクトリ構成をする第一歩として、ディレクトリの名前をわかりやすくすることが大事だと思います。

というわけで、まずはLinuxサーバのディレクトリの名前を調べてみましょう。

適当なLinuxサーバでcd /を実行してルートディレクトリに移動したのち、lsコマンドでその場のディレクトリを見てみましょう。

$ ls
bin  bin.usr-is-merged  boot  cdrom  dev  etc  home  lib  lib64
lib.usr-is-merged  lost+found  media  mnt  opt  proc  root  run
sbin  sbin.usr-is-merged  snap  srv  sys  tmp  usr  var

なんだかいろいろありますが、一つずつディレクトリの意味を見ていきましょう。

bin

binaryの略ですが、「ビン」と読むようです。

バイナリファイル、つまりは実行ファイルをここに入れておくことになります。

作ったプログラムを動かすための実行ファイル(.bat.exe.shなど)はここに格納するとよいでしょう。

何かをインストールする際も、環境変数にPATHを登録するとき○○/binと記述することが多いです。

boot

システム起動(ブート)に必要なファイルがここに格納されます。

cdrom

CD-ROMでしょうか。今回はあまり関係なさそうです。

dev

developmentと見せかけてdeviceの略らしいです。ハードウェア機器を表すファイルが格納されます。

標準出力を/dev/nullに投げ捨てるということも良くあります。

etc

設定のための各種ファイルが格納されます。

システム全体の設定が保存されているようで、とりあえず何でも入れられているというイメージでしょうか。

home

ユーザディレクトリです。開発リポジトリではあまり使わないかもしれません。

lib

binディレクトリにあるプログラムが用いるライブラリファイルが格納されています。

開発リポジトリでも、ライブラリ関係のものはここに置くとよいでしょう。

lib64というのはシンボリックリンクの一種らしいです。

lost+found

参照できなくなったファイルが保管される場所らしいです。

media

着脱が可能な装置がマウントされる際、主にここにマウンティングポイントが自動で生成されるらしいです。

mnt

mediaと似ていますが、こちらはユーザが手動でマウントする場所となっています。

opt

optionの略です。

追加で選択できるアプリケーションパッケージのインストール先となっています。

proc

processの略です。現在実行されているプロセスについての情報・データが含まれています。

root

ルートユーザーのホームディレクトリです。このユーザーはhome内ではなくここにホームディレクトリを持ちます。

run

システムのランタイム中に必要な一時データを保存するディレクトリです。

sbin

管理システムコマンドが入っています。ルートユーザー以外はすぐに使えないコマンドがここにあります。

開発では区別の為に使うことがあるかもしれないですね。

snap

パッケージ管理システムの一種であるsnapに関連するディレクトリらしいです。

srv

おそらくserverの略だと思います。

サーバ関連のデータを扱う場所とされています。

sys

systemの略です。

システム全般についての内容が保存されます。起動のたびに新しくなるようです。

tmp

temporaryの略です。その名の通り一時ファイルなどが保存されます。未保存の内容などもここに来るようです。

usr

userの略です。

すべてのユーザが利用できるアプリがインストールされる場所がこことなっています。

var

variableの略です。

システム運用中に生成・削除される動的なデータが格納されるようです。

.user-is-merged とつくもの

シンボリックリンクらしいですが、よくわかりません。どちらにせよあまり関係ないです。

よく見かける名前

上で紹介した中で、他でもよく使われているディレクトリ名としては以下のようなものがあります。

  • bin
  • etc
  • lib
  • sys
  • tmp
  • usr
  • var

これらのディレクトリ名とどんなファイルの格納先になっているかということは覚えておいて損はないと思います。

その他のよく見かけるディレクトリ名

ここからは、他のフレームワークなどでよく見かけるディレクトリ名を紹介します。

static

Web系の開発リポジトリで、CSSやjsファイルなどが格納されます。

public

これもWeb系のリポジトリで、画像など外部に公開するものを置いておく場所となります。

src

sourceの略で、ソースファイルを格納しておくことになります。

パッケージなどはこの中にmoduleディレクトリを作成してまとめておくようです。

Reactではcomponentsディレクトリがこの中に配置されます。

test

テストコードやテストファイルを配置する場所です。

config

yamlなど、アプリケーションの「設定」ファイルを格納する場所です。

resources

srcpublicと混同しそうですが、画像などをこのディレクトリに配置することがあるそうです。

data

データなどを置く場所です。最近は学習データなどが使われるので、そういったものが配置されます。

scripts

アプリケーションのメイン動作とは関係ないスクリプトファイルが配置されます。

入力データを生成するスクリプトなどが配置されると思います。

templates

アプリケーションのデザインのためのファイルが配置されます。

utils

utility、つまり道具として使われるスクリプトなどのファイルが格納されます。

docs

documentsです。様々なドキュメント(主に.md)が格納されます。

おわりに

ディレクトリの名前を意識し、適切なディレクトリに適切なファイルを配置することが良いディレクトリ構成をするための第一歩だとわかりました。

ディレクトリ名が短縮形になっていることがよくあるので、使いながら一つ一つ覚えていくのが良いと思います。

これからの開発で意識していけたら、と思います。

参考文献

Linuxディレクトリ構造 #Ubuntu - Qiita

【初学者向け】ディレクトリ構成の基本 #ディレクトリ構造 - Qiita

/lost+found,sync,VFS,/proc/filesystems #Linux - Qiita

/bin, /usr/bin, /usr/sbin, /usr/local/bin の違いとは? #Linux - Qiita

FHSの「/mnt,/media」ディレクトリの概要 - KoANアカデミー

FHSの「/run」ディレクトリの概要 - KoANアカデミー

FHSの「/srv」ディレクトリの概要 - KoANアカデミー

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?