Linuxコマンドを勉強~cd、Linuxのディレクトリとは~

仕事で久しぶりにサーバ管理をやるようになったので、Linuxコマンドの基本的な使い方を復習していこうかと思います。

cd

簡単なのはcd(Change Directory)ですね。
カレントディレクトリを変更するコマンドです。

変更したいディレクトリは絶対パスか相対パスで指定します。

とか、

みたく。また、

とすると、実行ユーザのホームディレクトリに変更されます。

とすると、ホームディレクトリの下のworkという名前のディレクトリに変更されます。
ホームディレクトリは、

とすれば確認できます。
ホームディレクトリの変更はユーザー作成時に

とするか、作成済のユーザに対して、

とすればできます。

これに関連してpwd(Print Working Directory)というのがあります。
これはカレントディレクトリ(作業ディレクトリ)を表示するコマンドです。

・・・ふと思うに、Linuxでいうディレクトリって何でしょうね。
Windowsでは普通にフォルダとか言って使ってますが、
なかなか明確に説明できません。

Linuxのディレクトリ

Linux(Linuxディストリビューション)は、
OS(カーネル+ソフトウェア)+様々なアプリケーション群で構成されています。

OSなので、いろんなことを裏でやってくれるんですが、データ管理もその一つ。
データ管理とは、データをHDDなどの二次記憶装置に書き込んだり、読み込んだりすることです。

Linuxはデータをファイルとして扱います。データだけでなく、CD-ROMやUSB、HDDやマウスといったデバイスも、ファイルとして扱います。どんなものでもファイルとしてみることで、同じように扱おうというわけです。
これを仮想ファイルシステム(VFS:Virtual File System)と呼びます。

VFSは、カーネルがファイルシステムにアクセスするためのインターフェースや規約のことです。
本当はもっといろんなことをしてるようですが、難しいので後回し・・・。

ファイルシステムとは、HDDのデータを効率的に管理する仕組みを提供するサービスのことです。
VFSにより、こうして標準となるファイルアクセスのインターフェースをベースに、
ファイルシステムの拡張がしやすくなりました。

とはいうものの、いろんなベンダーが独自にファイルシステムを拡張しても、
毎回異なるシステムをいちいち学習するなんて、ユーザにとっては扱いづらいですよね。

そういうわけで、ファイルシステム自体にも標準を作りました。
FHS(Filesystem Hierarchy Standard)、ファイルシステム階層標準というものです。
多くのLinuxディストリビューションが、このFHSに準拠しています。

FHSについては、こちらを参照。
簡単に言うと、HDDの中にあるファイルを分かりやすくまとめて配置する、それぞれの配置先にどういったファイルをまとめるのかある程度決めておこう、という話ですね。

で、そのファイルをまとめたものを、ディレクトリと呼んでいます。
ディレクトリとはファイルではありませんが、Linuxではディレクトリもファイルのように扱います。

FHSについては次回ということで。

広告
  • LINEで送る