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?
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 thechown
command line. Indeed, the following command invocations should all have the same effect: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.
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.