Standardowe wejście
Standardowe wejście lub stdin to polecenie, które wpisujemy w naszym terminalu do interakcji z jądrem Linux.
Ubuntu@ubuntu: ~ $ ls -la
W powyższym przykładzie, „LS -LA” jest standardowym wejściem lub stdinem.
Standardowe wyjście
Standardowe wyjście lub stdout jest wyjściem procesu uruchomionego lub polecenia podawanego do jądra Linux za pomocą standardowego wejścia i jest wyświetlane na terminalu. Na przykład, podane powyżej, wyjście będzie jak
Ubuntu@ubuntu: ~ $ ls -la
… Snip…
-rwxr-x --- 1 Ubuntu Ubuntu 89 stycznia 4 2021 Arith.cii
-RW-R-R-- 1 Ubuntu Ubuntu 3771 czerwca 2020 .Bashrc
DRWX ------ 28 Ubuntu Ubuntu 4096 1 sierpnia 13:10 .Pamięć podręczna
drwxr-xr-x 36 Ubuntu Ubuntu 4096 29 lipca 18:30 .konfigurator
DRWX ------ 3 Ubuntu Ubuntu 4096 18 listopada 2020 .dbus
drwxr-xr-x 5 Ubuntu Ubuntu 4096 lipca 16:28 Desktop
drwxr-xr-x 13 Ubuntu Ubuntu 12288 28 lipca 19:53
… Snip…
Każde wyjście ma wstępnie zdefiniowane domyślne miejsce w systemach operacyjnych opartych na UNIX. Niektóre metody przekierowywania wyjścia podano poniżej.
Standardowe przekierowanie wyjściowe „>”
Przekierowanie wyjściowe to metoda, w której standardowe wyjście polecenia można przekierować do plików lub jako standardowe wejście dla innego polecenia. Znak „>” służy do przekierowania wyjściowego. Terminal nie pokazuje danych wyjściowych; Zamiast tego jest zapisywany do pliku lub przekierowany jako wejście do innego polecenia. Na przykład
Ubuntu@ubuntu: ~ $ echo hello świat> plik.tekst
LUB
Ubuntu@ubuntu: ~ $ sudo apt-cache pkgnames> packegnames
Zamiast wyjścia pokazanego na terminalu, zostanie on przekierowany do pliku.plik TXT lub Pakegsnames. Aby potwierdzić, czy wyjście zostało przekierowane, czy nie, użyj kot polecenie do odczytania plików.
Ubuntu@ubuntu: ~ $ cat plik.tekst
Ubuntu@ubuntu: ~ $ cat Pakegname
Ten operator „1>” jest również używany do przekierowania standardowego wyjścia.
Standardowe przekierowanie wejściowe „ < ”
Przekierowanie wejściowe to metoda, w której standardowe wejście polecenia jest przekierowywane z pliku lub standardowe wyjście innej polecenia. „„<” sign is used for input redirection. It is mostly the default action of a command. For example
Ubuntu@ubuntu: ~ $ mniej < /etc/passwd
Jest taki sam jak ten.
Ubuntu@ubuntu: ~ $ Less /etc /Passwd
Przyjmuje dane wejściowe z pliku /etc/passwd Zamiast klawiatury. „0<” sign can also be used for redirecting standard input.
Standardowe przekierowanie błędu „2>”
Za pomocą metody przekierowania błędy standardowe można przekierować i zapisać do pliku. Na przykład
Ubuntu@ubuntu: ~ $ sudo apt-get aktualizacja 2> błąd
Jeśli wystąpi jakikolwiek błąd, nie wyświetli się w oknie terminalu; Raczej będzie przechowywany w pliku błędu. Jeśli plik błędu już istnieje, zostanie on zastąpiony.
Standardowe wyjście i standardowe przekierowanie błędu „&>”
Z znakiem „&>” istnieje bardziej wydajny sposób przekierowania standardowego wyjścia i błędu standardowego jednocześnie ze znakiem „i>”. Na przykład
Ubuntu@ubuntu: ~ $ sudo apt-cache pkgnames &> pkgnames
Wszystkie nazwy i błędy pakietu będą przechowywane w pliku pkgnames.
Standardowe przekierowanie wyjściowe „>>”
Ta metoda przekierowania przekierowuje standardowe wyjście polecenia lub pliku do innego pliku. Różnica polega na użyciu przekierowania „>>”, jeśli plik już istnieje, dane zostaną dołączone do pliku; stąd plik nie zostanie zastąpiony.
Ubuntu@ubuntu: ~ $ sudo apt-cache pkgnames >> pkgnames
Jeśli plik pkgnames już istnieje, jego treść nie zostanie zastąpiona; Raczej wyjście zostanie dodane na końcu pliku.
Standardowe przekierowanie wejściowe „ << ”
Ta metoda przekierowania odczytuje wejście użytkownika z terminala, a następnie dołącza do pliku.
Ubuntu@ubuntu: ~ $ cat pkgnames << pkgnames
> Ubuntu
> Chrome
> pkgnames
Jeśli plik pkgnames już istnieje, jego treść nie zostanie zastąpiona.
Przekierowanie za pomocą rur „| "
Rury są często używane, gdy chcesz połączyć wiele poleceń. W przypadku rur wyjście pierwszego polecenia może być używane jako wejście drugiego polecenia. Na przykład
Ubuntu@ubuntu: ~ $ sudo apt-cache pkgnames | mniej
W powyższym poleceniu standardowe wyjście polecenia pozostawione do rury „|” Znak jest standardowym wejściem polecenia prawa do rury „|” podpisać.
Łączenie operatorów przekierowania
Możesz połączyć niektórych operatorów przekierowania, ponieważ są one dogodnie łatwe w użyciu i zajmują mniej czasu; Niektóre z połączonych operatorów przekierowania podano poniżej.
2 >>: | Ten operator służy do przekierowania standardowych błędów do pliku. |
: | Ten operator jest używany do określonych plików jako standardowe wejście, jak i standardowe wyjście. |
> &: | Ten operator przekierowuje wyjście jednego pliku do drugiego. |
<&: | Ten operator przekierowuje wejście jednego pliku do drugiego. |
2> i 1: | Ten operator służy do przekierowania błędu standardowego do standardowego wyjścia. |
1> i 2: | Ten operator służy do przekierowania standardowego wyjścia do błędu standardowego. |
Wniosek
Jako administrator Linuksa przekierowanie wejściowe jest bardzo powszechną rutyną w codziennej pracy. Przechowywanie wyjściowych i błędów do późniejszego użycia i łączenia wielu poleceń ułatwia pracę i skróć czas, abyś mógł pracować sumiennie i wydajnie. Powyżej są kilka wskazówek, które pomogą ci zrozumieć przekierowania wejściowe.