Quando estou logado como username
, por que
sudo ls ~
mostre-me o conteúdo de em vez de ? Achei que executa um comando como root, nesse caso representaria ./home/username
/root
sudo
~
/root
mais explicação:
Além disso, se eu executar o su
comando e, em seguida, executar ls ~
, serei mostrado o conteúdo de /root
. Então eu pensei que fazer isso era equivalente a sudo ls ~
.
Como outro exemplo, alguns comandos com um --user
sinalizador interpretarão o usuário como root quando executados como sudo
. Por exemplo, instalará em um diretório dentro de , enquanto instalará em um diretório dentro de . Observe que não é aconselhável executar o último comando, estou apenas usando-o para mostrar a funcionalidade que estou descrevendo.pip install --user packagename
/home/username
sudo pip install --user packagename
/root
O shell se expande
~
antes de ser executadosudo
; você pode ver isso em ação comset -x
:o que mostra que o comando realmente executado já tem o diretório home expandido, usando o usuário atual no momento da expansão.
Para ver o diretório inicial do usuário de destino, você deve adiar a expansão do til :