今回は、/bin、/sbin、/usr/bin、/usr/sbin、/usr/local/bin、/usr/local/sbin これらのフォルダの役割を理解するために、記載していく。
bin sbinとは?
bin,sbinの言葉の理解から進めます。
を参照させていただきます。
binの正称は?
「binary(バイナリ)」の略です。
binary(バイナリ)
です。
バイナリとは?
コンピュータが扱うデータ(バイナリデータ)のこと。
であるため、コンピュータが扱うデータを格納している場所です。
sbinの正称は?
System の動作に必須な /bin が由来と思われる。
System binary
です。
システム側で動いているバイナリーファイルを扱う場所です。
各ディレクトリーの役割
次に、一つひとつのディレクトリーの役割を調べていく。
を参考に記載していきます。
/binディレクトリ:
/binディレクトリは、システムコマンドやプログラムが格納される場所です。OSの起動後、ユーザーモードでコマンドの基本的な操作を実行するには、このようなプログラムが必要です。通常のユーザーアクセスが必要です。
例えば、ls、cat、chmodなどのコマンドが含まれます。
ls /bin
chmod dash df expr ksh ln mv pwd rmdir stty test zsh
bash cp date echo hostname launchctl ls pax realpath sh sync unlink
cat csh dd ed kill link mkdir ps rm sleep tcsh wait4path
...
/sbinディレクトリ:
/sbinディレクトリもシステムコマンドが格納される場所です。オペレーティングシステムがシステム管理に必要とするバイナリが保存されます。これらのコマンドは通常のユーザーでは実行されず、rootユーザーによって使用されます。
例えば、ifconfig、fdisk、init、shutdownなどが含まれます。これらのプログラムは、システムの起動や管理に必要なものです。
ls /sbin/
dmesg fdisk fstyp_udf ifconfig init
mknod mount_ftp ping route reboot
shutdown systemd
...
/usr/binディレクトリ:
/usrディレクトリには、ユーザー間で共有できるすべての読み取り専用ファイルを保存できます。通常のユーザーがシステムにソフトウェアをインストールする場合、バイナリは/usr/binに、ライブラリは/usr/libに移動します。通常のユーザーが実行可能なプログラムが格納されています。これらのプログラムはシステムの起動や修復には必要ありません。
例えば、diff、du、scpなどが含まれます。
which diff
/usr/bin/diff
which du
/usr/bin/du
which scp
/usr/bin/scp
/usr/sbinディレクトリ:
/usr/sbinディレクトリも/sbinディレクトリと同様に、システム管理者やrootユーザー向けのプログラムが格納されます。これらのプログラムにはroot権限が必要で、通常のユーザーはアクセスできません。
例えば、sshd、chown、iostatなどが含まれます。
which sshd
/usr/sbin/sshd
which chown
/usr/sbin/chown
which iostat
/usr/sbin/iostat
/usr/local/binディレクトリ:
/usr/local/binディレクトリには、システムパッケージに含まれない、ユーザーがインストールしたプログラムが格納されます。これらのプログラムはシステム管理者以外のユーザーによって管理され、システムのアップデートには影響を受けません。
例えば、wget、python3、gitなどが含まれます。
/usr/local/sbinディレクトリ:
/usr/local/sbinディレクトリは、ローカルにインストールされたシステム管理プログラムが格納されます。これらのプログラムもroot権限が必要で、通常のユーザーはアクセスできません。
例えば、WiresharkやNmapなどが含まれます。
以上になります。
最後に
他にも良い方法があれば、コメントいただけると大変うれしいです。
良かったと思ったら、いいねやTwitterのフォローよろしくお願いいたします!
個人でアプリを作成しているので、良かったら覗いてみてください!