Tiếng AnhTiếng PhápTiếng Tây Ban Nha

Ad


Biểu tượng yêu thích OnWorks

cstream - Trực tuyến trên đám mây

Chạy cstream trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks trên Ubuntu Online, Fedora Online, trình mô phỏng trực tuyến Windows hoặc trình mô phỏng trực tuyến MAC OS

Đây là dòng lệnh có thể chạy trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks bằng cách sử dụng một trong nhiều máy trạm trực tuyến miễn phí của chúng tôi như Ubuntu Online, Fedora Online, trình mô phỏng trực tuyến Windows hoặc trình mô phỏng trực tuyến MAC OS

CHƯƠNG TRÌNH:

TÊN


dòng nước — luồng dữ liệu trực tiếp, với giới hạn băng thông, FIFO, âm thanh, sao chép và
hỗ trợ báo cáo mở rộng.

SYNOPSIS


dòng nước [-b num] [-B num] [-i tên tập tin] [-I chuỗi] [-l] [-n num] [-o tên tập tin] [-O chuỗi]
[-p tên tập tin] [-t num] [-T num] [-v num] [-V] [tên tập tin]

MÔ TẢ


dòng chảy lọc các luồng dữ liệu, giống như công cụ UNIX dd(1). Nó có tính chất truyền thống hơn
cú pháp dòng lệnh, hỗ trợ giới hạn băng thông chính xác và báo cáo cũng như hỗ trợ cho
FIFO. Tính toán giới hạn dữ liệu và tốc độ thông lượng sẽ hoạt động đối với các tệp > 4 GB.

dòng chảy đọc từ đầu vào tiêu chuẩn và ghi vào đầu ra tiêu chuẩn, nếu không có tên tệp
được cho. Nó cũng sẽ “tạo” hoặc “chìm” dữ liệu nếu muốn.

Tùy chọn:

-b num Đặt kích thước khối được sử dụng để đọc/ghi vào num. Mặc định là 8192 byte.

-B num Đầu vào bộ đệm lên tới num byte trước khi ghi. Mặc định là kích thước khối. Nó là
một lỗi khi đặt cái này thành bất cứ thứ gì dưới kích thước khối. Hữu ích khi viết băng
và tương tự thích ít bài viết lớn hơn nhiều bài viết nhỏ.

-c num Hoạt động đồng thời. Sử dụng một quy trình riêng cho đầu ra. Điều này đặc biệt hữu ích
kết hợp với tùy chọn -B.
0 = chỉ sử dụng một quy trình (mặc định)
1 = quá trình đọc sẽ đệm
2 = quá trình ghi sẽ đệm
3 = cả hai quá trình sẽ đệm.
Kết hợp với kích thước bộ đệm lớn, điều này thường sẽ tải bộ nhớ của bạn
nặng nề, mỗi khi đầu đọc chuyển bộ đệm mà nó đã thu thập sang
nhà văn. Nếu bạn sử dụng -c 3 và có kích thước bộ đệm là 128 Megabyte 256 MB
bộ nhớ sẽ được chạm vào ngay lập tức.

-i num

-o num Đặt tên tệp để sử dụng cho đầu vào hoặc đầu ra tương ứng. Nếu tập tin đầu ra
tên là "-", dữ liệu sẽ bị loại bỏ. Nếu tên file đầu vào là "-", dữ liệu sẽ
được tạo ra 'từ khoảng trống'. Nếu các tùy chọn này không được cung cấp, stdin/stout sẽ
đã sử dụng. Nếu bạn cần cho -o or -i tùy chọn và muốn stdin/stdout, chỉ định
chuỗi trống, như thế này:

cstream -i''

Nếu hỗ trợ TCP đã được biên dịch (mặc định), tên máy chủ: số cổng sẽ cố gắng
kết nối với máy chủ được chỉ định tại cổng được chỉ định và :portnumber sẽ mở một
Ổ cắm TCP trên máy cục bộ và đợi kết nối đến. BẢO VỆ
LƯU Ý: cstream không bao gồm cơ chế hạn chế các máy chủ có thể kết nối với luồng này
Hải cảng. Trừ khi máy của bạn có các bộ lọc mạng khác, bất kỳ ai cũng có thể
kết nối.

-I chuỗi

-O chuỗi
Chỉ định loại tệp đầu vào và đầu ra tương ứng.
Nếu chuỗi
bao gồm 'f', một fifo sẽ được tạo.
Nếu chuỗi
bao gồm 'a', tệp sẽ được coi là âm thanh tương thích với opensound
thiết bị và sẽ được chuyển sang cài đặt giống như đĩa CD.
Nếu chuỗi
bao gồm 't', một bản sao của luồng sẽ được gửi tới bộ mô tả tệp 3.
Nếu chuỗi
bao gồm 'N', TCP sẽ không được sử dụng cho tệp đó ngay cả khi tên có dấu ://.

