«pipe» etiketlenmiş sorular

Bir Unix borusu, iki işlemin dosya tanımlayıcılarını bağlar. <Unistd.h> içinde bildirilen POSIX pipe () işlevi ile bir boru oluşturulur. Kabuklar, "|" kullanarak işlemler arasında boru oluşturma sağlar.

13
Boruda tamponlamayı kapat
İki komutu çağıran bir betiğim var: long_running_command | print_progress long_running_commandBaskılar bir ilerleme ama onunla mutsuzum. print_progressDaha güzel yapmak için kullanıyorum (yani, ilerlemeyi tek bir satırda basıyorum). Sorun: Stdout'a bir boru bağlamak da 4K'lık bir tamponu aktive eder, hoş baskı programına hiçbir şey alamaz ... hiçbir şey ... hiçbir şey ... …
395 shell  pipe  buffer 



1
Bash: “> |” ne yapıyor?
Bunu daha önce yazılı olarak gördüm; $ some-command &gt;| /tmp/output.txt Dikey borular standart yönlendirmelerde kullanılır, bir komutun çıktısını bir başkasına “boruya sokmak”, &gt;|aslında &gt;bu senaryoda olduğu gibi tamamen işe yaramaz mı?

6
Boru tamponu ne kadar büyük?
Bir yorum olarak, bir makefile içindeki "| true" ifadesinin neden "|| true" kullanıcısı cjm ile aynı etkiye sahip olduğu konusunda kafam karıştı : Kaçınılması gereken başka bir neden | true, eğer komut, boru tamponunu doldurmak için yeterli çıktı ürettiyse, doğru okunmasını beklemeyi engeller. Boru tamponunun boyutunun ne olduğunu bulmanın bir …
146 pipe  buffer 

7
Bir önceki komutun çıktısını argüman olarak bir sonrakine ilet
Stdout ( command1 -p=aaa -v=bbb -i=4) 'a veri veren bir komut kullandım . Çıkış çizgisi aşağıdaki değere sahip olabilir: rate (10%) - name: value - 10Kbps Bu oranı 'depolamak' için saklamak istiyorum (burada piponun faydalı olacağını tahmin ediyorum). Ve son olarak, bu oranın ikinci komuttaki bir parametrenin değeri olmasını isterim …



3
Geçici veri için sahte dosyalar
Sıklıkla, yalnızca dosyalardan (örneğin wdiff) girdi girişini tekrar eden bir şekilde kabul eden programları komut satırına nispeten kısa dize verileri (ancak birkaç satır olabilir) beslemek istiyorum. Tabii ki bir veya daha fazla geçici dosya oluşturabilirim, dizgiyi oraya kaydedebilir ve komutu dosya adı ile parametre olarak çalıştırabilirim. Ancak, eğer veri diske …
98 bash  files  pipe 

4
Borulu komutlar hangi sırayla çalışır?
Kabuğun gerçekte borulanmış komutları nasıl yürüttüğünü hiç düşünmedim. Hep "Bir programın stdout'u alır söylendi borulu boru düşünmenin bir yolu olarak, diğerinin stdin içine". Doğal olarak, sanırım, A | B, A önce çalışır, sonra B A'nın stdout'unu alır ve A'nın stdout'unu girdi olarak kullanır. Ancak, insanlar ps'de belirli bir işlem aradıklarında, …
89 pipe  ps 

5
Proses ikamesi ve boru
Aşağıdakileri nasıl anlayacağımı merak ediyordum: Bir komutun stdout'unu diğerinin stdinine sokmak güçlü bir tekniktir. Ancak, çoklu komutların stdout'unu aktarmanız gerekirse? Proses ikamesi burada devreye giriyor. Başka bir deyişle, işlem ikame işlemi borunun yapabileceği her şeyi yapabilir mi? İşlem ikamesi ne yapabilir, fakat boru olamaz?

4
Borular farklılaşamaz mı?
Zeki olmak ve uzaktaki bir dosyayı önce elle indirmeden yerel bir dosyayla karşılaştırmak istedim. Uzak dosyanın içeriğini alabilirim ssh user@remote-host "cat path/file.name" Ancak, bunu diff ssh user@remote-host "cat path/file.name" | diff path/file.name bana bunu veriyor: diff: missing operand after `path/file.nae' diff: Try `diff --help' for more information. Ayarlanmış ssh anahtarlarım …

6
Bir sunucudaki stdout'u başka bir sunucuda stdinlemek için bağlayabilir miyim?
stdoutbir CentOS sunucusunda stdin, başka bir CentOS sunucusuna yönlendirilmesi gerekir. Mümkün mü? Güncelleme ScottPack, MikeyB ve jofel hepsinin geçerli cevapları var. Scott'a cevabı verdim, çünkü sorumun güvenliği bir gereklilik olarak belirtmemiş olmasına rağmen, güvende olmak her zaman güzeldir. Ancak, diğer iki arkadaşın önerileri de işe yarayacak.
74 pipe  stdout  stdin 


8
İki program arasında çift yönlü boru nasıl yapılır?
Herkes İki program arasındaki (bind tek yönlü boru yapmak bilir stdoutbirincinin ve stdinikinci birinin): first | second. Ancak çift yönlü boru, yani çapraz bağlama stdinve stdoutiki program nasıl yapılır? Bir kabuğun içinde yapmanın kolay bir yolu var mı?
63 shell  pipe 

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.