web-dev-qa-db-ja.com

CHOWN:「id -u」は何を表していますか

UbuntuサーバーのインストールでMongodbを実行するように取り組んでいます。 instructions を確認する際に、ルートドライブに "\ data\db"ディレクトリを作成する必要がありました。その時点で、次のようにCHOWNコマンドを使用して所有者を変更する必要がありました。

Sudo chown `id -u` /data/db

受け取ったクイックスタートガイドに表示されているコマンドを発行すると

chown: invalid user: 'id -u'

私はLinuxを初めて使用するので、「id -u」の意味がわからないことがわかりません。ユーザー名に置き換えると、コマンドは正常に完了し、mongoが実行されます。誰かが手短な 'id -u'がLinuxの専門家に私に伝えなかったことを伝えるのを助けてくれますか?

6

コマンドid -uは、「数値ユーザーID」(略称:UID)を出力します。既にお気づきのように、chownコマンドラインでユーザー名を完全に入力するのと同じです。実際、次のコマンド呼び出しはすべて同じ効果があります。

Sudo chown `id -u` /data/db
Sudo chown $USER /data/db

期待どおりに動作しなかった理由は、引用符に関係している可能性があります:backquotes(ASCII char 0x60)である必要がありますが、chownエラーメッセージは、単一引用符(ASCII文字0x27)を使用したことを示唆しています。

UNIXシェルの引用 ここ の非常に詳細な説明を見つけることができます。

13
Riccardo Murri

ユーザーIDを返します。詳細については、man idを実行してください。

0
Tommy Brunn

id -uは、ユーザーIDをシステムに出力します。別の方法として、次のコマンドを実行することもできます。

Sudo chown <user> /data/db<user>をシステム上のユーザー名に置き換えます。

0
Marco Ceppi