-l Bao gồm số dòng trong số liệu thống kê.

-n num Giới hạn tổng lượng dữ liệu ở mức num. Nếu có nhiều đầu vào hơn, nó sẽ
bị vứt bỏ, dòng nước sẽ thoát sau khi đạt đến giới hạn. Nếu có ít hơn
đầu vào, sẽ không đạt đến giới hạn và sẽ không có tín hiệu lỗi.

num có thể có dấu 'k', 'm' hoặc 'g' có nghĩa là Kilobyte, Megabyte hoặc
Gigabyte (trong đó Kilo = 1024). Điều này áp dụng cho tất cả các tùy chọn số.

-p tên tập tin
Viết id tiến trình của cstream vào tên tập tin. Nếu cstream sử dụng một trình ghi riêng
tiến trình (tùy chọn -c), đây là pid của tiến trình gốc (trình đọc).

-t num Giới hạn thông lượng của luồng dữ liệu ở mức num byte/giây. Việc giới hạn được thực hiện tại
phía đầu vào, bạn có thể dựa vào việc cstream không chấp nhận nhiều hơn tỷ lệ này. Nếu
số bạn đưa ra là dương, cstream sẽ tích lũy lỗi và cố gắng giữ nguyên
tỷ lệ tổng thể ở giá trị được chỉ định cho toàn bộ phiên. Nếu bạn đưa ra một tiêu cực
số, đây là giới hạn trên cho mỗi cặp lệnh gọi hệ thống đọc/ghi. Nói cách khác:
số âm sẽ không bao giờ vượt quá giới hạn đó, số dương sẽ vượt quá
nó để bù đắp cho việc sử dụng không đúng mức trước đó.

-T num Báo cáo thông lượng mỗi giây.

-v num Đặt mức chi tiết thành num. Theo mặc định, nó được đặt thành 0, có nghĩa là không có tin nhắn nào được gửi
hiển thị miễn là không có lỗi xảy ra. Giá trị 1 có nghĩa là tổng lượng dữ liệu
và thông lượng sẽ được hiển thị khi kết thúc chương trình. Giá trị 2 có nghĩa là
tốc độ truyền kể từ khi kết thúc cặp đọc/ghi đầu tiên cũng sẽ được báo cáo
(hữu ích khi có độ trễ ban đầu). Giá trị bằng 3 có nghĩa là cũng sẽ có
các phép đo riêng biệt để đọc và viết. Tùy chọn này tiêu tốn nhiều tài nguyên và
hiện chưa được triển khai. Giá trị 4 có nghĩa là thông báo về từng đơn
đọc/ghi sẽ được hiển thị. Giá trị cao bao gồm tất cả các loại thông báo thấp hơn
các giá trị.

-V In số phiên bản ra thiết bị xuất chuẩn và thoát bằng 0.

tên tập tin Một tên tệp duy nhất làm đối số cuối cùng không có công tắc tùy chọn sẽ được sử dụng làm
tập tin đầu vào nếu -i chưa được sử dụng.

SIGUSR1

ĐĂNG KÝ Gửi SIGUSR1 (hoặc SIGINFO, thường được ánh xạ tới Control-T trên bàn phím của bạn)
để cstream khiến nó hiển thị tốc độ thông lượng tới thiết bị lỗi chuẩn. Luồng sẽ
tiếp tục như không có chuyện gì xảy ra.

SIGUSR2 Thoát và báo cáo tỷ lệ thông lượng, nếu được yêu cầu.

ĐĂNG KÍ Tôi thấy mình vô tình gửi SIGHUP quá thường xuyên. Nhưng bỏ qua hoặc lạm dụng
SIGHUP không phải là một lựa chọn cho tôi. Như vậy, khi dòng nước đã nhận được SIGHUP, nó sẽ đợi 5
giây cho một SIGHUP khác, để người dùng có cơ hội sửa một lỗi có thể xảy ra.
Nếu không nhận được SIGHUP bổ sung, dòng nước tự giết mình bằng SIGHUP.

VÍ DỤ


dòng nước -o tmpfile -v 1 -n 384m -i -
Ghi 384 MB dữ liệu không xác định vào tệp tmpfile và hiển thị dài dòng
tốc độ thông lượng. Tạo điểm chuẩn tốt, tốc độ của / dev / null thay đổi quá nhiều từ
hệ thống này sang hệ thống khác.

dòng nước -i tmpfile -v 1 -n 384m -o -
Đọc lại cùng một tệp và loại bỏ dữ liệu.

