CHOWN: What does "id -u" represent

I am working to get Mongodb running on a Ubuntu server install. In reviewing the instructions I needed to create a "\data\db" directory in the root drive. At which point I needed to alter the owner using the CHOWN command as follows:

sudo chown `id -u` /data/db

When I issue that command as it appears in the quick start guide I receive

chown: invalid user: 'id -u'

I am new to Linux, so what I don't understand is what the 'id -u' was supposed to mean. When I replace with my user name the command completes just fine and mongo runs. Can someone help me understand what the short hand 'id -u' would communicate to an expert Linux user that it did not to me?

3 Answers

The command id -u prints out your "numeric user ID" (short: UID); as you already noticed, it is the same as spelling out your username in full on the chown command line. Indeed, the following command invocations should all have the same effect:

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

The reason why it did not work as expected has likely to do with the quotes: they have to be backquotes (ASCII char 0x60), whereas the chown error message suggests that you used single quotes (ASCII char 0x27).

You can find a very thorough explanation of UNIX shell quoting here.

2

It returns your user id. Run man id for more information.

id -u prints your user id on the system. As an alternative you can just run this command:

sudo chown <user> /data/db replacing <user> with your username on the system.

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

You Might Also Like