Ito ang command sluice na maaaring patakbuhin sa OnWorks na libreng hosting provider gamit ang isa sa aming maramihang libreng online na workstation gaya ng Ubuntu Online, Fedora Online, Windows online emulator o MAC OS online emulator
PROGRAMA:
NAME
sluice - isang tool upang kontrolin ang daloy ng data sa isang tinukoy na rate
SINOPSIS
sluice [mga pagpipilian]
DESCRIPTION
Ang sluice ay nagbabasa ng input at naglalabas ng isang tinukoy na rate ng data. Mayroon itong iba't ibang pagkontrol sa rate ng data
mga mekanismo na maaaring ibagay para sa mga partikular na kaso ng paggamit kung kinakailangan.
Opsyon
Ang mga pagpipilian sa sluice ay ang mga sumusunod:
-a idagdag ang output sa isang file (ginamit kasabay ng -t 'tee' o -O na mga opsyon).
Sa halip na lumikha ng isang bagong file o putulin ang isang umiiral na file, ang pagpipiliang ito ay nagdaragdag
data sa file.
-c antala
nagbibigay-daan sa patuloy na oras ng pagkaantala (sa mga segundo) sa pagitan ng mga pagsusulat. Inaayos ng opsyong ito ang
laki ng output buffer upang subukan at panatilihing pare-pareho ang rate ng data. Ang laki ng output buffer
sa mode na ito ay unang nakatakda sa rate ng data × ang pagkaantala.
Ang opsyong ito ay kapwa eksklusibo sa -i na opsyon at tuwirang pinapagana ang -o
overrun at -u underrun na mga opsyon sa pamamahala ng buffer upang dynamic na muling sukatin ang
magbasa/magsulat buffer upang panatilihing pare-pareho ang rate ng data. Bilang default, inaayos nito ang
buffer batay sa kabuuang halaga ng data na inilipat at ang oras upang isulat ito
(katumbas ng -s 0 turning mode). Gayunpaman, kung mas malaki ang halaga ng -s shift
kaysa sa 0, pagkatapos ay ang bagong laki ay nababagay sa dating laki na inilipat sa kanan ng
shift value.
-d itapon ang data, huwag kopyahin ito sa stdout. Ginagawa nitong kumilos ang sluice bilang isang lababo ng data.
-D paraan
piliin ang mode ng pagkaantala. Ang mga ito ay iba't ibang mga diskarte kung kailan gagawin ang rate ng data
mga pagkaantala. Ang default ay isagawa ang pagbabasa, pagkatapos ay isulat at sa wakas ang pagkaantala para sa
bawat pag-ulit. Gayunpaman, pinapayagan ng pagpipiliang -D ang isa na piliin ang mode ng pagkaantala bilang
sumusunod:
paraan Pagkaantala estratehiya Pagkaantala Tagal
0 Magbasa, Magsulat, Mag-antala (default) 1 × oras ng pagkaantala
1 Delay, Read, Write 1 × delay time
2 Magbasa, Mag-antala, Magsulat ng 1 × oras ng pagkaantala
3 Delay, Read, Delay, Write 2 × 1/2 delay time
4 Magbasa, Mag-antala, Magsulat, Mag-antala 2 × 1/2 oras ng pagkaantala
5 Delay, Read, Delay, Write, Delay 3 × 1/3 delay time
Tandaan na ang mga mode 3 at 4 ay nagsasagawa ng dalawang pagkaantala bawat isa ay binubuo ng 1/2 ng oras ng pagkaantala
at ang mode 5 ay nagsasagawa ng 3 pagkaantala bawat isa na binubuo ng 1/3 ng oras ng pagkaantala.
Ang mga mode 1, 3, 5 ay maaaring ituring na hindi ganap na tumpak sa mga tuntunin ng kabuuang pagtakbo
tagal. Sa mga mode na ito, nangyayari ang extraneous delay bago ang huling end-of-file
isinagawa ang walang laman na pagbasa.
-e huwag pansinin ang mga error sa pagbabasa. Ang nabigong pagbasa ay pinapalitan ng mga zero.
-f freq
tukuyin ang dalas ng -v verbose statistics updates. Ang default ay 1/4 ng a
pangalawa. Tandaan na susubukan ng sluice na maglabas ng mga update malapit sa hiniling na dalas,
gayunpaman, kung ang read/write rate ay mas mababa sa dalas, ang mga update ay magaganap
lamang sa read/write rate.
-h magpakita ng tulong
-i laki
tukuyin ang laki ng read/write sa bytes. Ang mga suffix na K, M, G, T at P ay nagpapahintulot sa isa na
tukuyin ang laki sa Kilobytes, Megabytes, Gigabytes, Terabytes at Petabytes
ayon sa pagkakabanggit. Ang opsyong ito ay kapwa eksklusibo sa -c na opsyon.
Sa mode na ito, ang mga pagkaantala sa pagitan ng mga pagsusulat ay ginagamit upang kontrolin ang rate ng data. Sa pamamagitan ng
default ang pagkaantala ay batay sa kabuuang halaga ng data na inilipat at ang oras
kinuha upang isulat ito. Ito ay katumbas ng -s 0 tuning mode. Gayunpaman, kung ang
-s shift value ay mas malaki kaysa sa 0, pagkatapos ay ang bagong pagkaantala ay inaayos ng nauna
pagkaantala pakanan na inilipat ng halaga ng shift.
Ang isang espesyal na hybrid rate control mode ay maaaring gamitin sa pamamagitan din ng paggamit ng -o overflow at
-u underflow na mga opsyon para paganahin din ang dynamic na re-sizing ng read/write buffer. Sa pamamagitan ng
default, inaayos nito ang buffer batay sa kabuuang halaga ng data na inilipat at
ang oras para isulat ito (katumbas ng -s 0 turning mode). Gayunpaman, kung ang -s
Ang halaga ng shift ay mas malaki kaysa sa 0, pagkatapos ay ang bagong laki ay nababagay sa nakaraang laki
inilipat sa kanan ng halaga ng shift.
-I file
basahin ang input mula sa file sa halip na mula sa stdin.
-m laki
tukuyin ang dami ng data na ipoproseso, ang default na laki ay nasa bytes, ngunit ang K, M, G, T
at P suffix ay maaaring tukuyin ang laki sa Kilobytes, Megabytes, Gigabytes, Terabytes at
Petabytes ayon sa pagkakabanggit. Kung ang laki na ito ay mas mababa kaysa sa laki ng pagsusulat, pagkatapos ay ang pagsusulat
ang laki ay pinutol upang maging laki ng -m.
-n walang rate control. Isa lang itong tuwid na kopya ng data na katulad ng cat at lahat ng rate ng data
hindi magagamit ang mga kontrol. Pinagsama sa mga -v at -S na mga pagpipilian ay maaaring obserbahan ng isa ang
mga rate ng data ng kopya.
-o tuklasin ang overrun at muling laki ng read/write buffer size para subukan at ihinto ang overrun. Ito
ay paliitin ang buffer sa tuwing may matukoy na magkakasunod na overrun. Tingnan ang -s
opsyon para sa mga detalye ng mekanismo ng muling pagsasaayos ng laki.
-O file
magpadala ng output sa file, katumbas ng -dt file
-p paganahin ang mga verbose stats na nagpapakita ng % progreso at impormasyon ng ETA. Ito ay may bisa lamang
gamit ang -I o -m na opsyon at ang kung ang laki ng file ay hindi zero. Tingnan ang -v na opsyon para sa
higit pang mga detalye.
-P pidfile
isulat ang proseso ng ID ng sluice sa file pidfile. Ang file ay tinanggal kapag sluice
labasan.
-r singil
tukuyin ang rate ng data sa bytes bawat segundo. Maaaring tukuyin ang mga suffix na K, M, G at T
ang rate sa Kilobytes/sec, Megabytes/sec, Gigabytes/sec at Terabytes/sec
ayon sa pagkakabanggit. Ang opsyong ito ay dapat palaging ibigay maliban kung ang -n na opsyon ay
ginagamit.
-R huwag magbasa mula sa stdin, sa halip ay magbasa ng random na data mula sa /dev/urandom.
-s ilipat
baguhin ang pagbabago ng pagsasaayos ng rate. Ito ay isang data rate tuning scaling factor na ginagamit ng
ang -r, -c, -o at - mga opsyon.
Para sa -r na opsyon, ang pagkaantala sa pagitan ng bawat pagsulat ay kinokontrol sa pamamagitan ng pagbabago sa
nakaraang pagkaantala sa pamamagitan ng pagdaragdag o pagbabawas ng nakaraang pagkaantala sa kanan na inilipat nito
shift value. Kung mas malaki ang halaga ng shift, mas magtatagal bago mag-adjust pataas/pababa
ang tinukoy na rate. Ang mas maliit na halaga ng shift ay mas mabilis na kinakailangan upang maabot ang
pinakamainam na pagkaantala, gayunpaman, ito ay maaaring magresulta sa isang mataas na pabagu-bagong mga rate sa
simula dahil ang pagkaantala ay nag-iiba ng malaking halaga na nagdudulot ng malalaking overrun at
underruns. Ang isang shift value na 3 ay gumagana nang maayos para sa pinakamabilis na rate.
Para sa -c, -o at -u na mga opsyon, ang laki ng buffer ay binago sa pamamagitan ng pagdaragdag ng o
pagbabawas ng dating laki na inilipat ng halaga ng shift. Muli, isang shift value na 3
gumagana nang maayos para sa pinakamabilis na mga rate.
Kung ang halaga ng shift ay nakatakda sa 0, kung gayon ang mekanismo ng pagsasaayos ng shift rate ay
tahasang naka-off at ang mga rate ng data ay isinasaayos batay sa kabuuang dami ng data
inilipat at oras na para isulat ito.
Ang mga small -s shift value na 1 at 2 ay maaaring magdulot ng mabilis na mga oscillation bago ang rate ng data
ang pamamasa ay ganap na nagsisimulang kumilos. Ang halaga ng -s 0 (ang default) ay inirerekomenda para sa
tumpak na mababa ang bilis ng paglilipat ng data.
-S mag-print ng iba't ibang mga istatistika ng pagganap at buffering sa stderr kapag ang katapusan ng file ay
inabot
-t file
tee output sa tinukoy na file. Ang output ay nakasulat sa parehong stdout at sa pinangalanan
file. Bilang default, malilikha ang file kung wala ito o muling isusulat kung ito
mayroon na. Gamitin ang -a na opsyon upang magdagdag sa isang umiiral na file.
-T t itigil ang slice test pagkatapos ng t segundo. Maaari ding tukuyin ng isa ang mga yunit ng oras sa mga segundo,
minuto, oras, araw o taon na may panlaping s, m, h, d o y.
-u tuklasin ang underrun at re-size read/write buffer size para subukan at ihinto ang underrun. Ito
lalawak ang buffer sa tuwing may matukoy na magkakasunod na underrun. Ang buffer
ay hindi papalawakin nang higit sa 4MB ang laki. Tingnan ang -s na opsyon para sa mga detalye ng
ang mekanismo ng muling pagsasaayos ng laki.
-v sumulat ng verbose statistics sa stderr. Bilang default, ipapakita nito ang kasalukuyang data
rate, ang huling pagsasaayos ng rate ng data ('-' = underrun, '+' = overrun), kabuuang byte
inilipat, tagal at ang kasalukuyang laki ng buffer.
Gamit ang -p na opsyon, ang mga istatistika ng progess ay ipinapakita. Ipapakita nito ang
kasalukuyang rate ng data, kabuuang byte na inilipat, tagal, porsyento na kumpleto sa ngayon
at ang tinantyang oras upang makumpleto. Tandaan na ang pagtatantya ay magagamit gamit ang
ang -I at -m na mga pagpipilian at kung ang laki ng file ay hindi zero.
-V i-print ang impormasyon ng bersyon sa standard out at matagumpay na lumabas.
-w magbabala kung ang isang mahabang pagsabog ng tuluy-tuloy na data rate underrun ay nangyayari, ang babala ay ibibigay
isang beses lang. Para malampasan ang underrun, dagdagan ang -i read/write buffer size o paggamit
ang -u na opsyon para i-auto-expand ang read/write buffer. Masyadong maraming underruns ang nagpapahiwatig
na masyadong maliit na buffer o hindi sapat na CPU ang magagamit upang makasabay sa kinakailangan
rate ng data.
-z huwag magbasa mula sa stdin, sa halip ay bumuo ng isang stream ng mga zero (katumbas ng pagbabasa
mula sa /dev/zero).
SIGUSR1 SIGINFO
Ang pagpapadala ng SIGUSR1 (o SIGINFO sa mga BSD system) ay magpapalipat-lipat sa verbose data rate mode
bukas sarado.
SIGUSR2
I-toggle ang underrun/overrun (-u, -o) na opsyon sa on/off.
NOTA
Kung hindi ginagamit ang alinman sa -i o -c na mga opsyon, magde-default ang sluice sa paggamit ng write buffer size ng
1/32 ng rate ng data at may hangganan sa pagitan ng mga limitasyon na 1 byte at 64MB. Susubukan ng Sluice
upang panatilihing matatag ang rate ng data sa pamamagitan ng pagsasaayos ng pagkaantala sa pagitan ng mga pagsusulat. Upang ibagay ito, tingnan ang
-s pagpipilian.
HALIMBAWA
Basahin ang /dev/zero at isulat sa 4K na laki sa rate na 1MB/sec sa file na 'example.dat'
pusa /dev/zero | sluice -i 4K -r 1M > halimbawa.dat
Magbasa ng 32MB mula sa /dev/zero at sumulat sa rate na 64K/sec hanggang stdout na may feedback sa
tagal at ETA sa stderr gamit ang 4K buffer writes at isang tuning shift na 4.
pusa /dev/zero | sluice -r 64K -vp -m 32M -i 4K -s 4
Bumuo ng stream ng mga zero at sumulat sa rate na 1MB/sec sa isang fifo na pinangalanang 'myfifo' na may
underrun at overrun buffer management
sluice -z -u -o -r 1MB -O myfifo
Sumulat ng random na data sa 5MB bawat segundo sa file na 'myfile' na gumagawa ng pagsulat bawat 0.1 segundo
sluice -R -r 5M -c 0.1 > myfile
Sumulat ng mga zero sa file na 'example-file' sa 64K chunks at sukatin ang write rate bilang isang krudo
pagsubok sa throughput
sluice -nzSv -f 0.1 -i 64K > halimbawang file
Basahin ang data mula sa somehost.com sa port 1234 sa bilis na 2MB bawat segundo at itapon ang data,
hal. ito ay isang pare-pareho ang rate ng data sink.
nc somehost.com 1234 | sluice -d -r 2MB -i 8K
EXIT STATUS
Itinatakda ng Sluice ang exit status bilang sumusunod:
katayuan Decription
0 Matagumpay na lumabas.
1 Di-wasto o wala sa saklaw na opsyon na ibinigay.
2 Error sa pagbukas ng file.
3 Error sa pagtulog.
4 Nabigong makuha ang oras ng araw.
5 Error sa pag-setup ng signal handler.
6 Error sa pagbasa (file o stdin).
7 Magsulat ng error (file o stdout).
8 Nabigo ang paglalaan ng buffer.
Gumamit ng sluice online gamit ang mga serbisyo ng onworks.net