Chown: What Does "Id -U" Represent

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

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

James H. Sterling
Author

James H. Sterling

James Sterling reports on renewable energy developments, climate policy, ecological conservation, and green tech innovations around the globe.