What is buffered output?

ie: man cat
....

  • u The output is not buffered

Writes bytes from the input file to standard
output without delay as each is read

that means normal cat without -u option first read the full file in sequence as it read it store it in buffer and display the buffer one's its done..
with -u option you can avoid it

it's like a standard exchange buffer in windows?
where can i poke around

I don't know what a "standard exchange buffer in Windows" is but it seriously sounds like it's not at all the same thing.

With input/output buffering you have a cache of sorts between two devices. Say, a disk: the driver reads a sector of data into a buffer, then passes it to the program which displays it. You can not read a partial sector from the disk; at end of file, you get a partially filled buffer, and a flag which tells you how much of it is actually real data.

Line buffering works on lines instead of disk sectors. Line buffered I/O reads through the next newline, then passes on the buffer.

By running tail -f on a file which is slowly being written by another program, you can see block buffering in action. The output pauses in the middle of a line, then all of a sudden, after a longish wait, you get another burst of text as another buffer of multiple lines of output is completed and written out to disk (and then read and displayed by tail). cat -u prevents this behavior, and forces unbuffered output even if the output device would call for block-buffered or line-buffered output.

Unbuffered output is much less efficient, so unless you really need unbuffered output, go for buffered.