Menu
Coddy logo textTech

Standardowe wyjście błędów

Część sekcji Podstawy ścieżki Terminal w Coddy. Lekcja 41 z 82.

Trzeci i ostatni strumień danych to standardowe wyjście błędów, w skrócie stderr. Ten strumień służy specjalnie do komunikatów o błędach i ostrzeżeń, oddzielając je od zwykłego wyjścia.

Gdy polecenie się nie powiedzie, komunikat o błędzie trafia na standardowe wyjście błędów, a nie na standardowe wyjście:

ls nonexistent_folder

Komunikat o błędzie, który widzisz, jest przekazywany przez stderr. To rozdzielenie ma znaczenie, ponieważ możesz przekierowywać błędy niezależnie od zwykłego wyjścia.

Aby przekierować standardowe wyjście błędów, użyj 2> zamiast >:

ls nonexistent_folder 2> errors.txt

2 odnosi się do numeru deskryptora pliku stderr (stdout to 1, stderr to 2). To polecenie zapisuje komunikat o błędzie w pliku errors.txt, nie zaśmiecając terminala.

Możesz przekierować oba strumienie do różnych plików:

ls existing_folder nonexistent_folder > output.txt 2> errors.txt

Pomyślny wynik trafia do output.txt, a wszelkie błędy do errors.txt. Aby skierować oba strumienie do tego samego pliku, użyj 2>&1:

ls existing_folder nonexistent_folder > all_output.txt 2>&1

To przekierowuje stderr tam, dokąd trafia stdout, łącząc wszystko w jednym pliku.

challenge icon

Wyzwanie

Łatwy

Użyj operatora 2>, aby przekierować komunikat o błędzie do pliku. Wykonaj te dwa polecenia w podanej kolejności:

  1. Spróbuj wyświetlić listę folderu o nazwie missing_folder za pomocą ls i przekieruj komunikat o błędzie do pliku o nazwie errors.txt
  2. Użyj cat, aby wyświetlić zawartość pliku errors.txt

Podpowiedź: Format to ls foldername 2> filename. Komunikat o błędzie trafia do pliku zamiast pojawić się na ekranie. Użyj cat, aby sprawdzić, czy został zapisany.

Spróbuj swoich sił

Terminal
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Podstawy

Poćwicz samodzielnie: Edytor online Terminal