The CentOS Logo Vertical Version With Registered Trademark

こんにちは、じょえずです。

仮想化環境のCentOSマシンを使って、Linux系OSの操作に馴染んでいくシリーズ再開です。
今回はlsコマンドを取り上げて、Linux系OSの基本を掘り下げていきます。
これまでの経緯はこちらからご覧ください。

lsコマンド

Windowsでいえばdirコマンドにあたりますが、そこはもちろん瓜二つではなく、微妙に違います。普通にlsと打つとカレントディレクトリにあるファイルの一覧がでます。

cent0014
デフォルトオプションだとdirと違ってシンプルな一覧になりますね。
ではこのコマンドにどんなオプションがあるか、「--help」をつけて見てみましょう。Windowsだと「/?」みたいなもんですね。
cent0015
はい、たくさんオプションが出てきました。
-a は「.で始まる要素を無視しない」、-l は「詳細」となってますね
ではこのオプションをつけて
cent0016
いろいろ表示されました。
先頭の「d」とか「-」と表示されているのは、種類を表しており、それに続く「r」「w」「x」「-」などの羅列は許可属性を表しています。
以下、まとめると
種類詳細は別途取り上げます
属性詳細は別途取り上げます
リンクカウントファイル(iノード)へのハードリンクの数
ユーザーユーザー名(ファイルの所有者)
グループグループ名(ファイルの属するグループ)
ファイルサイズファイルのサイズ
更新日付ファイルやディレクトリの最終更新日付
名前ファイル名やディレクトリ名、シンボリックリンクのリンク先など

シンボリックリンクとは

シンボリックリンクとはファイルや、ディレクトリを参照するファイルの事で、Windowsでいうところのショートカットのようなものと捉えるとわかりやすいですね。

シンボリックリンクファイル自体は、対象ファイルまでのパスを含んだただの小さなファイルです。

ハードリンクとiノード

これはLinux系独特ですね。物理的に(というか「論理的に」なのかな)Linux系のファイルがどのようにディスクに記録されているかというと、ファイルの属性情報が格納されているiノード情報とファイルの中身そのもの、そしてそのラベル情報としてのファイル名の情報とに分かれています。

iノード情報はiノード識別番号で管理されていて、ファイル名にはどのiノード情報に紐づくかをこのiノード識別番号で関連付けされています。このファイル名とiノード識別番号の関連付けを、別のファイル名を同一iノード識別番号に関連付けすることができるそうです。

これがファイルのハードリンクです。またディレクトリのハードリンクという捉え方もあります。こちらは「.」や「..」とかの別名で同一のディレクトリを指し示すことができるっていうような認識からでよろしいかと思います。

まぁこの辺は図解でもしない限り伝わりにくいし、説明しにくいので、なんとなくそんな感じかなーくらいで最初はいいかと思います。

lsコマンドの色

話しをlsコマンドに戻しますが、先ほどのlsコマンドの出力結果にはデフォルトで色が付いています。その色によってファイルやフォルダ、特殊ファイル、ファイルタイプなどが判別できるようになっています。

デフォルトでは以下のような感じです。

意味
(通常色)通常のファイルやディレクトリ
ディレクトリ
水色シンボリックリンク
実行ファイル
黄色デバイスやパイプ
マゼンタソケット

しかしこの色付けとその配色は、lsコマンドに「--colors=auto」というオプションが指定されていることで実現されています。

先ほどのコマンド投入ではなにもオプションを指定していませんでしたが、これは「エイリアス(alias)」によってこのオプションが自動的に付加されていることに起因しています。

エイリアス(alias)別名

コマンドには「エイリアス」と呼ばれる“別名”を付けることができます。よく使うオプションの組み合わせや、すぐ忘れてしまうコマンドには、自分が分かりやすい名前を付けておくと便利です。

設定済みのエイリアスは「alias」コマンドで確認できます。

cent0017
はいデフォルトでは「ls」は「ls --colors=auto」という別名で登録されていますね。これによって「ls」と打つだけで「ls --colors=auto」と投入したことと同じ事になっていたわけです。

よく使うコマンドに、よく使うオプションをつけて、自分が分かりやすい名前で「エイリアス(alias)」登録して置くことでコマンドをカスタマイズすることができるんですね。

ここまでのまとめ

  • lsコマンドでWindowsのdirコマンドのようにファイルの一覧が取得できるファイルシステムはWindowsとは微妙に異なる
  • シンボリックリンクとかハードリンクとかiノードとかファイルシステムはWindowsとは微妙に異なる
  • lsコマンドを打つと色分けされて表示される
  • でもそれはエイリアス(alias)の成せる技
次回はパーミッション(許可属性)について、掘り下げます。それでは!