Odpowiedzi:
W tym przypadku przełączniki -S
i nie mają znaczenia. Oto, co robią odpowiednio.-p
sudo
-S
Przełącznik powodujesudo
aby odczytać hasło ze standardowego wejścia. Pozwala to, na przykład hasło być odprowadzone dosudo
pośrednictwemecho
lubcat
.
-p
Przełącznik pozwala zastąpić domyślne hasło szybka i użyć jednego niestandardową, albo wcale.
Ważną różnicą są dwa polecenia wydawane przez sudo
.
halt
Polecenia, jeśli wywołana bez-p
przełącznika, po prostu zatrzymuje OS i zatrzymuje wszystkie procesory. Gdy system zostanie całkowicie zatrzymany, użytkownik może bezpiecznie ręcznie nacisnąć przycisk zasilania na swoim komputerze.Te
poweroff
,shutdown -h now
orazhalt -p
polecenia wszystkim zrobić to samo, cohalt
sam, podczas gdy dodatkowo wysyłając polecenie ACPI sygnalizować zasilacza, aby odłączyć zasilanie. Zapobiega to fizycznemu naciśnięciu przycisku zasilania na komputerze.
halt
nie jest shutdown
, są to różne polecenia. Ten pierwszy nie wyłącza zasilania, chyba że -p
zostanie użyta opcja
Z instrukcji ( man halt
): „-p, --poweroff: instruuje polecenie halt, aby zamiast tego zachowywało się jak poweroff”.
I w twoim przypadku nie-p
został użyty w poleceniu, dlatego komputer nie został wyłączony.halt
Nie pomyl tego -p z tym z sudo
, ponieważ jest to inny parametr dla innej komendy. Od man sudo
:
-S
Opcja -S (stdin) powoduje, że sudo odczytuje hasło ze standardowego wejścia zamiast urządzenia końcowego. Hasło musi poprzedzać znak nowej linii.-p prompt
Opcja -p (monit) pozwala zastąpić domyślne hasło i użyć niestandardowego.W twoim przypadku prompt
jest pusty (żaden komunikat nie wyświetla się dla sudo po zapytaniu o hasło), a -S sprawia, że sudo akceptuje hasło roota vi stdin (więc hasło można podać za pomocą potoków i przekierowania z innych poleceń zamiast wpisywania)
Na stronie Unix SE znajduje się dobra odpowiedź na temat shutdown
vs halt
: Jaka jest różnica między poleceniami Halt i Shutdown?
Jeśli chodzi o tę sudo -S -p ''
część, spowoduje to usunięcie komunikatu o pytaniu o hasło w terminalu (jednak nadal musisz podać swoje hasło)
Na przykład uruchomienie sudo <some_command>
spowoduje wyświetlenie tego wyniku przed uruchomieniem tego polecenia:
[sudo] hasło dla:
Ale bieganie sudo -S -p '' <some_command>
ukryje tę wiadomość.
W rzeczywistości wiadomość, którą wstawiłeś w cudzysłowie, zastępuje poprzednią wiadomość.
Śmiało, wypróbuj następujące rozwiązania i zobacz różnicę:
sudo -S -p 'Hey, I am a custom message.' ls
Nie ma różnicy między poleceniem zatrzymania a zamknięciem pod względem intencji użytkownika. Różnica polega na tym, że w czasie zatrzymania trzeba wygodnie nacisnąć przycisk zasilania, aby zamknąć system, natomiast w poleceniu zamknięcia automatycznie poleci interfejsowi zasilania zaawansowanej konfiguracji (ACPI), aby wysłał sygnał do zasilacza w celu wyłączenia systemu.
shutdown -h now
niekoniecznie wyłącza również zasilanie. Jak naman shutdown
to zależy od systemu.shutdown -H now
(zauważ, że czapki są włączoneH
) to gwarancja, że będzie to równowartośćhalt