Je travaille pour que Mongodb s'exécute sur un serveur Ubuntu. En examinant instructions , je devais créer un répertoire "\ data\db" dans le lecteur racine. À ce stade, j'ai dû modifier le propriétaire à l'aide de la commande CHOWN comme suit:
Sudo chown `id -u` /data/db
Lorsque j'émets cette commande telle qu'elle apparaît dans le guide de démarrage rapide que je reçois
chown: invalid user: 'id -u'
Je suis nouveau sur Linux, alors ce que je ne comprends pas, c'est ce que "id -u" était censé vouloir dire. Lorsque je remplace par mon nom d'utilisateur, la commande se termine correctement et mongo s'exécute. Quelqu'un peut-il m'aider à comprendre ce que le raccourci "id -u" indiquerait à un utilisateur expert de Linux qu'il ne m'a pas signalé?
La commande id -u
imprime votre "ID utilisateur numérique" (abrégé: UID); comme vous l'avez déjà remarqué, cela revient à épeler votre nom d'utilisateur au complet sur la ligne de commande chown
. En effet, les invocations de commande suivantes devraient toutes avoir le même effet:
Sudo chown `id -u` /data/db
Sudo chown $USER /data/db
La raison pour laquelle cela n’a pas fonctionné comme prévu a probablement un rapport avec les guillemets: ils doivent être des citations arrières (caractère ASCII 0x60), alors que l’erreur chown
Un message vous suggère d'utiliser des guillemets simples (caractère ASCII 0x27).
Vous pouvez trouver une explication très détaillée de UNIX Shell citant ici .
Il retourne votre identifiant d'utilisateur. Exécutez man id
pour plus d'informations.
id -u
imprime votre identifiant utilisateur sur le système. Comme alternative, vous pouvez simplement exécuter cette commande:
Sudo chown <user> /data/db
en remplaçant <user>
par votre nom d'utilisateur sur le système.