パソコン悪戦苦闘記録

Linuxのディレクトリ構造

 以前、シェルスクリプト冒頭1行目のシバン記述を、
   「#!/usr/bin/bash」 としてはエラーになり、
   「#!/bin/bash」 とすると動く、
との記事を書きました。
 ⇒ その記事はこちら

 そこで、今回、
「/usr/bin」 と 「/bin」 の違いを調べてみました。


 Linuxコマンドを学ぶための教科書
新しいLinuxの教科書
三宅 英明,大角 祐介
SBクリエイティブ


【1】 binとは
 binとは、「バイナリ」の略です。正式には「Binary code」で、実行可能なプログラムのことです。ということは、binディレクトリは、実行可能プログラムの置き場所という役割を果たすディレクトリなのです。

【2】 Linuxのディレクトリ構造
 次に、Linuxのディレクトリ構造がどうなってるのかです。
 以前はディレクトリ構造は、ディストリビューションや、バージョンによってかなりバラバラの状態だったようです。
 そこで、規格の統一化が図られることとなりました。
 その規格名を、『FHS(Filesystem Hierarchy Standard)』 といいます。
 現在、ほとんどの主要ディストリビューションが、このFHSを元にディレクトリを構成しているので把握しやすくなっています。
 ディレクトリ構造の一覧は、ググると出てきます。まだ見たことがない方は、一度見ておくのがよいと思われます。

【3】 /bin と、/usr/bin の違い
 Linuxのディレクトリ構造を見てみると、同じ「binディレクトリ」であっても、ルートディレクトリの直下にある「/bin」と、usrディレクトリのサブディレクトリとしての「/usr/bin」とがあることが分かります。当然、別物ということです。
 そして、両者の違いは、次のとおりです。

 「/bin」
 どのユーザでも使えるコマンドだけを入れるディレクトリで、OSの働きの根幹に関わるような役割をもつコマンドを入れることになります。

 「/usr/bin」
 ユーザが一般的に使用するコマンドを配置するけれども、緊急時のシステム保守に必須ではないコマンドを配置することになります。

【4】 bashの格納場所
 Ubuntu 18.04LTS では、bashの格納場所は、「/bin」となっています。
⇒  こちらの記事を見てください。

【5】 結論
 ですから、
  シェルスクリプト冒頭1行目のシバンを、
   「#!/usr/bin/bash」 としたのではエラーとなり、
   「#!/bin/bash」 とすると動くのです。
 


 当初、LinuxはGUIだけで使うつもりだったのが、徐々に引き込まれていって、今回、ディレクトリ構造を調べるまでになりました。
 では、また、次の回で。
名前:
コメント:

※文字化け等の原因になりますので顔文字の投稿はお控えください。

コメント利用規約に同意の上コメント投稿を行ってください。

 

  • Xでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

最近の「Ubuntu」カテゴリーもっと見る

最近の記事
バックナンバー
人気記事