Darmowy hosting online dla stacji roboczych

<Poprzedni | Spis treści | Następne>

Ponieważ jednak Linux jest systemem elastycznym, te ustawienia domyślne niekoniecznie muszą być stosowane. Standardowym wyjściem, na przykład na mocno monitorowanym serwerze w dużym środowisku, może być drukarka.


5.1.2. Operatorzy przekierowania


5.1.2.1. Przekierowanie wyjścia za pomocą > i |


Czasami będziesz chciał umieścić dane wyjściowe polecenia w pliku lub możesz chcieć wydać inne polecenie na wyjściu jednego polecenia. Jest to znane jako przekierowanie danych wyjściowych. Przekierowanie odbywa się za pomocą znaku „>” (symbol większości) lub znaku „|” (pipe) operator, który wysyła standardowe wyjście jednego polecenia do innego polecenia jako standardowe wejście.


Jak widzieliśmy wcześniej, jak polecenie łączy pliki i umieszcza je wszystkie razem na standardowym wyjściu. Przekierowując to wyjście do pliku, ta nazwa pliku zostanie utworzona - lub nadpisana, jeśli już istnieje, więc bądź ostrożny.


nancy: ~> test kota 1

niektóre słowa


nancy: ~> test kota 2

kilka innych słów


nancy: ~> test kota 1 test 2 > test 3


nancy: ~> test kota 3

niektóre słowa

nancy: ~> test kota 1

niektóre słowa


nancy: ~> test kota 2

kilka innych słów


nancy: ~> test kota 1 test 2 > test 3


nancy: ~> test kota 3

niektóre słowa


kilka inny słowa


Nie nadpisuj!

Uważaj, aby nie nadpisać istniejących (ważnych) plików podczas przekierowywania danych wyjściowych. Wiele powłok, w tym Bash, ma wbudowaną funkcję chroniącą przed tym ryzykiem: nocnik. Więcej informacji można znaleźć na stronach informacyjnych. W Bash chciałbyś dodać zestaw -o nocnik polecenie do swojego .bashrc plik konfiguracyjny, aby zapobiec przypadkowemu nadpisaniu plików.

Przekierowanie „nic” do istniejącego pliku jest równoznaczne z opróżnieniem pliku:


nancy: ~> ls -l lista

-rw-rw-r-- 1 nancy


Nancy


117 2 kwietnia 18:09 lista

nancy: ~> > lista

nancy: ~> ls -l lista

-rw-rw-r-- 1 nancy


Nancy


0 4 kwietnia 12:01 lista

Ten proces jest wywoływany obcinanie.


To samo przekierowanie do nieistniejącego pliku spowoduje utworzenie nowego pustego pliku o podanej nazwie:


nancy: ~> ls -l nowa lista

ls: newlist: Brak takiego pliku lub katalogu


nancy: ~> > nowa lista

nancy: ~> ls -l nowa lista

ls: newlist: Brak takiego pliku lub katalogu


nancy: ~> > nowa lista


nancy: ~> ls -l nowa lista

-rw-rw-r-- 1 Nancy Nancy

0 4 kwietnia 12:05 nowa lista

nancy: ~> ls -l nowa lista

-rw-rw-r-- 1 Nancy Nancy

Rozdział 7 zawiera więcej przykładów wykorzystania tego rodzaju przekierowań. Kilka przykładów użycia potokowania poleceń:

Aby znaleźć słowo w jakimś tekście, wyświetl wszystkie wiersze pasujące do „wzór1” i wyklucz z wyświetlania wiersze pasujące również do „wzór2”:


grep pattern1 filet | chwyt -v pattern2


Aby wyświetlić dane wyjściowe katalogu z listą jednej strony na raz:


ls -The | mniej


Aby znaleźć plik w katalogu:


ls -l | chwyt część_nazwy_pliku


5.1.2.2. Przekierowanie wejścia


W innym przypadku możesz chcieć, aby plik był wejściem dla polecenia, które normalnie nie akceptuje pliku jako opcji. To przekierowanie danych wejściowych odbywa się za pomocą operatora „<” (mniej niż symbol).


Poniżej znajduje się przykład wysłania komuś pliku z wykorzystaniem przekierowania wejścia.


andy:~> Poczta mike@gdzieś.org < do zrobienia


