Я недавно переключился на Ubuntu, и я наблюдал одну вещь, когда я использую следующую команду для переключения на пользователя root
sudo su - root
Это берет меня непосредственно в дом корня (/root
), таким образом, я теряю свое место в файловой системе (каталог, где я выполнил эту команду). Там какой-либо путь состоит в том, чтобы переключиться для укоренения, не теряя текущий каталог?
В первую очередь, не используйте sudo su
. Это не неправильно, или опасно или что-либо, это всего неэлегантно и бессмысленно . Вы запускаете две отдельных программы, чтобы сделать задание, легко обработанное одним. Если Вы хотите запустить оболочку, поскольку корень, sudo
может сделать это для Вас.
, Если Вы хотите запустить оболочку входа в систему (это - что sudo su -
) делает, используют sudo -i
. Это, однако, так как это запускает оболочку входа в систему, возьмет Вас к корневому каталогу корня по умолчанию.
Для запуска постоянного клиента не войдите в оболочку, можно использовать sudo -s
. Это запустит корневую оболочку для Вас и сохранит Вас в каталоге, от которого Вы выполнили ее:
terdon@tpad ~ $ pwd
/home/terdon
terdon@tpad ~ $ sudo -i ## changes directory
[root@tpad ~]# pwd
/root
[root@tpad ~]# logout
terdon@tpad ~ $ sudo -s ## doesn't change directory
[root@tpad terdon]# pwd
/home/terdon
Так, способ запустить корневую оболочку и остаться в том же каталоге sudo -s
.
Это очень просто. Просто тип
sudo su
вместо
sudo su - root
Это сохранит Вас в той же папке как корень.