@wyatt @mirabilos Both head and tail are POSIX but it only specifies a relative -c option for tail, which makes sense as head is effectively straight up "read-write loop with a limit", while tail is the kind that typically requires seeking around and keeping a dynamically-sized buffer.