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ą „|”.
Próbuję znaleźć wszystkie pliki określonego typu i nie zawierające określonego ciągu. Próbuję o tym poradzić przesyłając polecenie find do grep -v przykład: find -type f -name '*.java' | xargs grep -v "something something" To nie wydaje się działać. Wygląda na to, że zwraca wszystkie pliki znalezione przez polecenie find. To, …
Według definicji man to polecenie pobiera dane wejściowe z pliku. $ command -r FILENAME Załóżmy, że FILENAMEjest to plik zawierający listę nazw plików, tak jak został wygenerowany przy użyciu ls > FILENAME. Jak zamiast tego mogę podać polecenie z wynikiem ls bezpośrednio? W mojej głowie powinno być możliwe coś takiego: …
Mam następujące polecenie: find / -name libGL.so.1 Który zwraca wiele wierszy z „Odmowa zezwolenia”. Chcę wykluczyć takie wiersze, więc dodałem następujące: find / -name libGL.so.1 | grep -v 'denied' Ale wynik jest taki sam - mój grep -v 'denied'nie odfiltrowuje wierszy Permission denied. Próbowałem wielu odmian, przejrzałem samouczki grep, ale …
Jeśli wywołam jakieś polecenie, na przykład echomogę użyć wyników tego polecenia w kilku innych poleceniach za pomocą tee. Przykład: echo "Hello world!" | tee >(command1) >(command2) >(command3) Z catem mogę zebrać wyniki kilku poleceń. Przykład: cat <(command1) <(command2) <(command3) Chciałbym móc wykonywać obie rzeczy jednocześnie, aby móc teewywoływać te polecenia …
Użyłem exec 3<>/dev/tcp/192.168.0.101/6435do ustanowienia połączenia TCP z 192.168.0.101:6435. I otrzymałem, a także wysłałem kilka wiadomości z pipepoleceniem. Teraz chcę zakończyć połączenie TCP. Ale ss -anpetwidzę, że sama bash utrzymuje to połączenie, bez rozwodzenia procesu potomnego. Próbowałem wysłać sygnał 9 i 15 do procesu bash, ale jak wiadomo, bash nie może …
Widziałem history | grep blahi history |grep blah; a history|grep blahtakże działa, chociaż wydaje się, że nikt go nigdy nie używa. Czy jest jakieś znaczenie w przestrzeniach (np. Potokowanie do / z różnych poleceń wymaga innego użycia spacji), czy zawsze jest arbitralne?
Rozważ program interaktywny interactive. Muszę uruchamiać ten program dość często i za każdym razem, gdy go uruchamiam, kilka pierwszych poleceń jest takich samych. Oczywiście konieczność ciągłego wpisywania tych poleceń jest uciążliwa. Zebrałem te polecenia (oddzielone znakiem nowej linii) w pliku cmd. Teraz mogę zrobić, cat cmd | interactiveaby uruchomić polecenia. …
Chciałbym uciec something > file na zdalnym systemie przez ssh, ale jeśli uruchomię ssh host something > file przekierowanie jest wykonywane lokalnie jako ssh etc > file Próbowałem go 'lub ''lub ddlub z rurą |zamiast, ale nie mogę zmusić go do pracy. Jak można to zrobić?
Podczas pracy w środowisku powłoki dość często spotykam się z potrzebą kopiowania „danych wyjściowych potoku pośredniego” (np. Z / do już działających edytorów, na inne powłoki, inne maszyny itp.). W środowisku okienkowym łatwą (i ogólną) metodą rozwiązania tego problemu jest często schowek systemowy, np .: X11: ... | xsel -i/xsel …
Mam dwa proste programy: Ai B. Auruchamia się jako pierwszy, a następnie Bpobiera „standardowe wyjście” Ai używa go jako „standardowe wejście”. Załóżmy, że używam systemu operacyjnego GNU / Linux, a najprostszym możliwym sposobem jest: ./A | ./B Gdybym musiał opisać to polecenie, powiedziałbym, że jest to polecenie, które pobiera dane …
Jeśli myfilerośnie z czasem, mogę uzyskać liczbę linii na sekundę za pomocą tail -f | pv -lr > /dev/null Daje natychmiastową prędkość, a nie średnią. Jak mogę uzyskać średnią prędkość (tj. Całkę funkcji prędkości v(t)w czasie monitorowania).
Zgodnie z jego dokumentacją, bash czeka, aż wszystkie polecenia w potoku zakończą działanie, zanim przejdzie dalej Powłoka czeka na zakończenie wszystkich poleceń w potoku przed zwróceniem wartości. Dlaczego więc polecenie yes | truekończy się natychmiast? Czy yespętla nie powinna być wieczna i spowodować, że rurociąg nigdy nie powróci? I podpytanie: …
Ostatnio mam dziwne problemy z bash. Próbując uprościć mój skrypt, wymyśliłem ten mały fragment kodu: $ o(){ echo | while read -r; do return 0; done; echo $?;}; o 0 $ o(){ echo | while read -r; do return 1; done; echo $?;}; o 1 returnpowinien był wyjść z funkcji …
Możemy uzyskać ten sam wynik, stosując następujące dwa w bash: echo 'foo' | cat i cat <<< 'foo' Moje pytanie brzmi: jaka jest różnica między tymi dwoma pod względem wykorzystywanych zasobów, a który z nich jest lepszy? Myślę, że podczas korzystania z potoku używamy dodatkowego procesu echoi potoku, podczas gdy …
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.