Réponses:
Les commutateurs -S
et n'ont aucune importance dans ce cas. Voici ce qu'ils font, respectivement.-p
sudo
Le
-S
commutateur faitsudo
lire le mot de passe de STDIN. Cela permet, par exemple, de diriger un mot de passesudo
viaecho
oucat
.Le
-p
commutateur vous permet de remplacer l'invite de mot de passe par défaut et d'en utiliser une personnalisée ou aucune.
La différence importante réside dans les deux commandes émises par sudo
.
La
halt
commande, si elle est invoquée sans le-p
commutateur, arrête simplement le système d'exploitation et arrête tous les processeurs. Une fois le système correctement arrêté, l'utilisateur peut appuyer en toute sécurité sur le bouton d'alimentation de son ordinateur manuellement.Les
poweroff
,shutdown -h now
et leshalt -p
commandes font tous la même chose quehalt
seul, tout en envoyant en outre une commande d'ACPI pour signaler l'unité d'alimentation pour déconnecter l'alimentation principale. Cela vous évite d'avoir à appuyer physiquement sur le bouton d'alimentation de votre ordinateur.
halt
n'est pas shutdown
, ce sont des commandes différentes. Le premier ne coupe pas l'alimentation, sauf si l' -p
option est utilisée
Dans le manuel ( man halt
): "-p, --poweroff: Demande à la commande d'arrêt de se comporter à la place comme une mise hors tension."
Et, dans votre cas, -p
n'a pas été utilisé dans la halt
commande, votre ordinateur n'a donc pas été éteint.
Ne confondez pas ce -p avec celui de sudo
, c'est un paramètre différent pour une commande différente. De man sudo
:
-S
L'option -S (stdin) oblige sudo à lire le mot de passe à partir de l'entrée standard au lieu du périphérique terminal. Le mot de passe doit être suivi d'un caractère de nouvelle ligne.-p prompt
L'option -p (invite) vous permet de remplacer l'invite de mot de passe par défaut et d'en utiliser une personnalisée.Dans votre cas, prompt
est vide (aucun message ne s'affiche pour sudo lorsque vous demandez le mot de passe), et -S oblige sudo à accepter le mot de passe root vi stdin (le mot de passe peut donc être fourni à l'aide de canaux et de la redirection à partir d'autres commandes au lieu d'être tapé)
Il y a une bonne réponse sur le site Unix SE à propos du problème shutdown
vs halt
: Quelle est la différence entre les commandes Halt et Shutdown?
Quant à la sudo -S -p ''
partie, cela supprimera le message sur la demande du mot de passe dans le terminal (vous devez quand même saisir votre mot de passe)
Par exemple, l'exécution sudo <some_command>
donnera cette sortie avant d'exécuter cette commande:
[sudo] mot de passe pour:
Mais courir sudo -S -p '' <some_command>
cachera ce message.
En fait, le message que vous mettez entre guillemets remplace le message précédent.
Allez-y et essayez ce qui suit, et voyez la différence:
sudo -S -p 'Hey, I am a custom message.' ls
Il n'y a aucune différence entre la commande d'arrêt et l'arrêt en termes d'intention de l'utilisateur. La mince différence est qu'en arrêt, vous devez appuyer sur le bouton d'alimentation pour arrêter le système, tandis que dans la commande d'arrêt, il demandera automatiquement à l'interface de configuration avancée (ACPI) d'envoyer un signal à l'unité d'alimentation pour éteindre le système.
shutdown -h now
ne coupe pas nécessairement l'alimentation non plus. Selonman shutdown
, cela dépend du système.shutdown -H now
(notez les plafondsH
) est celui qui est garanti équivalent àhalt