این دستور cpipe است که می تواند در ارائه دهنده هاست رایگان OnWorks با استفاده از یکی از چندین ایستگاه کاری آنلاین رایگان ما مانند Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS اجرا شود.
برنامه:
نام
cpipe - هنگام شمارش بایت ها و گزارش پیشرفت، stdin را در stdout کپی کنید
خلاصه
cpipe [-b bsize] [-vt] [-vr] [-vw] [-ngr] [-s speed]
OPTIONS
اندازه بافر b به کیلوبایت،
1 مقدار Int بین 1 و oo.
پیشفرض: '128'
-vt توان عملیاتی را نشان می دهد.
-vr زمان خواندن را نشان می دهد.
-vw نمایش زمان نوشتن.
-ngr غیر حریص خواندن. قبل از شروع نوشتن، یک بافر کامل در خواندن اعمال نکنید.
محدودیت سرعت توان بر حسب کیلوبایت بر ثانیه،
1 مقدار دو برابر بین 1 و oo.
شرح
Cpipe ورودی استاندارد خود را در خروجی استاندارد خود کپی می کند در حالی که زمان لازم را اندازه گیری می کند
برای خواندن بافر ورودی و نوشتن بافر خروجی. اگر یک یا چند مورد از -vx گزینه ها است
داده شده، آمار میانگین توان و مقدار کل بایت های کپی شده چاپ می شود
به خروجی خطای استاندارد
غیر حریص خواندن
به طور معمول، cpipe تمام تلاش خود را می کند تا بافر خود را کاملاً پر کند (گزینه -b) قبل از شروع
نوشتن با این حال، در برخی شرایط، به عنوان مثال، اگر با یک برنامه تعاملی از طریق cpipe صحبت می کنید،
این ارتباط را به بن بست می زند: برنامه مذکور منتظر ورودی است که هرگز نخواهد دید،
زیرا ورودی در بافر cpipe گیر کرده است. اما خود cpipe ورودی بیشتری نخواهد دید
قبل از اینکه برنامه پاسخ ندهد
برای دور زدن این، سعی کنید از آن استفاده کنید -ngr. هنگام صدور یک تماس خواندنی، cpipe به عنوان ارضا می شود
به محض اینکه حداقل یک بایت دریافت کرد. به جای پر کردن بافر، خواندن را متوقف می کند و
هر چیزی که به خروجی رسید را می نویسد. با این حال، توجه داشته باشید که اندازه گیری توان عملیاتی خواهد بود
اگر تعداد بایت های منتقل شده در یک جفت خواندن/نوشتن کم شود، دقیق تر باشد،
زیرا cpipe زمان نسبتاً بیشتری را روی هر بایت صرف می کند.
محدود کردن ظرفیت تولید
اگر یک محدودیت توان با گزینه مشخص شده باشد -s, cpipe تماس خوابیدن(3) در بین
کپی کردن بافرها، در نتیجه به طور مصنوعی مدت چرخه خواندن/نوشتن را افزایش می دهد. از آنجا که
در اکثر سیستم ها حداقل زمان مشخصی برای خواب ()usleep وجود دارد، به عنوان مثال 0.01 ثانیه،
رسیدن به حد بالا با اندازه بافر کوچک غیرممکن است. در این صورت افزایش
اندازه بافر (گزینه -b) شاید کمک کنه. با این حال، به خاطر داشته باشید که این کار باعث محدود شدن توان عملیاتی می شود
فقط به طور متوسط تک تک بافرها با بیشترین سرعت ممکن کپی می شوند.
مثال
دستور
tar cCf / - usr | cpipe -vr -vw -vt > /dev/null
منجر به خروجی مانند
...
در: 19.541 میلیثانیه با سرعت 6.4 مگابایت بر ثانیه (میانگین 4.7 مگابایت بر ثانیه) 2.0 مگابایت
خروجی: 0.004 میلیثانیه در 30.5 گیگابایت بر ثانیه (میانگین 27.1 گیگابایت در ثانیه) 2.0 مگابایت
از طریق: 19.865 میلیثانیه با سرعت 6.3 مگابایت بر ثانیه (میانگین 4.6 مگابایت بر ثانیه) 2.0 مگابایت
...
La اول ستون زمان مورد نیاز برای مدیریت یک بافر از داده ها (به طور پیش فرض 128 کیلوبایت) را نشان می دهد.
تماس خواندن 19.541 میلیثانیه طول کشید، تماس نوشتن به /dev/null فقط 0.004 میلیثانیه طول کشید و از
شروع خواندن تا پایان نوشتن، 19.865 میلیثانیه طول کشید.
La دوم ستون نتیجه تقسیم اندازه بافر (به طور پیش فرض 128 کیلوبایت) بر
بار در ستون اول
La سوم ستون شامل میانگین تمام مقادیر اندازه گیری شده از ابتدای شروع می باشد
برنامه است.
در نهایت، آخر ستون تعداد کل بایت های منتقل شده را نشان می دهد که البته این است
برای خواندن و نوشتن هم همینطور
با استفاده از خدمات onworks.net از cpipe آنلاین استفاده کنید