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?
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.