diff --git a/homepage/k/gacc.html b/homepage/k/gacc.html index cb9d4eb..31f8644 100644 --- a/homepage/k/gacc.html +++ b/homepage/k/gacc.html @@ -5,6 +5,7 @@ +
cat
on a POSIX or otherwise UNIX-like system is a program that exists to concatenate files; to “join” one file at its end to another at its start, and output that resulting file to standard output.
cat
was introduced in UNIX v1 to supercede the program pr which printed the contents of a single file to the screen (McIlroy); its first-edition manual page described cat as “about the easiest way to print a file” (“cat(1)”). cat
’s modern, typical use is more or less the same; it’s often introduced to UNIX beginners as a method to print the contents of a file to the screen, which is why many implementations of cat
include options that are technically redundant - see the often-included cat
-e
, -t
, and -v
that replace the ends of lines, tabs, and invisible characters respectively with printing portrayals (“cat(1p)”).
The POSIX standard as of 2003 requires only the option -u
to be implemented, which prevents cat
from buffering its output - on some systems, cat
buffers its output in 512-byte blocks (McIlroy), similarly to dd
’s default as defined by POSIX (“dd(1p)”), though most currently popular cat
implementations do this by default and ignore the -u
flag altogether (busybox, GNU coreutils). POSIX doesn’t mandate buffering by default - specifically, -u
has to guarantee that the output is unbuffered, but cat
doesn't have to buffer it in the first place and can ignore -u
in that case.
+cat
was introduced in UNIX v1 to supercede the program pr which printed the contents of a single file to the screen (McIlroy); its first-edition manual page described cat as "about the easiest way to print a file" ("cat(1)").
+cat
’s modern, typical use is more or less the same; it’s often introduced to UNIX beginners as a method to print the contents of a file to the screen, which is why many implementations of cat
include options that, while possibly useful, can be redundant - see the often-included cat
-e
, -t
, and -v
that replace the ends of lines, tabs, and invisible characters respectively with printing portrayals ("cat(1p)").
+
+
+The POSIX standard as of 2003 requires only the option -u
to be implemented, which prevents cat
from buffering its output - on some systems, cat
buffers its output in 512-byte blocks (McIlroy), similarly to dd
’s default as defined by POSIX (“dd(1p)”), though most currently popular cat
implementations do this by default and ignore the -u
flag altogether (busybox, GNU coreutils).
+POSIX doesn’t mandate buffering by default - specifically, -u
has to guarantee that the output is unbuffered, but cat
doesn't have to buffer it in the first place and can ignore -u
in that case.
+
This is a POSIX-compatible implementation of UNIX cat
with no additional features nor buffered output in C:
@@ -273,6 +281,7 @@ This is provided for educational purposes.
Sample code help
- Ando_Bando
- Miles
+ - u/oh5nxo
- WeedSmokingJew
diff --git a/homepage/knowledge/netbsd/index.html b/homepage/knowledge/netbsd/index.html
index 8f75770..f4e5b4d 100644
--- a/homepage/knowledge/netbsd/index.html
+++ b/homepage/knowledge/netbsd/index.html
@@ -5,6 +5,7 @@
+
knowledge/NetBSD
diff --git a/homepage/knowledge/true.html b/homepage/knowledge/true.html
index 5f50e2d..bcc4f0a 100644
--- a/homepage/knowledge/true.html
+++ b/homepage/knowledge/true.html
@@ -5,6 +5,7 @@
+
true(1)
diff --git a/homepage/knowledge/x200t.html b/homepage/knowledge/x200t.html
index 0a141f5..dd40938 100644
--- a/homepage/knowledge/x200t.html
+++ b/homepage/knowledge/x200t.html
@@ -5,6 +5,7 @@
+
Thinkpad X200T