Запитання з тегом «pipe»

Труба Unix з'єднує дескриптори файлів двох процесів. Труба створюється за допомогою функції POSIX pipe (), оголошеної в <unistd.h>. Оболонки забезпечують створення труби між процесами, використовуючи "|".

4
Як зрозуміти труби
Коли я просто використовував трубу в баші, я більше про це не думав. Але коли я читаю якийсь приклад коду С, використовуючи системну трубну виклик () разом з fork (), мені цікаво, як зрозуміти труби, включаючи як анонімні, так і названі труби. Часто чути, що "все в Linux / Unix …

2
тайм-аут, розрив труб і туалет
У мене виникла ідея швидко порівняти деякі програми декомпресії. Наприклад, для gz, я би запустив команду: timeout 10 zcat foo.gz | wc -c Який міряв би кількість даних, які декомпресор міг витягти за 10 секунд. Єдина проблема полягає в тому, що це не працює: коли zcat вбивається, wc також вбивається, …
20 pipe  timeout 

3
Неблокуюча буферизована названа труба?
Я шукаю те, чого я підозрюю, що не існує: неблокуючий буфер з ім'ям pipe (fifo) для використання з командного рядка. Чи є таке? Ось випадок використання: Припустимо, у мене є процес, який триватиме довгий час у фоновому режимі і вимагає багато результатів stdout. Мені не дуже важливо вихід і не …


2
Як припинити команду Linux tee, не вбиваючи програму, яку вона отримує
У мене є скрипт bash, який працює до тих пір, поки працює машина Linux. Я запускаю його, як показано нижче: ( /mnt/apps/start.sh 2&gt;&amp;1 | tee /tmp/nginx/debug_log.log ) &amp; Після запуску я можу побачити команду tee в моєму PS- висновку, як показано нижче: $ ps | grep tee 418 root 0:02 …
19 linux  scripting  pipe  kill  tee 

4
Як я можу реалізувати круговий потік даних між взаємопов'язаними командами?
Я знаю два типи, як команди можна з'єднати між собою: за допомогою Pipe (введення std-виводу на std-вхід наступної команди). за допомогою трійника (зробіть висновок на багато виходів). Я не знаю, чи все це можливо, тому я малюю гіпотетичний тип зв'язку: Як можна було реалізувати круговий потік даних серед таких команд, …

3
питання про читання (або трубу)
Я дотримувався дивної поведінки readarrayкоманди. У man bashговорить: readarray Read lines from the standard input into the indexed array variable array але ці сценарії не працюють (масив порожній): unset arr; (echo a; echo b; echo c) | readarray arr; echo ${#arr[@]} unset arr; cat /etc/passwd | readarray arr; echo ${#arr[@]} …
19 bash  pipe 

3
Використання ^ як метахарактера оболонки
Сьогодні я написав невеликий сценарій, який містив grep -q ^local0 /etc/syslog.conf Під час огляду колега запропонував ^local0цитувати його, оскільки ^означає «трубу» в оболонці Борна. Здивований цією претензією, я намагався відстежити будь-які посилання, які згадували про це. Ніщо, що я знайшов в Інтернеті, не підказувало, що це проблема. Однак виявляється, що …

4
Чому деякі команди не читаються зі свого стандартного вводу?
Цікаво, що коли ми повинні використовувати трубопровід, а коли не повинні. Скажімо, наприклад, щоб знищити певний процес, який обробляє файли PDF, наступне не буде працювати, використовуючи конвеєр: ps aux | grep pdf | awk '{print $2}'|kill Натомість ми можемо це зробити лише наступними способами: kill $(ps aux| grep pdf| awk …
19 shell  pipe  arguments  stdin 

3
echo vs <<<, або марне використання відлуння в Bash Award?
На сьогоднішній день Безкорисне використання catнагороди дуже відоме, а також згадка про марне використанняecho (не стосується цього питання). Мені цікаво, чи не повинно бути "Марно використання echoБаш-премії": Труби здаються набагато повільнішими, ніж гередоки та ересті, згідно з деякими високонауковими вимірюваннями: Гередоки: for reps in 1 2 3 do time for …

1
Чому трубопровід `tar` у` dd` не зупиняється, поки диск не заповниться?
У мене є архів дьогтю одного образу диска. Зображення всередині цього файлу з дьогтем розміром близько 4 Гб. Я передаю висновок tar xfв ddдля запису образу диска на SD-карту. Дискодамп ніколи не зупиняється, поки карта не заповнена. Ось мій сеанс оболонки: $ ls -l disk.img.tgz -rw-r--r-- 1 confus confus 192M …
18 pipe  tar  dd  disk-image 


2
Як скласти функції баш за допомогою труб?
У мене кілька функцій, визначених таким чином: function f { read and process $1 ... echo $result } Я хочу скласти їх разом, щоб виглядала виклик f | g | h. Яку ідіому потрібно використовувати для перетворення функції, що працює над аргументами, в аргументи для читання з stdin? Чи можна …

3
Як завантажити пакет RPM та встановити його в один рядок?
Мені було цікаво, чи за допомогою wgetнього можна завантажити RPM, а потім sudo rpm -iпередати його, щоб встановити, в один рядок? Я розумію, що міг би просто бігти: wget -c &lt;URL&gt; sudo rpm -i &lt;PACKAGE-NAME&gt;.rpm щоб встановити пакет, але мені було цікаво, чи можливо це зробити в одному рядку, використовуючи …
18 pipe  rpm  wget 

4
Виведіть у stdout і в той же час прив'яжіть до файлу
У мене є сценарій, який видає текст stdout. Я хочу бачити весь цей вихід у своєму терміналі, і в той же час я хочу відфільтрувати деякі рядки і зберегти їх у файл. Приклад: $ myscript Line A Line B Line C $ myscript | grep -P 'A|C' &gt; out.file $ …
18 grep  pipe  stdout  tee 

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.