Risposte:
I pulsanti -S
e -p
persudo
non hanno importanza in questo caso. Ecco cosa fanno, rispettivamente.
Lo
-S
switch provoca lasudo
lettura della password da STDIN. Ciò consente, ad esempio, di inviare una passwordsudo
attraversoecho
ocat
.Lo
-p
switch ti consente di sovrascrivere la richiesta di password predefinita e di usarne una personalizzata o nessuna.
La differenza importante sta nei due comandi emessi da sudo
.
Il
halt
comando, se invocato senza il-p
switch, arresta semplicemente il sistema operativo e arresta tutte le CPU. Una volta che il sistema è stato fermato in modo pulito, l'utente può premere in sicurezza il pulsante di accensione sul suo computer manualmente.I
poweroff
,shutdown -h now
ehalt -p
comandi tutti fanno la stessa cosa chehalt
da sola, mentre in aggiunta l'invio di un comando di ACPI per segnalare l'unità di alimentazione per scollegare l'alimentazione principale. Questo ti impedisce di dover premere fisicamente il pulsante di accensione sul tuo computer.
halt
non lo è shutdown
, sono comandi diversi. Il primo non disattiva l'alimentazione, a meno che non -p
venga utilizzata l'opzione
Dal manuale ( man halt
): "-p, --poweroff: indica al comando halt di comportarsi invece come poweroff."
E, nel tuo caso, non-p
è stato usato nel halt
comando, quindi il tuo computer non è stato spento.
Non confondere questo -p con quello di sudo
, è un parametro diverso per un comando diverso. Da man sudo
:
-S
L'opzione -S (stdin) fa sì che sudo legga la password dall'input standard anziché dal dispositivo terminale. La password deve essere seguita da un carattere di nuova riga.-p prompt
L'opzione -p (prompt) consente di sovrascrivere la richiesta della password predefinita e utilizzarne una personalizzata.Nel tuo caso, prompt
è vuoto (nessun messaggio visualizzato per sudo quando si richiede la password) e -S fa sì che sudo accetti la password di root vi stdin (quindi la password può essere fornita usando pipe e reindirizzamento da altri comandi invece di essere digitata)
C'è una buona risposta sul sito Unix SE sul problema shutdown
vs halt
: qual è la differenza tra i comandi Halt e Shutdown?
Per quanto riguarda la sudo -S -p ''
parte, questo rimuoverà il messaggio relativo alla richiesta della password nel terminale (è comunque necessario inserire la password)
Ad esempio, l'esecuzione sudo <some_command>
darà questo output prima di eseguire questo comando:
[sudo] password per:
Ma correre sudo -S -p '' <some_command>
nasconderà quel messaggio.
In effetti, il messaggio che hai inserito tra virgolette, sta sostituendo il messaggio precedente.
Vai avanti e prova quanto segue e vedi la differenza:
sudo -S -p 'Hey, I am a custom message.' ls
Non ci sono differenze tra il comando halt e lo spegnimento in termini di intenzione dell'utente. La sottile differenza sta nel fatto che è necessario premere convenientemente il pulsante di accensione per spegnere il sistema, mentre nel comando di spegnimento istruirà automaticamente l'interfaccia di alimentazione avanzata di configurazione (ACPI) per inviare un segnale all'unità di potenza per spegnere il sistema.
shutdown -h now
non spegne necessariamente neanche l'alimentazione. Secondoman shutdown
, dipende dal sistema.shutdown -H now
(si noti ilH
halt