Jeśli użytkownik mikrofon istnieje w systemie, nie musisz wpisywać pełnego adresu. Jeśli chcesz dotrzeć do kogoś w Internecie, podaj pełny adres jako argument Poczta.


To brzmi nieco trudniej niż kot początkującego filet | Poczta ktoś, ale jest to oczywiście znacznie bardziej elegancki sposób wykorzystania dostępnych narzędzi.


5.1.2.3. Łączenie przekierowań


Poniższy przykład łączy przekierowanie danych wejściowych i wyjściowych. Plik tekst.txt jest najpierw sprawdzany pod kątem błędów pisowni, a dane wyjściowe są przekierowywane do pliku dziennika błędów:


zaklęcie tekst.txt > error.log


Poniższe polecenie zawiera listę wszystkich poleceń, które można wydać w celu zbadania innego pliku podczas używania mniej:


Mike: ~> mniej --pomoc | grep -i zbadaj

:e [plik] Sprawdź nowy plik.

:n * Sprawdź (N-ty) następny plik z wiersza poleceń.

:p * Sprawdź (N-ty) poprzedni plik z wiersza poleceń.

:x * Sprawdź pierwszy (lub N-ty) plik z wiersza poleceń.

Mike: ~> mniej --pomoc | grep -i zbadaj

:e [plik] Sprawdź nowy plik.

:n * Sprawdź (N-ty) następny plik z wiersza poleceń.

:p * Sprawdź (N-ty) poprzedni plik z wiersza poleceń.

:x * Sprawdź pierwszy (lub N-ty) plik z wiersza poleceń.

Połączenia -i opcja jest używana do wyszukiwania bez rozróżniania wielkości liter - pamiętaj, że systemy UNIX bardzo rozróżniają wielkość liter. Jeśli chcesz zapisać dane wyjściowe tego polecenia do wykorzystania w przyszłości, przekieruj dane wyjściowe do pliku:

Mike: ~> mniej --pomoc | grep -i zbadaj > zbadaj-pliki-w-mniej


Mike: ~> cat sprawdza-pliki-w-mniej

:e [plik] Sprawdź nowy plik.

:n * Sprawdź (N-ty) następny plik z wiersza poleceń.

:p * Sprawdź (N-ty) poprzedni plik z wiersza poleceń.

:x * Sprawdź pierwszy (lub N-ty) plik z wiersza poleceń.

Mike: ~> mniej --pomoc | grep -i zbadaj > zbadaj-pliki-w-mniej


Mike: ~> cat sprawdza-pliki-w-mniej

:e [plik] Sprawdź nowy plik.

:n * Sprawdź (N-ty) następny plik z wiersza poleceń.

:p * Sprawdź (N-ty) poprzedni plik z wiersza poleceń.

:x * Sprawdź pierwszy (lub N-ty) plik z wiersza poleceń.

Wyjście jednego polecenia może być przesyłane potokowo do innego polecenia praktycznie tyle razy, ile chcesz, tak długo, jak te polecenia normalnie odczytałyby dane wejściowe ze standardowego wejścia i zapisały dane wyjściowe na standardowe wyjście.

Czasami tak nie jest, ale wtedy mogą istnieć specjalne opcje, które instruują te polecenia, aby zachowywały się zgodnie ze standardowymi definicjami; więc przeczytaj dokumentację (strony man i Info) używanych poleceń, jeśli napotkasz błędy.


Ponownie upewnij się, że nie używasz nazw istniejących plików, których nadal potrzebujesz. Przekierowanie danych wyjściowych do istniejących plików spowoduje zastąpienie zawartości tych plików.


5.1.2.4. Operator >>


Zamiast nadpisywać dane pliku, możesz również dołączyć tekst do istniejącego pliku, używając dwóch kolejnych znaków większości:


Przykład:


Mike: ~> lista życzeń dla kotów

więcej pieniędzy mniej pracy


Mike: ~> data >> lista życzeń

Mike: ~> lista życzeń dla kotów

więcej pieniędzy mniej pracy


Mike: ~> data >> lista życzeń


Mike: ~> lista życzeń dla kotów

więcej pieniędzy mniej pracy

Czwartek, 28 lutego 20, 23:07:2002 CET

Mike: ~> lista życzeń dla kotów

Najlepsze przetwarzanie w chmurze dla systemu operacyjnego w OnWorks: