Respostas:
As opções -S
e não têm importância neste caso. Aqui está o que eles fazem, respectivamente.-p
sudo
A
-S
opção fazsudo
com que a senha seja lida no STDIN. Isso permite, por exemplo, que uma senha seja canalizadasudo
através deecho
oucat
.A
-p
opçã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
halt
comando, se chamado sem o-p
comutador, 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 now
ehalt -p
comandos todos fazem a mesma coisa quehalt
sozinho, 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.
halt
não é shutdown
, eles são comandos diferentes. O primeiro não desliga a energia, a menos que a -p
opçã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, prompt
está 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 shutdown
vs 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 now
també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