Pytania oznaczone «pipe»

Potok Unix łączy deskryptory plików dwóch procesów. Potok jest tworzony za pomocą funkcji potoku POSIX zadeklarowanej w <unistd.h>. Powłoki umożliwiają tworzenie potoków między procesami za pomocą „|”.

395
Wyłącz buforowanie w rurze

Mam skrypt, który wywołuje dwa polecenia: long_running_command | print_progress Te long_running_commandodciski postęp, ale jestem zadowolony z niego. Używam, print_progressaby uczynić to ładniejszym (mianowicie, drukuję postęp w jednym wierszu). Problem: Podłączenie rury do standardowego wyjścia...

148
Bash: Co robi „> |”?

Właśnie widziałem to spisane; $ some-command >| /tmp/output.txt Rury pionowe są używane w standardowych przekierowaniach „przesyłanie” danych wyjściowych z jednego polecenia do drugiego, czy >|w rzeczywistości jest całkowicie bezużyteczne, ponieważ byłoby takie samo jak >w tym...

146
Jak duży jest bufor rur?

Jako komentarz w nie jestem pewien, dlaczego „| true” w pliku makefile ma taki sam efekt, jak napisany przez użytkownika „|| true” użytkownik cjm : Kolejny powód do uniknięcia prawda jest taka, że ​​jeśli polecenie wytworzyło wystarczającą ilość danych wyjściowych do wypełnienia bufora potoku,...

98
Pseudopliki dla danych tymczasowych

Często chcę podawać stosunkowo krótkie dane łańcuchowe (choć może to być kilka wierszy) do programów wiersza poleceń, które przyjmują tylko dane wejściowe z plików (np. Wdiff) w powtarzający się sposób. Jasne, że mogę utworzyć jeden lub więcej plików tymczasowych, zapisać tam ciąg i uruchomić...

89
W jakiej kolejności działają polecenia potokowe?

Nigdy tak naprawdę nie myślałem o tym, jak powłoka faktycznie wykonuje polecenia potokowe. Zawsze mówiono mi, że „standardowe wyjście jednego programu jest przesyłane do wejścia innego standardowego”, jako sposób myślenia o rurach. Więc naturalnie pomyślałem, że w przypadku powiedzmy A | B, A...

86
Zastąpienie procesu i rura

Zastanawiałem się, jak zrozumieć następujące kwestie: Przełożenie standardowej komendy na standardową kolejną jest potężną techniką. Ale co, jeśli chcesz przesłać standardowe sekwencje wielu poleceń? W tym miejscu pojawia się podstawienie procesu. Innymi słowy, czy podstawienie procesu może...

74
Nie możesz potokować do diff?

Chciałem być sprytny i porównać plik zdalny z plikiem lokalnym bez wcześniejszego ręcznego pobrania. Mogę pobrać zawartość pliku zdalnego przez ssh user@remote-host "cat path/file.name" Jednak przesyłanie tego do diff ssh user@remote-host "cat path/file.name" | diff path/file.name daje mi...

63
Jak zrobić potok dwukierunkowy między dwoma programami?

Każdy wie, jak sprawić, by rurę jednokierunkowy pomiędzy dwoma programami (wiążą się stdoutz pierwszego i stdindrugiego jednego) first | second. Ale jak zrobić potok dwukierunkowy, tj. Wiązanie krzyżowe stdini stdoutdwóch programów? Czy istnieje prosty sposób, aby to zrobić w...

51
Jakie są zalety używania nazwanego potoku nad nienazwanym potokiem?

Przeglądałem zestaw pytań do wywiadu zadawanych przez administratora unixa; Znalazłem temat o nazwie „nazwany potok”. Przejrzałem ten temat; w pewnym stopniu byłem w stanie to zrozumieć: - nazwane rury || FIFO Ale nadal czuję, że brakuje mi wiedzy, kiedy użyć tego konkretnego rodzaju rury. Czy są...

51
Do czego służy polecenie mknod?

Właśnie zacząłem używać Ubuntu jako mojego głównego systemu operacyjnego i chciałem dowiedzieć się o rzeczach, których nie powinienem robić, i poznać złe rzeczy, które ludzie robili w przeszłości. Natrafiłem na te e-maile o horrorach, które administratorzy systemów UNIX i Linux zrobili w swoim...

50
Czy powinienem dbać o niepotrzebne koty?

Wiele narzędzi wiersza polecenia może pobierać dane wejściowe z potoku lub jako argument nazwy pliku. W przypadku skryptów o długiej powłoce rozpoczęcie łańcucha od znaku catsprawia, że ​​jest on bardziej czytelny, zwłaszcza jeśli pierwsze polecenie wymaga wieloliniowych argumentów. Porównać sed...