Używając Linuksa, możesz napotkać odniesienia do „standardowego wejścia/wyjścia” lub „standardowego wejścia”, „standardowego wyjścia” i „standardowego błędu”. Co oznaczają te terminy?
Wejście standardowe
Standardowe dane wejściowe to termin określający dane wejściowe, które otrzymuje program oparty na poleceniach. W użyciu interaktywnym zwykle pochodzi z klawiatury, ale jak zobaczysz później, może również pochodzić z pliku.
Podczas gdy klawiatura w dzisiejszych czasach jest zwykle podłączona bezpośrednio do komputera, kiedy terminale tekstowe były bardziej wspólne, standardowe wejście zostało pobrane z klawiatury terminala podłączonej do centralnego minikomputera lub Główna rama. Współczesne systemy Linux wykorzystują emulatory terminali lub konsolę systemową jako standardowe wejście.
Wyjście standardowe
Standardowe wyjście, podobnie jak standardowe wejście, to miejsce, w którym program wyśle swoje wyjście tekstowe. Ponownie, jest to zazwyczaj emulator terminala w nowoczesnych systemach, ale w przeszłości był to również emulator fizyczny, z ekranami CRT lub drukowany na papierze za pomocą dalekopisu.
Terminale teletype były bardziej popularne, gdy poprzednik Linuksa, Unix, był rozwijany w Bell Labs pod koniec lat 60. i na początku lat 70. XX wieku.
Związane z: Dlaczego polecenia systemu Linux są tak krótkie? Historia poleceń Linuksa
Podobnie jak standardowe wejście, możesz również przekierować standardowe wyjście do pliku.
Standardowy błąd
Błąd standardowy jest zwykle używany w przypadku wszelkich komunikatów o błędach, jakie może wygenerować program. Podobnie jak w przypadku standardowego wyjścia, jest ono zwykle wyświetlane na ekranie, ale można je również przekierować do pliku lub urządzenia blokowego, takiego jak /dev/null.
Jak przekierować wejście i wyjście w systemie Linux?
Jedną z najpotężniejszych funkcji systemów Linux i Unix jest możliwość przekierowania wejścia i wyjścia do plików i innych programów.
Najczęściej stosowaną metodą jest wysyłanie danych wyjściowych z jednego polecenia do drugiego lub „potoku”. Do Na przykład, aby zobaczyć, ile poleceń Linuksa ma w nazwie „sh”, możesz potoku wynik polecenia ls z grep.
ls /bin | grep „sz”
Do przekierować wyjście z polecenia do pliku, Użyj > operator. Na przykład, aby wysłać wyjście polecenie ls do nazwy pliku lista plików:
ls > lista plików
ten >> operator dołącza dane wyjściowe do istniejącego pliku lub tworzy go, jeśli nie istnieje. Aby zapobiec przypadkowemu nadpisaniu pliku, możesz ustawić opcję „noclobber” w Bash:
ustaw noclobber
Możesz również nakazać programowi pobieranie danych wejściowych z pliku za pomocą < operator. Program cat może wydrukować zawartość pliku, pobierając dane wejściowe z pliku i wysyłając dane wyjściowe na standardowe wyjście.
kot < plik
Oczywiście możesz po prostu użyć cat i podać ścieżkę pliku jako argument, ale to tylko przykład.
Standardowy błąd można przekierować za pomocą deskryptora pliku lub liczby odpowiadającej jednej z form standardowego I/0. W przypadku deskryptorów plików 0 to standardowe wejście, 1 to standardowe wyjście, a 2 to standardowy błąd. Składnia w Bash to [deskryptor pliku]>. Warto przekierować błąd standardowy do /dev/null aby pozbyć się błędów:
linux_command 2> /dev/null
Możesz przekierować zarówno standardowe wyjście, jak i wejście jednocześnie za pomocą &>, co jest przydatne, jeśli chcesz wysłać wiadomość e-mail lub post na forum z opisem problemu, który masz z programem:
linux_command &> plik
Standardowe we/wy działa wszędzie
Nawet w dzisiejszych środowiskach graficznych standardowe I/O pozostaje ważne, ponieważ nadal jest uniwersalnym interfejsem, od komputera stacjonarnego do serwera i urządzenia mobilnego, opartym na tekście ASCII.
Tekst ASCII wydaje się tajemniczy, ale ma wiele zastosowań w Internecie.
Czytaj dalej
- Linux
- Wyjaśnienie technologii
- Podstawowe informacje o Linuksie
- Powłoka Bash dla Linuksa
David jest niezależnym pisarzem mieszkającym w północno-zachodnim Pacyfiku, ale pierwotnie pochodzi z Bay Area. Od dzieciństwa jest entuzjastą technologii. Zainteresowania Davida obejmują czytanie, oglądanie wysokiej jakości programów telewizyjnych i filmów, gry retro i zbieranie nagrań.
Zapisz się do naszego newslettera
Dołącz do naszego newslettera, aby otrzymywać porady techniczne, recenzje, bezpłatne e-booki i ekskluzywne oferty!
Kliknij tutaj, aby zasubskrybować