Я работаю над тем, чтобы Mongodb работал на сервере Ubuntu. При просмотре инструкций мне нужно было создать каталог «\ data \ db» на корневом диске. В этот момент мне нужно было изменить владельца, используя команду CHOWN следующим образом:
sudo chown `id -u` /data/db
Когда я запускаю эту команду, как это показано в кратком руководстве, я получаю
chown: invalid user: 'id -u'
I Я новичок в Linux, поэтому я не понимаю, что должен был означать «id -u». Когда я заменяю своим именем пользователя, команда завершается очень хорошо и монго запускается. Может ли кто-нибудь помочь мне понять, что бы короткая рука «id -u» сообщала опытному пользователю Linux, а не мне?
Команда id -u
распечатывает ваш «числовой идентификатор пользователя» (сокращенно: UID); как вы уже заметили, это то же самое, что полное изложение вашего имени пользователя в командной строке chown
. Действительно, следующие вызовы команд должны иметь одинаковый эффект:
sudo chown `id -u` /data/db
sudo chown $USER /data/db
Причина, по которой это не сработало так, как ожидается, связана с кавычками: они должны быть обратными кавычками (ASCII char 0x60), тогда как сообщение об ошибке chown
предполагает, что вы использовали одинарные кавычки (ASCII char 0x27).
Вы можете найти очень подробное объяснение цитирования оболочки UNIX здесь .
Возвращает ваш идентификатор пользователя. Запустите man id
для получения дополнительной информации.
id -u
печатает ваш идентификатор пользователя в системе. В качестве альтернативы вы можете просто запустить эту команду:
sudo chown <user> /data/db
заменив <user>
вашим именем пользователя в системе.