Odpowiedzi:
W tym przypadku przełączniki -Si nie mają znaczenia. Oto, co robią odpowiednio.-psudo
-SPrzełącznik powodujesudoaby odczytać hasło ze standardowego wejścia. Pozwala to, na przykład hasło być odprowadzone dosudopośrednictwemecholubcat.
-pPrzełą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.
haltPolecenia, jeśli wywołana bez-pprzełą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 noworazhalt -ppolecenia wszystkim zrobić to samo, cohaltsam, podczas gdy dodatkowo wysyłając polecenie ACPI sygnalizować zasilacza, aby odłączyć zasilanie. Zapobiega to fizycznemu naciśnięciu przycisku zasilania na komputerze.
haltnie jest shutdown, są to różne polecenia. Ten pierwszy nie wyłącza zasilania, chyba że -pzostanie 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 promptjest 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 shutdownvs 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 nowniekoniecznie wyłącza również zasilanie. Jak naman shutdownto zależy od systemu.shutdown -H now(zauważ, że czapki są włączoneH) to gwarancja, że będzie to równowartośćhalt