linuxの基礎知識!ディレクトリ構造について初心者向けに解説します。

最近linuxの勉強を始めた方やこれからlinuxをさわる方向けにlinux初心者なら必ず知っておきたいディレクトリ構造について解説していきます。

ディレクトリ構造については覚えることが少し多いと感じるかもしれませんが、この知識を覚えることで、使用するファイルを早く見つけることができ、効率的に作業を進めることができるので覚えておくことをおすすめします。

この記事で学べる事
・業務でよく使うディレクトリに関する用語
・各ディレクトリの役割



ディレクトリに関する基礎用語


まず、初めに業務でよく使うディレクトリに関する用語について解説していきます。

linuxディレクトリ構造を覚える上での基礎部分になりますので、覚えておきましょう。

カレントディレクトリ

カレントディレクトリとは、簡単に説明すると自分が今位置しているディレクトリを指します。

例えば、今はtmpディレクトリに位置していたら、カレントディレクトリは、tmpになります。

ディレクトリの移動にはcdコマンドを使い、現在のカレントディレクトリの確認はpwdコマンドで確認を行うことができます。

親ディレクトリ

親ディレクトリとは、簡単に説明すると今いるディレクトリの1つ上のディレクトリのことを指します。

例えば、tmpディレクトリの下にtestというディレクトリがあった場合には、testディレクトリの親ディレクトリはtmpディレクトリになります。

その逆で/tmpディレクトリからはみたtestディレクトリは子ディレクトリと呼ばれます。

ホームディレクトリ

ホームディレクトリとは、簡単に説明するとサーバにログインした直後にいるディレクトリになります。

例えば、rootユーザにログインした際には、/home/rootというディレクトリにいます。

基本的には、ユーザ作成時にホームディレクトリも一緒に作成されるようになっています。

ディレクトリ構造


各ディレクトリには、様々な役割があるため、ディレクトリごとにどういう役割なのか解説していきます。

ディレクトリの役割を知ることで効率よく必要なファイルを探すことができるようになるので是非、参考にしてみてください。

/binディレクトリ

/binディレクトリは、基本的なコマンドが配置されているディレクトリになります。

/binディレクトリにあるコマンドはrootユーザ以外の一般ユーザでも実行することができます。

catコマンド、chmodコマンド、cpコマンド、hostnameコマンドなどのコマンドが配置されています。

/sbinディレクトリ

/sbinディレクトリは、システム管理に必要なコマンドが配置されているディレクトリになります。

/sbinディレクトリにあるコマンドはrootユーザのみしか実行することができません。

主にシステムの稼働に関係するコマンドが配置されています。

例えば、shutdownコマンド、rebootコマンドなどのコマンドが配置されています。

/etcディレクトリ

/etcディレクトリは、システムやアプリケーションの設定情報やスクリプトファイルなどが配置されています。

業務の中でも/etcディレクトリは、かなり使う頻度が多いです。

サーバのホスト名の定義やネットワーク情報やユーザ情報などの設定についても/etcディレクトリで行います。

/devディレクトリ

/devディレクトリは、ハードディスクやDVDーROMなどのデバイスファイルが配置されるディレクトリになります。

例えば、マウスやキーボードなどのデバイスを使用する場合には、ファイルまたはディレクトリ形式で保存されています。

また、デバイスファイルは特殊なファイルのため、デバイスに応じたデバイスファイルが必要になります。

/mediaディレクトリ

/mediaディレクトリは、CDーROMなどのメディアをマウントするディレクトリになっています。

例えば、linuxのインストールする際にCDーROMを使用し、インストールする際には、/mediaにCD-ROMのデータがマウントされるようになります。

物理環境で使用することが多いです。

/optディレクトリ

/optディレクトリは、RPMやdpkgなどのパッケージ管理システムでプログラムをインストールする時に使うディレクトリになります。

ディストリビューションによっては配置されません。

/procディレクトリ

/procディレクトリは、カーネル内部の情報にアクセスするための仮想的なファイルシステムになります。

linuxサーバのハードウェア情報などのファイルが存在しており、CPU情報やメモリ情報などを確認することができます。

/procディレクトリは、仮想的なファイルシステムのため、実際にはディスク上には存在していない仕組みになっています。

/rootディレクトリ

/rootディレクトリは、スーパーユーザのrootユーザのホームディレクトリになります。

/homeファイルシステムがマウントできなくなった場合でも、システムのメンテナンスができるように/homeとは別で存在しています。

/bootディレクトリ

/bootディレクトリとは、起動に必要な設定やカーネルイメージが配置されているディレクトリになります。

起動時にBIOSの制限をうけないようにするためにルートファイルシステムとは別に、ディスクの先頭付近に配置されていることがあります。

/bootディレクトリを変に変更してしまうとサーバの起動ができなくなる恐れもあるため、業務のなかであまり変更することはありません。

/homeディレクトリ

/homeディレクトリは、各ユーザのホームディレクトリのあるディレクトリになります。

例えば、testユーザでアクセスした際には、ログインを行ったら/home/testというディレクトリに存在します。

useraddコマンドを使用すると基本的には、/homeディレクトリも作成されます。

useraddコマンドについてはこちら

/tmpディレクトリ

/tmpディレクトリは、一時ファイルが置かれるディレクトリになります。

例えば、作業などを行った際のバックアップファイルは/tmpディレクトリに配置することが多いです。

/tmpディレクトリは、すべてのユーザで読み書きが可能になっています。

/varディレクトリ

/varディレクトリは、ログファイルやメールやプリンタの実行状況が書かれるディレクトリになります。

/varディレクトリ内で細分化されています。

/var/cache…一時的なキャッシュファイル
/var/log…システムログやメールログなどのログファイル
/var/run…システムの状態を示すファイルを配置
/var/spool…印刷待ちのデータなどの処理待ちデータを配置

/usrディレクトリ

/usrディレクトリは、各ユーザが共通して使用するプログラムやライブラリなどが置かれているディレクトリになります。

例えば、サーバで作成されているすべてのユーザでcatコマンドを使用する際には、catコマンドファイルを/usr配下に格納します。

/usr配下で細分化されています。

・/usr/bin…ユーザが利用するコマンド
・/usr/local…ユーザで管理するファイル
・/usr/sbin…管理専用コマンド・プログラム
・/use/share…アーキテクチャに依存しないファイル
・/usr/src…ソースコード

まとめ

いかがでした。

本記事では、linuxディレクトリ構造について解説しました。

覚えることが少し多いと感じるかもしれませんが、ディレクトリ構造を覚えることで作業を効率的に行うことができるようになります。

linux初心者の方やこれからlinuxの勉強をする方は、必要な知識になりますので是非、参考にしてください。

【初心者エンジニア必見!エンジニアが持っておきたい持ち物・ガジェット一覧】

エンジニアにおすすめの持ち物とガジェットを一覧でまとめています。

利用することで作業効率を上げることのできる物を厳選して紹介しているため、エンジニアの方やリモート勤務の方は特に参考にしてみてください。




ABOUT US
はなちゃん
25歳インフラエンジニア5年目のはなちゃんです。 未経験からインフラエンジニアになった経験を生かしてインフラエンジニアの基礎的部分、linux、awsを中心にブログを書いています。 転職サイトを利用した転職経験もあります。 ■保有資格:LPIC lenel3・ITパスポート・AWS SAA ■業務経験:インフラ業務の設計~運用まで