Risposte:
I pulsanti -Se -ppersudo non hanno importanza in questo caso. Ecco cosa fanno, rispettivamente.
Lo
-Sswitch provoca lasudolettura della password da STDIN. Ciò consente, ad esempio, di inviare una passwordsudoattraversoechoocat.Lo
-pswitch 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
haltcomando, se invocato senza il-pswitch, 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 nowehalt -pcomandi tutti fanno la stessa cosa chehaltda 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.
haltnon lo è shutdown, sono comandi diversi. Il primo non disattiva l'alimentazione, a meno che non -pvenga 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 haltcomando, 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 shutdownvs 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 nownon spegne necessariamente neanche l'alimentazione. Secondoman shutdown, dipende dal sistema.shutdown -H now(si noti ilHhalt