「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

sg【コマンド】

pointこの用語のポイント

pointコマンドだよ

pointUNIX系で使えるよ

point指定したグループでコマンドを実行するよ

スポンサーリンク

簡単に書くよ

sg【コマンド】とは

コンピュータさんに対する命令文(コマンド)のひとつ
であり

自分のグループを一時的に変更して(指定したグループで)コマンドを実行するときに使うコマンド
です。


image piyo

詳しく書くよ

順番に見ていきましょう。
まずは予備知識として「グループ」について簡単に説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。

グループは「複数のユーザをひとまとめに扱うための仕組み」です。

パソコンには、それを使える人、つまり「ユーザ」が登録されています。

sg

この登録されているユーザですが、たくさん用意できます。
パソコンさんに根性さえあれば、10人でも20人でも登録できてしまいます。

sg2

登録されているユーザが増えてくると、一人一人を個別に管理するのはちょっと大変です。

sg3

そこでパソコンさんは、複数のユーザをひとまとめにして管理できる仕組みを作りました。
それが「グループ」です。

例えば、ピヨ太君とピヨ子さんとピヨ太ママを「ぴよぴよグループ」に登録します。
同じように、アクマ君を「あくまグループ」に登録します。

sg4

さて、ここにファイルが1つありました。

sg5

このファイルに対して「ぴよぴよグループだけ触っても良いよ」と設定したとしましょう。

sg6

そうすると、ピヨ太君とピヨ子さんとピヨ太ママの3人はファイルに触れます。
アクマ君は、ぴよぴよグループではないので触れません。

sg7

このような

複数のユーザを一緒くたにして管理するための仕組み

がグループです。

ユーザはそれぞれ、何らかのグループに所属しています。
グループに対して指示があった場合は、そのグループに所属するユーザは指示に従う必要があります。

sg8

ユーザが1人の人間だとすると、グループは会社みたいなものです。
会社に対して何らかの指示が下されたら、会社に所属する個人それぞれにも影響します。
それと同じです。

以上を踏まえて

自分のグループを一時的に変更してコマンドを実行するときに使うコマンド

が「sg」コマンドです。
「一時的に」と書いたのは、コマンド実行後には元のグループに戻るからです。
そのコマンドのみ、指定したグループとして実行されます。

「sg」コマンドはUNIXLinuxとかMacとか)で使えます。

書き方は

sg [オプション] [グループ名] [コマンド]

もしくは

sg [オプション] [グループ名] -c [コマンド]

です。
オプションは、少しだけあります。

オプション説明
-ログインし直した状態にするよ(コマンド実行時の環境は引き継がないよ)

などです。

使い方は難しくありません。
例えば

sg root ls

を実行すると「root」グループとして「ls」コマンドが実行されます。

実行するコマンドの前の「-c」は、指定しても、しなくても、どちらでも かまいません。

sg root ls



sg root -c ls

も同じ結果になります。

実行するコマンドを指定しないで

sg root

のようにグループのみを指定した場合は「newgrp」コマンドと同じ動きをします。
といいますか、そもそも「sg」コマンドは「newgrp」コマンドのエイリアス(別名)なのです。

私の環境

ls -l /usr/bin/sg

を実行したところ

lrwxrwxrwx. 1 root root 6 1月 2 11:10 /usr/bin/sg -> newgrp

と表示されました。
見事に「newgrp」を指していますね。

ただし「newgrp」ではコマンドは実行できないようです。

newgrp root ls

を指定しても「ls」コマンドの実行結果は表示されませんでした。

素直に

・「newgrp」コマンド→一時的にグループを変えるときに使う
・「sg」コマンド→指定グループでコマンドを実行するときに使う


と使い分けた方が良さそうです。


image piyo2

一言でまとめるよ

まぁ「sg」ってコマンドが出てきたら「指定したグループでコマンドを実行するときに使うんだな~」と お考えください。

一番上に戻るよ
スポンサーリンク
書籍画像040
書籍画像028

おまけ

■訳してみるよ

「s」は何の略でしょうね。
「g」は多分「group(グループ)」の略です。
「group(グループ)」の意味は「集団」とかです。


■検索してみる?




書籍画像
わわわ説明術コラム
宣伝だよ
優れたエンジニアがコミュニティの中でしていること
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本
エンジニアのための生成AI入門 はじめての生成AIアプリ開発からエージェント開発まで