it-swarm.it

CHOWN: Cosa rappresenta "id -u"

Sto lavorando per far funzionare Mongodb su un'installazione del server Ubuntu. Nel rivedere istruzioni avevo bisogno di creare una directory "\ data\db" nell'unità root. A quel punto ho dovuto modificare il proprietario usando il comando CHOWN come segue:

Sudo chown `id -u` /data/db

Quando invio quel comando come appare nella guida rapida che ricevo

chown: invalid user: 'id -u'

Sono nuovo di Linux, quindi ciò che non capisco è cosa avrebbe dovuto significare "id -u". Quando sostituisco con il mio nome utente, il comando si completa bene e mongo viene eseguito. Qualcuno può aiutarmi a capire ciò che la scorciatoia 'id -u' avrebbe comunicato a un utente esperto di Linux che non mi ha fatto?

6

Il comando id -u stampa il tuo "ID utente numerico" (abbreviato: UID); come hai già notato, è lo stesso che sillabare il tuo nome utente per intero sulla riga di comando chown. In effetti, le seguenti invocazioni di comandi dovrebbero avere tutte lo stesso effetto:

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

Il motivo per cui non ha funzionato come previsto ha probabilmente a che fare con le virgolette: devono essere backquotes (carattere ASCII 0x60), mentre l'errore chown il messaggio suggerisce che hai usato virgolette singole (carattere ASCII 0x27).

È possibile trovare una spiegazione molto approfondita della quotazione della shell UNIX qui .

13
Riccardo Murri

Restituisce il tuo ID utente. Eseguire man id per ulteriori informazioni.

0
Tommy Brunn

id -u stampa il tuo ID utente sul sistema. In alternativa puoi semplicemente eseguire questo comando:

Sudo chown <user> /data/db sostituendo <user> con il tuo nome utente sul sistema.

0
Marco Ceppi