it-swarm-es.com

CHOWN: ¿Qué representa "id -u"?

Estoy trabajando para que Mongodb se ejecute en una instalación de servidor Ubuntu. Al revisar el instrucciones necesitaba crear un directorio "\ data\db" en la unidad raíz. En ese momento, necesitaba alterar el propietario usando el comando CHOWN de la siguiente manera:

Sudo chown `id -u` /data/db

Cuando emito ese comando como aparece en la guía de inicio rápido que recibo

chown: invalid user: 'id -u'

Soy nuevo en Linux, así que lo que no entiendo es lo que se suponía que significaba 'id -u'. Cuando lo reemplazo con mi nombre de usuario, el comando se completa bien y se ejecuta mongo. ¿Alguien puede ayudarme a entender lo que la abreviatura 'id -u' le comunicaría a un usuario experto de Linux que no me hizo?

6
JPrescottSanders

El comando id -u imprime su "ID de usuario numérico" (abreviatura: UID); como ya notó, es lo mismo que deletrear su nombre de usuario completo en la línea de comando chown. De hecho, las siguientes invocaciones de comandos deberían tener el mismo efecto:

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

La razón por la que no funcionó como se esperaba probablemente tenga que ver con las comillas: tienen que ser comillas inversas (ASCII char 0x60), mientras que el chown el mensaje de error sugiere que usó comillas simples (ASCII char 0x27).

Puede encontrar una explicación muy detallada de las citas de UNIX Shell aquí .

13
Riccardo Murri

Devuelve su identificación de usuario. Ejecute man id para obtener más información.

0
Tommy Brunn

id -u imprime su identificación de usuario en el sistema. Como alternativa, puede ejecutar este comando:

Sudo chown <user> /data/db reemplazando <user> con su nombre de usuario en el sistema.

0
Marco Ceppi