dòng nước -b 2000 -t 10000 / var / log / messages
Sẽ hiển thị tệp ở tốc độ ít nhiều có thể xem được.

đổ 0sf 400000 - / | dòng nước -v 1 -b 32768 -o / dev / rst0 -p pidfile

giết -USR1 `mèo pidfile`
Viết đầu ra từ đổ(1) để băng. Mỗi lần tín hiệu được gửi đi, thông lượng
và tốc độ dữ liệu cho đến nay sẽ được hiển thị.

dòng nước -t 176400 -i / dev / dsp0 -I f -o -
Tạo ra một loại trình giả lập soundcard có thể được sử dụng để kiểm tra các ứng dụng âm thanh
cần một cái gì đó để ghi vào để giới hạn tốc độ dữ liệu như một soundcard thực sự. Cái này
rõ ràng là không hoạt động khi ứng dụng cố gắng ghi dữ liệu bằng cách sử dụng mmap(2)
ứng dụng phải bỏ qua các lỗi khi cố gắng đặt tham số soundcard bằng cách sử dụng
ioctls(2).

dòng nước -t 176400 -i / dev / dsp0 -I f -o / dev / dsp1 -O f
Trình mô phỏng soundcard tương tự, ngoại trừ việc nó cho phép bạn lấy dữ liệu của mình
các ứng dụng gửi đến nó từ fifo khác trong khi vẫn có thời gian chính xác.

dòng nước -oa -o / dev / dsp0 myhost.mydomain.com:17324
Kết nối cổng 3333 trên máy chủ myhost.mydomain.com và mọi dữ liệu nó tìm thấy ở đó sẽ
được gửi đến soundcard, với các cài đặt thích hợp để phát âm thanh nổi chất lượng CD.

dòng nước -i myaudiofile.raw -o : 17324
Điều này sẽ mở máy chủ TCP trên cổng 17324 và đợi cho đến khi ai đó kết nối (ví dụ:
dụ, dòng lệnh từ ví dụ trước). Sau đó nó sẽ gửi nội dung
của myaudiofile.raw xuống luồng TCP (đối với ví dụ âm thanh trước đó, thường là
Bản ghi âm CD giống như bạn nhận được từ tiện ích tosha hoặc cdparanoia).

dòng nước -OD -o tập tin của tôi

Viết vào tệp myfile bằng O_DIRECT. Điều đó thường có nghĩa là bộ đệm hệ thống tập tin
cache sẽ không cố gắng lưu tập tin này vào bộ đệm. Bạn có thể sử dụng nó để ngăn chặn việc sao chép
hoạt động từ việc ăn hết bộ nhớ vật lý. Lưu ý rằng khi cstream gặp một
ghi lỗi, nó sẽ chuyển tệp đầu ra từ O_DIRECT sang tệp bình thường và ghi
tất cả các khối tiếp theo không có O_DIRECT nếu ghi mà không có O_DIRECT thành công. Trong thực tế
điều đó thường có nghĩa là khối cuối cùng của bạn, nếu không phải là bội số của khối hệ thống tập tin
kích thước, vẫn sẽ được ghi vào tệp (lượng dữ liệu tối đa được ghi
không có O_DIRECT thì kích thước khối của bạn bị trừ một). Bằng cách đó cstream đảm bảo rằng
tệp đầu ra có độ dài của đầu vào, tuy nhiên độ dài là lẻ và không có vấn đề gì
những hạn chế mà hệ điều hành của bạn đặt ra đối với đầu ra O_DIRECT. Một lần nữa, cstream sẽ *không* đệm
đầu ra thành kích thước khối, bạn sẽ nhận được cùng một tệp và kích thước tệp như khi không sử dụng
O_DIRECT, với chi phí chuyển sang non-O_DIRECT bất cứ khi nào một khối không phù hợp
kích cỡ.

dòng nước -i : 3333 | dd obs=8192 | ./cstream -omyfile -V7 -OD
Đây là những gì bạn cần làm để đệm đầu vào TCP, để luồng cuối cùng sẽ không
chuyển khỏi O_DIRECT sớm vì thời gian đọc ngắn. Nếu đầu vào của bạn có thể làm
các lần đọc ngắn (ví dụ từ TCP) và bạn muốn đảm bảo rằng O_DIRECT vẫn có hiệu lực,
bạn cần một bộ đệm giữa luồng TCP và luồng O_DIRECT. Kể từ khi phát sóng
chưa hỗ trợ các kích thước khối đầu vào và đầu ra khác nhau, dd phù hợp ở đây.
Lưu ý rằng điều này chỉ cần thiết nếu HĐH yêu cầu nhiều hệ thống tệp
kích thước khối cho O_DIRECT. Tại thời điểm viết bài này, cấu trúc này là cần thiết trên
Linux để sử dụng luồng TCP với O_DIRECT, nhưng không cần thiết trên FreeBSD.

