Respostas:
As opções -Se não têm importância neste caso. Aqui está o que eles fazem, respectivamente.-psudo
A
-Sopção fazsudocom que a senha seja lida no STDIN. Isso permite, por exemplo, que uma senha seja canalizadasudoatravés deechooucat.A
-popção permite substituir o prompt de senha padrão e usar um personalizado, ou nenhum.
A diferença importante está nos dois comandos emitidos por sudo.
O
haltcomando, se chamado sem o-pcomutador, simplesmente interrompe o SO e interrompe todas as CPUs. Depois que o sistema é interrompido de maneira limpa, o usuário pode pressionar com segurança o botão Liga / Desliga no computador manualmente.Os
poweroff,shutdown -h nowehalt -pcomandos todos fazem a mesma coisa quehaltsozinho, enquanto que, adicionalmente, enviando um comando ACPI para sinalizar a fonte de alimentação para desligar a alimentação principal. Isso evita que você precise pressionar fisicamente o botão Liga / Desliga no seu computador.
haltnão é shutdown, eles são comandos diferentes. O primeiro não desliga a energia, a menos que a -popção seja usada
No manual ( man halt): "-p, --poweroff: instrui o comando halt a se comportar como poweroff."
E, no seu caso, não-p foi usado no comando, portanto, seu computador não foi desligado.halt
Não confunda este -p com o de sudo, é um parâmetro diferente para um comando diferente. De man sudo:
-S A opção -S (stdin) faz com que o sudo leia a senha da entrada padrão em vez do dispositivo terminal. A senha deve ser seguida por um caractere de nova linha.-p prompt A opção -p (prompt) permite substituir o prompt de senha padrão e usar um personalizado.No seu caso, promptestá vazio (nenhuma mensagem é exibida para o sudo ao solicitar a senha) e -S faz com que o sudo aceite a senha root vi stdin (portanto, a senha pode ser fornecida usando pipes e redirecionamento de outros comandos, em vez de ser digitada)
Há uma boa resposta no site do Unix SE sobre a questão shutdownvs halt: Qual é a diferença entre os comandos Halt e Shutdown?
Quanto à sudo -S -p ''peça, isso removerá a mensagem sobre a solicitação da senha no terminal (você ainda digitou sua senha)
Por exemplo, a execução sudo <some_command>fornecerá essa saída antes de executar este comando:
[sudo] senha para:
Mas correr sudo -S -p '' <some_command>esconderá essa mensagem.
De fato, a mensagem que você coloca entre aspas está substituindo a mensagem anterior.
Vá em frente e tente o seguinte, e veja a diferença:
sudo -S -p 'Hey, I am a custom message.' ls
Não há diferença entre o comando halt e o shutdown em termos da intenção do usuário. A pequena diferença é que, na parada, você deve pressionar o botão liga / desliga para desligar o sistema, enquanto no comando shutdown instruirá automaticamente a ACPI (Advanced Configuration Power Interface) para enviar um sinal à unidade de energia para desligar o sistema.
shutdown -h nowtambém não necessariamente desliga a energia. Conformeman shutdown, depende do sistema.shutdown -H now(observe as tampas sobreH) é a garantia de ser equivalente ahalt