Dowiedz się, jak działają przekierowanie I/O Linux (wejście/wyjście)
- 2090
- 649
- Pan Jeremiasz Więcek
Jednym z najważniejszych i interesujących tematów pod administracją Linuksa jest przekierowanie we/wy. Ta funkcja wiersza poleceń umożliwia przekierowanie wejścia i/lub wyjścia poleceń z i/lub plików lub połączenie wielu poleceń razem za pomocą rur do tworzenia tak zwanego „Rurociąg z dowództw".
Wszystkie polecenia, które zasadniczo uruchamiamy, produkują dwa rodzaje wyjściowych:
- Wynik polecenia - dane, do których program ma na celu wytworzenie i
- Komunikaty o statusie programu i błędów, które informują użytkownika o szczegółach wykonania programu.
W systemie Linux i innych systemów podobnych do UNIX istnieją trzy domyślne pliki wymienione poniżej, które są również identyfikowane przez powłokę przy użyciu numerów deskryptora plików:
- stdin lub 0 - Jest podłączony do klawiatury, większość programów odczytuje dane wejściowe z tego pliku.
- stdout lub 1 - Jest dołączony do ekranu, a wszystkie programy wysyłają swoje wyniki do tego pliku i
- Stderr lub 2 - Programy wysyłają komunikaty o statusie/błędach do tego pliku, który jest również dołączony do ekranu.
Dlatego przekierowanie we/wy umożliwia zmianę źródła wejściowego polecenia, a także tam, gdzie wysyłane są jego komunikaty wyjściowe i błędów. I jest to możliwe dzięki "<”
I „>”
Operatorzy przekierowania.
Jak przekierować standardowe wyjście do pliku w Linux
Możesz przekierować standardowe dane wyjściowe, jak w poniższym przykładzie, tutaj chcemy przechowywać dane wyjściowe Top Command do późniejszej kontroli:
$ top -bn 5> top.dziennik
Gdzie flagi:
-B
- pozwala szczyt Aby uruchomić w trybie wsadowym, abyś mógł przekierować jego wyjście do pliku lub innego polecenia.-N
- Określa liczbę iteracji przed końcem polecenia.
Możesz wyświetlić zawartość szczyt.dziennik
Plik za pomocą polecenia CAT w następujący sposób:
$ cat top.dziennik
Aby dołączyć wyjście polecenia, użyj „>>”
operator.
Na przykład, aby dołączyć wyjście najwyższego polecenia powyżej w szczyt.dziennik Plik szczególnie w skrypcie (lub w wierszu poleceń) wprowadź wiersz poniżej:
$ top -bn 5 >> top.dziennik
Notatka: Korzystając z numeru deskryptora pliku, powyższe polecenie przekierowania wyjściowego jest takie samo jak:
$ top -bn 5 1> top.dziennik
Jak przekierować standardowy błąd do pliku w Linux
Aby przekierować standardowy błąd polecenia, musisz wyraźnie określić numer deskryptora pliku, 2
aby skorupa zrozumiała, co próbujesz zrobić.
Na przykład poniższe polecenie LS wytworzy błąd po wykonaniu przez normalnego użytkownika systemu bez uprawnień root:
$ ls -l /root /
Możesz przekierować błąd standardowy do pliku, jak poniżej:
$ ls -l / root / 2> ls -error.log $ cat ls-error.dziennikPrzekieruj standardowy błąd do pliku
Aby dołączyć błąd standardowy, użyj poniższego polecenia:
$ ls -l / root / 2 >> LS -error.dziennik
Jak przekierować standardowe wyjście/ błąd do jednego pliku
Możliwe jest również przechwycenie wszystkich wyjściowych polecenia (zarówno standardowego wyjścia, jak i błędu standardowego) w jednym pliku. Można to zrobić na dwa możliwe sposoby, określając numery deskryptora pliku:
1. Pierwsza to stosunkowo stara metoda, która działa następująco:
$ ls -l / root /> ls -error.Log 2> i 1
Powyższe polecenie oznacza, że powłoka najpierw wyśle dane wyjściowe polecenia LS do pliku LS-error.dziennik (za pomocą > LS-error.dziennik
), a następnie zapisuje wszystkie komunikaty o błędach do deskryptora pliku 2 (standardowe wyjście), które zostało przekierowane do pliku LS-error.dziennik (za pomocą 2> i 1
). Sugerując, że błąd standardowy jest również wysyłany do tego samego pliku, co standardowe wyjście.
2. Druga i bezpośrednia metoda to:
$ ls -l / root / &> ls -error.dziennik
Możesz także dołączyć standardowy wyjście i błąd standardowy do jednego pliku, takiego jak:
$ ls -l / root / & >> ls -error.dziennik
Jak przekierować standardowe dane wejściowe do pliku
Większość, jeśli nie wszystkie polecenia, otrzymuje swoje dane wejściowe ze standardowego wejścia, a domyślnie standardowe wejście jest dołączone do klawiatury.
Aby przekierować standardowe wejście z pliku inne niż klawiatura, użyj "<”
Operator jak poniżej:
$ catPrzekieruj standardowe wejście do pliku Jak przekierować standardowe wejście/wyjście do pliku
Możesz wykonać standardowe wejście, standardowe przekierowanie wyjściowe w tym samym czasie, używając polecenia sort, jak poniżej:
$ sort.wyjścieJak używać przekierowania we/wy za pomocą rur
Aby przekierować dane wyjściowe jednego polecenia jako wejścia drugiego, możesz użyć rur, jest to potężny sposób budowania przydatnych wierszy poleceń dla złożonych operacji.
Na przykład poniższe polecenie wyświetli listę pięciu niedawno zmodyfikowanych plików.
$ ls -lt | głowa -n 5Tutaj opcje:
-L
- Włącza format długiego listy-T
- Sortuj czas modyfikacji z najnowszymi plikami jest pokazany pierwszy-N
- Określa liczbę linii nagłówka do pokazaniaWażne polecenia budowania rurociągów
Tutaj krótko przejrzymy dwa ważne polecenia budowania rurociągów i są one:
Xargs który służy do budowy i wykonywania wierszy poleceń ze standardowego wejścia. Poniżej znajduje się przykład użycia rurociągu Xargs, To polecenie służy do kopiowania pliku do wielu katalogów w Linux:
$ echo/home/aaronkilik/test//home/aaronkilik/tmp | xargs -n 1 cp -v/home/aaronkilik/bin/sys_info.ciiSkopiuj pliki do wielu katalogówI opcje:
-n 1
- Instruuje Xarg, aby używał co najwyżej jednego argumentu na wiersz polecenia i wysyłał do polecenia CPCP
- kopiuje plik-v
- Wyświetla postęp polecenia kopiowania.Aby uzyskać więcej opcji i informacji użytkowania, przeczytaj Xargs Strona Man:
$ man xargsA trójnik Polecenie odczytuje od standardowego wejścia i zapisów do standardowych danych wyjściowych i plików. Możemy wykazać, jak trójnik Działa w następujący sposób:
$ echo „Testowanie, jak działa polecenie tee” | Plik TEE1Przykład polecenia TEEFiltry plików lub tekstu są powszechnie używane z rurami do efektywnych operacji plików Linux, aby przetwarzać informacje w potężny sposób, takie jak restrukturyzacja wyjściowych poleceń (może to być niezbędne do generowania użytecznych raportów Linuksa), modyfikując tekst w plikach oraz kilka innych administracji systemu Linux zadania.
Aby dowiedzieć się więcej o filtrach i rurach Linux, przeczytaj ten artykuł Znajdź 10 najlepszych adresów IP dostęp do serwera Apache, pokazuje przydatny przykład używania filtrów i rur.
W tym artykule wyjaśniliśmy podstawy przekierowania we/wy w Linux. Pamiętaj, aby podzielić się swoimi przemyśleniami za pośrednictwem sekcji informacji zwrotnej poniżej.
- « Konfiguracja replikacji Sysvol w dwóch samba4 ad DC z rsync - część 6
- Różnica między SU i Sudo a jak skonfigurować Sudo w Linux »