dòng nước -XƯƠNG -o tập tin của tôi
Ghi vào tệp myfile bằng O_SYNC. Điều này có nghĩa là vào thời điểm cuộc gọi hệ thống quay trở lại
dữ liệu được biết là có trên đĩa. Đây không giống với O_DIRECT. O_TRỰC TIẾP
có thể tự thực hiện việc lưu vào bộ đệm, với O_SYNC hoàn toàn không có bộ đệm. Vào thời điểm
bài viết này, O_SYNC trên cả Linux và FreeBSD đều rất chậm (1/5 đến 1/10 của
ghi bình thường) và O_DIRECT khá nhanh (1/4 đến 1/2 ghi bình thường). Bạn
có thể kết hợp O_SYNC và O_DIRECT.

LRI


Mã thoát 0 nghĩa là thành công.

Mã thoát 1 có nghĩa là lỗi sử dụng cú pháp dòng lệnh.

Mã thoát 2 nghĩa là các lỗi khác, đặc biệt là lỗi hệ thống.

Lỗi


Cần có tùy chọn để bắt đầu viết trực tiếp sau khi lần đọc đầu tiên kết thúc và sau đó điền vào
bộ đệm với các lần đọc ở chế độ nền. Hiện tại việc viết sẽ không bắt đầu trước người đọc
đã lấp đầy hoàn toàn bộ đệm lần đầu tiên.

Không phải lỗi: mã để thực hiện O_DIRECT khá phức tạp. Nó sẽ trở lại bình thường
I/O về lỗi. Nhưng trước khi làm điều đó, nó phải biết về cả hai yêu cầu về kích thước khối của hệ thống tập tin
(sẽ mặc định kích thước khối I/O cho bất kỳ hệ thống tệp nào của tệp đầu ra) và trang
yêu cầu căn chỉnh (I/O sẽ xảy ra từ bộ đệm được căn chỉnh theo trang). Tuy nhiên,
sự kết hợp đọc/ghi đồng thời (tùy chọn -c) và O_DIRECT chưa được thử nghiệm ngoài
xác minh cơ bản rằng nó thực hiện đúng một số bài kiểm tra.

Sử dụng cstream trực tuyến bằng dịch vụ onworks.net


Máy chủ & Máy trạm miễn phí

Tải xuống ứng dụng Windows & Linux

  • 1
    sạch sâu
    sạch sâu
    Một tập lệnh Kotlin kích hoạt tất cả các bản dựng
    cache từ các dự án Gradle/Android.
    Hữu ích khi Gradle hoặc IDE cho phép bạn
    xuống. Kịch bản đã được thử nghiệm trên
    macOS, nhưng ...
    Tải xuống sạch sâu
  • 2
    Trình cắm kiểu kiểm tra Eclipse
    Trình cắm kiểu kiểm tra Eclipse
    Trình cắm thêm Eclipse Checkstyle
    tích hợp mã Checkstyle Java
    đánh giá viên vào IDE Eclipse. Các
    plug-in cung cấp phản hồi theo thời gian thực để
    người dùng về vi phạm ...
    Tải xuống Trình cắm kiểu kiểm tra Eclipse
  • 3
    AstrOrzNgười Chơi
    AstrOrzNgười Chơi
    AstrOrz Player là trình phát đa phương tiện miễn phí
    phần mềm, một phần dựa trên WMP và VLC. Các
    người chơi theo phong cách tối giản, với
    hơn mười màu chủ đề và cũng có thể
    b ...
    Tải xuống AstrOrzPlayer
  • 4
    phim trường
    phim trường
    Kodi Movistar+ TV là một ADDON cho XBMC/
    Kodi que allowe disponer de un
    bộ giải mã dịch vụ IPTV
    Tích hợp Movistar en uno de los
    trung tâm truyền thông ...
    Tải phimstartv
  • 5
    Mã :: Khối
    Mã :: Khối
    Code::Blocks là mã nguồn mở, miễn phí,
    đa nền tảng C, C++ và Fortran IDE
    được xây dựng để đáp ứng những nhu cầu khắt khe nhất
    của người dùng của nó. Nó được thiết kế rất
    mở rộng ...
    Tải xuống mã::Khối
  • 6
    Ở giữa
    Ở giữa
    Giao diện Minecraft giữa hoặc nâng cao
    và Theo dõi Dữ liệu / Cấu trúc là một công cụ để
    hiển thị tổng quan về Minecraft
    thế giới mà không thực sự tạo ra nó. Nó
    có thể ...
    Tải về giữa
  • Khác »

Lệnh Linux

Ad