it-swarm-pt.tech

CHOWN: O que "id -u" representa

Eu estou trabalhando para obter o Mongodb em execução em uma instalação do servidor Ubuntu. Ao rever o instruções eu precisava criar um diretório "\ data\db" na unidade raiz. Em que ponto eu precisei alterar o proprietário usando o comando CHOWN da seguinte forma:

Sudo chown `id -u` /data/db

Quando eu emito esse comando como aparece no guia de início rápido que recebo

chown: invalid user: 'id -u'

Eu sou novo no Linux, então o que eu não entendo é o que o 'id -u' deveria significar. Quando eu substituo com o meu nome de usuário, o comando é concluído e o mongo é executado. Alguém pode me ajudar a entender o que a mão curta 'id -u' iria se comunicar com um usuário especialista em Linux que não para mim?

6
JPrescottSanders

O comando id -u imprime o seu "ID de usuário numérico" (curto: UID); como você já percebeu, é o mesmo que soletrar seu nome de usuário por completo na linha de comando chown. De fato, as seguintes invocações de comandos devem ter o mesmo efeito:

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

A razão pela qual ele não funcionou como esperado provavelmente tem a ver com as aspas: elas têm que ser backquotes (ASCII char 0x60), enquanto a mensagem de erro chown sugere que você usou o single aspas (ASCII char 0x27).

Você pode encontrar uma explicação muito completa sobre o shell do UNIX, citando aqui .

13
Riccardo Murri

Ele retorna seu ID de usuário. Execute man id para mais informações.

0
Tommy Brunn

id -u imprime o seu ID de usuário no sistema. Como alternativa, você pode simplesmente executar este comando:

Sudo chown <user> /data/db substituindo <user> pelo seu nome de usuário no sistema.

0
Marco Ceppi