Przekierowanie wejściowe w Ubuntu

Przekierowanie wejściowe w Ubuntu
W Linux każdy proces ma trzy kanały komunikacji: standardowe wejście, standardowe wyjście i błąd standardowy. Te kanały komunikacji pomagają użytkownikom w interakcji z procesami w systemie Linux. Standardowy kanał komunikacyjny (STDIN) przenosi wejście od użytkownika przez terminal jako polecenie, a następnie po przetworzeniu polecenia za pomocą jądra Linux, terminal wyświetla wynik poprzez standardowe wyjście (stdout) lub standardowy błąd komunikacyjny (STDDERR) komunikacja kanał. Standardowe wyjście (stdout) lub błąd standardowy (STDDERR) jednego polecenia można przekierować jako standardowe wejście (stdin) dla innego polecenia za pomocą przekierowania we/wy „>” i podobnie można przekierować standardowe wejście (stdin) Jako standardowe wyjście (stdout) dla innego polecenia za pomocą „<” I/O redirection.

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 „>”
  • Standardowe przekierowanie wejściowe „<”
  • Standardowe przekierowanie błędu „2>”
  • Standardowe przekierowanie wyjściowe i błędów „&>”
  • Standardowe przekierowanie wyjściowe „>>”
  • Standardowe przekierowanie wejściowe „<<”
  • Przekierowanie za pomocą rur „|”

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.