Polecenia Linuksa

Linuksowe polecenie potoku

Linuksowe polecenie potoku
To polecenie „potoku” jest łatwo dostępne na platformach UNIX/Linux. To polecenie przesyła dane wyjściowe poprzedniego polecenia do następnego polecenia. Istnieje dosłownie MNÓSTWO sytuacji, w których ta metoda oferuje poważną wartość.Zanim wskoczysz głębiej, musisz wiedzieć o czym. Każdy program w systemie UNIX/Linux ma wbudowane 3 strumienie danych.

Kiedy zamierzamy pracować ze sztuczkami „potoku”, „pipe” pobierze STDOUT polecenia i przekaże je do STDIN następnego polecenia.

Sprawdźmy niektóre z najczęstszych sposobów włączenia polecenia „potok” do codziennego użytku.

Polecenie rury

Podstawowe zastosowanie

Lepiej omówić metodę pracy „fajki” na żywym przykładzie, prawda? Zacznijmy. Następujące polecenie powie „pacman”, domyślnemu menedżerowi pakietów dla Archa i wszystkich dystrybucji opartych na Arch, aby wydrukować wszystkie zainstalowane pakiety w systemie.

pacman -Qqe

To naprawdę DŁUGA lista pakietów. A co powiesz na zebranie tylko kilku składników?!? Moglibyśmy użyć „grepa”. Ale jak? Jednym ze sposobów byłoby zrzucenie wyjścia do pliku tymczasowego, „pogrepowanie” żądanego wyjścia i usunięcie pliku. Ta seria zadań sama w sobie może zostać przekształcona w skrypt. Ale skryptujemy tylko dla bardzo dużych rzeczy. W tym zadaniu przywołajmy moc „fajki”!

pacman -Qqe | grep

Niesamowite, prawda?? „|” znak jest wywołaniem polecenia „potok”. Pobiera STDOUT z lewej sekcji i podaje je do STDIN prawej sekcji.

We wspomnianym przykładzie polecenie „pipe” faktycznie przekazało dane wyjściowe na końcu części „grep”. Oto jak to się rozgrywa.

pacman -Qqe > ~/Desktop/pacman_package.tekst
grep python ~/Desktop/pacman_package.tekst

Wiele rurociągów

Zasadniczo nie ma nic specjalnego w zaawansowanym użyciu polecenia „potok”. Od Ciebie zależy, jak z niego korzystać.

Na przykład zacznijmy od ułożenia wielu rur.

pacman -Qqe | grep p | grep t | grep py

Dane wyjściowe polecenia pacmana są coraz bardziej filtrowane przez „grep” przez szereg potoków.

Czasami, gdy pracujemy z zawartością pliku, może on być naprawdę duży. Znalezienie odpowiedniego miejsca naszego pożądanego wpisu może być trudne. Wyszukajmy wszystkie wpisy zawierające cyfry 1 i 2.

kot demo.tekst | grep -n 1 | grep -n 2

Manipulowanie listą plików i katalogów

Co zrobić, gdy masz do czynienia z katalogiem zawierającym TONY plików?? Przewijanie całej listy jest dość denerwujące. Jasne, dlaczego nie uczynić tego bardziej znośnym z fajką?? W tym przykładzie sprawdźmy listę wszystkich plików w folderze „/usr/bin”.

ls-l | jeszcze

Tutaj „ls” drukuje wszystkie pliki i ich informacje. Następnie „rura” przekazuje ją do „więcej”, aby z tym pracować. Jeśli nie wiesz, „więcej” to narzędzie, które zamienia teksty w jeden ekran na raz. Jest to jednak stare narzędzie i zgodnie z oficjalną dokumentacją „mniej” jest bardziej zalecane.

ls -l /usr/bin | mniej

Sortowanie danych wyjściowych

Istnieje wbudowane narzędzie „sortuj”, które pobiera wpisany tekst i je sortuje. To narzędzie to prawdziwa perełka, jeśli pracujesz z czymś naprawdę brudnym. Na przykład, mam ten plik pełen losowych ciągów.

kot demo.tekst

Po prostu potokuj, aby „sortować”.

kot demo.tekst | sortować

Tak jest lepiej!

Drukowanie dopasowań określonego wzoru

ls-l | odnaleźć ./ -type f -name "*.txt" -exec grep 00110011 \;

To dość pokręcona komenda, prawda? Na początku „ls” wyświetla listę wszystkich plików w katalogu. Narzędzie „znajdź” pobiera dane wyjściowe, wyszukuje „.txt” i wzywa „grep” do wyszukania „00110011”. To polecenie sprawdzi każdy plik tekstowy w katalogu z rozszerzeniem TXT i wyszuka dopasowania.

Drukuj zawartość pliku z określonego zakresu

Kiedy pracujesz z dużym plikiem, często pojawia się potrzeba sprawdzenia zawartości określonego zakresu. Możemy to zrobić dzięki sprytnemu połączeniu „kot”, „głowa”, „ogon” i oczywiście „fajka”. Narzędzie „głowa” wyświetla pierwszą część treści, a „ogon” wyprowadza ostatnią część.

kot | głowa -6

kot | ogon -6

Unikalne wartości

Praca ze zduplikowanymi wyjściami może być dość denerwująca. Czasami zduplikowane dane wejściowe mogą powodować poważne problemy. W tym przykładzie rzućmy „uniq” na strumień tekstu i zapiszmy go w osobnym pliku.

Na przykład, oto plik tekstowy zawierający dużą listę liczb o długości 2 cyfr. Na pewno są tu zduplikowane treści, prawda?

duplikat kota.tekst | sortować

Przeprowadźmy teraz proces filtrowania.

duplikat kota.tekst | sortuj | uniq > unikalny.tekst

Sprawdź wyniki.

nietoperz wyjątkowy.tekst

Wygląda lepiej!

Rury błędów

To ciekawa metoda orurowania. Ta metoda służy do przekierowania STDERR na STDOUT i kontynuowania orurowania. Jest to oznaczone symbolem „|&” (bez cudzysłowów). Na przykład stwórzmy błąd i wyślijmy wynik do innego narzędzia. W tym przykładzie po prostu wpisałem jakieś przypadkowe polecenie i przekazałem błąd do „grepa”.

adsfds |& grep n

Końcowe przemyślenia

Chociaż sama „fajka” jest dość uproszczona, sposób jej działania oferuje bardzo wszechstronny sposób wykorzystania metody na nieskończone sposoby. Jeśli interesują Cię skrypty Bash, jest to o wiele bardziej przydatne. Czasami możesz po prostu robić szalone rzeczy wprost! Dowiedz się więcej o skryptach Bash.

How to change Mouse pointer and cursor size, color & scheme on Windows 10
The mouse pointer and cursor in Windows 10 are very important aspects of the operating system. This can be said for other operating systems as well, s...
Gry Darmowe i otwarte silniki gier do tworzenia gier na Linuksa
Darmowe i otwarte silniki gier do tworzenia gier na Linuksa
Ten artykuł zawiera listę darmowych i otwartych silników gier, których można używać do tworzenia gier 2D i 3D w systemie Linux. Istnieje wiele takich ...
Gry Samouczek Shadow of the Tomb Raider dla systemu Linux
Samouczek Shadow of the Tomb Raider dla systemu Linux
Shadow of the Tomb Raider to dwunasty dodatek do serii Tomb Raider - przygodowej serii gier akcji stworzonej przez Eidos Montreal. Gra została dość do...