ls e cd não fornecem saída quando usados com o sudo

0

No meu diretório de usuário raiz, ls mostra isso:

Desktop    Downloads         Music     Public     Videos
Documents  examples.desktop  Pictures  Templates

No entanto, sudo -i ls não fornece nenhuma saída.

cd Downloads funciona normalmente. sudo -i cd Downloads outputs "Nenhum arquivo ou diretório." O que está acontecendo? Não deve sudo -i [command] funcionar da mesma forma que qualquer comando?

    
por CoconutFred 25.05.2016 / 02:24

2 respostas

1

A opção -i faz com que o sudo execute o comando no shell especificado pelo shell de login do usuário alvo (neste caso, root), como você pode confirmar, por exemplo, executando

$ sudo -i sh -c 'echo $HOME'
/root

Por isso, está dizendo a você que não há diretório Downloads na casa de root . Se você deseja executar comandos como root, mas no ambiente do usuário invocador, use sudo -s .

    
por steeldriver 25.05.2016 / 02:35
0

Eu apenas tentei o seu comando e sem alegria, no entanto, se você fizer sudo ls -i, você obterá a saída.

sudo cd não funciona com o -i ou não.

Qual saída você está procurando do -i, especialmente do cd? cd é apenas para alterar o diretório, e não tem nenhum poder especial real, ls faz.

Pelo que li aqui adicionando -i ao sudo é para quando você quer fazer o sudo como outro usuário. ls -i fornece o número do índice de cada arquivo. por este link:

link

    
por Christopher Angulo-Bertram 25.05.2016 / 02:45