/bin/sg
ファイルだよ
UNIX系のOSで使われるよ
「sg」コマンドの本体ファイルだよ
簡単に書くよ
/bin/sgとは
UNIX系のOS
(コンピュータの人格に相当するソフト)(Linuxとか)で使われるファイルのひとつ
であり
「sg」コマンドの本体ファイル
です。
あるいは
「newgrp」コマンドの本体ファイルのシンボリックリンク
(ファイルやフォルダの代理人ファイル)
です。
詳しく書くよ
順番に見ていきましょう。
まずは予備知識として「sg」コマンドと「シンボリックリンク」について簡単に説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。
「sg」コマンドは「自分のグループを一時的に変更して(指定したグループで)コマンドを実行するときに使うコマンド」です。
UNIX系のOS(LinuxとかMacとか)で使えるコマンドです。
詳細は、用語「sg」の説明を ご覧ください。
シンボリックリンクは「ファイルやフォルダの代理人ファイル」です。
Windowsの方が詳しい人は「ショートカット」みたいなものだと思ってください。
例えば、そうですね。
ファイルAのシンボリックリンクA’が あったとしましょう。
シンボリックリンクA’を開こうとするとファイルAが開きます。
ファイルAを直接開いたのと同じ結果です。
シンボリックリンクは、自分がそのファイルやフォルダであるかのように振る舞います。
ただし実際には、ただの成りすましです。
「おーい!ちょっくら来ておくれ~!」と呼び出されると、成りすまし元に「呼ばれてるよ!早く行きなよ!」と押しつけます。
以上を踏まえて
「sg」コマンドの本体ファイル
が「/bin/sg」です。
「sg」コマンドを実行すると「/bin/sg」が呼ばれます。
「bin」ディレクトリの中の「sg」ファイルで「/bin/sg」です。
ただし、私の環境では
ls -l /bin
を実行したところ、以下の結果が表示されました。
lrwxrwxrwx. 1 root root 7 1月 2 11:08 /bin -> usr/bin
この結果のうち
/bin -> usr/bin
の部分に注目してください。
これは
「/bin」は「/usr/bin」のシンボリックリンクだからね!
を意味しています。
「/bin/sg」を起動すると、実際には「/usr/bin/sg」が動き出します。
さらに、私の環境で
ls -l /bin/sg
を実行したところ、結果は
lrwxrwxrwx. 1 root root 6 1月 2 11:10 /bin/sg -> newgrp
になりました。
/bin/sg -> newgrp
で分かる通り「/bin/sg」が「/bin/newgrp」のシンボリックリンクになっていますね。
私の環境では「sg」コマンドの本体は「newgrp」コマンドの本体と同じようです。
つまり「/bin/sg」を起動すると、まず「/usr/bin/sg」に回されて、そこからさらに「/usr/bin/newgrp」に回されているわけです。
ややこしいですね。
一応、頭の片隅にでも置いておいてあげてください。
一言でまとめるよ
まぁ「/bin/sg」って単語が出てきたら「『sg』コマンドの本体ファイルなんだな~」と お考えください。






