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ą „|”.
Chciałbym pobrać i rozpakować archiwum w danym katalogu. Oto jak to robiłem do tej pory: wget http://downloads.mysql.com/source/dbt2-0.37.50.3.tar.gz tar zxf dbt2-0.37.50.3.tar.gz mv dbt2-0.37.50.3 dbt2 Chciałbym zamiast tego pobierać i rozpakowywać archiwum w locie , bez konieczności tar.gzzapisywania na dysku. Myślę, że jest to możliwe, przesyłając dane wyjściowe wgetdo tari podając tarcel, …
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ą jakieś specjalne sytuacje, w …
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 własnym systemie, gdy byli nowi. Wiele z …
Zwykle użytkownik watchlinuksa narzędzie do powtarzania wyjścia polecenia co n sekund, jak wwatch df -h /some_volume/ Ale wydaje mi się, że nie jestem w stanie korzystać watchz szeregu poleceń takich jak: $ watch ls -ltr|tail -n 1 Jeśli to zrobię, watchto naprawdę oglądam ls -ltri przekazuję wyjście, do tail -n …
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 s/bla/blaha/ data \ | grep blah \ | grep -n …
Próbuję odczytać dane wyjściowe polecenia w bash za pomocą while loop. while read -r line do echo "$line" done <<< $(find . -type f) Mam wynik ranveer@ranveer:~/tmp$ bash test.sh ./test.py ./test1.py ./out1 ./test.sh ./out ./out2 ./hello ranveer@ranveer:~/tmp$ Po tym próbowałem $(find . -type f) | while read -r line do …
Pipowałem linię w skrypcie bash i chcę sprawdzić, czy potok ma dane, przed przekazaniem ich do programu. Wyszukiwanie, o którym znalazłem, test -t 0ale tutaj nie działa. Zawsze zwraca false. Jak więc upewnić się, że potok ma dane? Przykład: echo "string" | [ -t 0 ] && echo "empty" || …
Próbuję zrozumieć nazwane potoki w kontekście tego konkretnego przykładu. Wpisuję <(ls -l)w moim terminalu i uzyskać wyjście jako, bash: /dev/fd/63: Permission denied. Po wpisaniu cat <(ls -l)mogłem zobaczyć zawartość katalogu. Jeśli mam wymienić catz echo, myślę uzyskać nazwę terminala (lub nie?). echo <(ls -l)daje wynik jako /dev/fd/63. Również ten przykładowy …
Powiedzmy, że mam następujący potok: cmd1 < input.txt |\ cmd2 |\ cmd4 |\ cmd5 |\ cmd6 |\ (...) |\ cmdN > result.txt Pod pewnymi warunkami chciałbym dodać cmd3między cmd2i cmd4. Czy istnieje sposób, aby utworzyć miły potok warunkowy bez zapisywania wyniku polecenia cmd2 w pliku tymczasowym? Pomyślałbym o czymś takim …
HP-UX ***** B.11.23 U ia64 **** licencja nieograniczonego użytkownika find . -type d -name *log* | xargs ls -la daje mi nazwy katalogów (te, które zawierają lognazwę katalogu), a następnie wszystkie pliki w tym katalogu. Katalogi /var/opt/SID/application_a/log/, /var/opt/SID/application_b/log/, /var/opt/SID/application_c/log/i tak dalej zawierać pliki dziennika. Chcę, aby polecenie zawierało tylko dwa …
Biorąc pod uwagę polecenie, które zmienia swoje zachowanie, gdy jego dane wyjściowe trafiają do terminala (np. Produkują kolorowe dane wyjściowe), jak można przekierować dane wyjściowe w potoku, zachowując zmienione zachowanie? Musi być na to narzędzie, którego nie jestem świadomy. Niektóre polecenia, na przykład grep --color=always, mają flagi opcji, które wymuszają …
Brian Kernighan wyjaśnia w tym filmie, że wczesna atrakcja Bell Labs dla małych języków / programów opiera się na ograniczeniach pamięci Duża maszyna miałaby 64 k-bajtów - K, a nie M lub G - a więc oznaczało to, że żaden indywidualny program nie mógł być bardzo duży, a więc naturalną …
Dlaczego poniższe polecenie nie generuje danych wyjściowych? $ tail -f /etc/passwd | tail Po przeczytaniu o buforowaniu próbowałem bezskutecznie: $ tail -f /etc/passwd | stdbuf -oL tail Zauważ, że następujące wyniki generują dane wyjściowe: $ tail /etc/passwd | tail Czyni to: $ tail -f /etc/passwd | head Korzystam z wersji …
Czasami chcę przesłać kodowane kolorami wyjście dla procesu, np. grep ... ale kiedy potokuję to do innego procesu, np. sed, kody kolorów są tracone ... Czy jest jakiś sposób na zachowanie tych kodów? Oto przykład, który traci kolorowe wyjście: echo barney | grep barney | sed -n 1,$\ p
W systemie Linux /proc/PID/fd/Xłącza do deskryptorów plików, które są potokami lub gniazdami, mają numer, na przykład: l-wx------ 1 user user 64 Mar 24 00:05 1 -> pipe:[6839] l-wx------ 1 user user 64 Mar 24 00:05 2 -> pipe:[6839] lrwx------ 1 user user 64 Mar 24 00:05 3 -> socket:[3142925] lrwx------ …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.