Skip to main content
345 votes
Accepted

Why does Linux use LF as the newline character?

Windows uses CRLF because it inherited it from MS-DOS. MS-DOS uses CRLF because it was inspired by CP/M which was already using CRLF. CP/M and many operating systems from the eighties and earlier ...
jlliagre's user avatar
  • 61.6k
168 votes

If Linux is only a kernel, then how were its first versions used (without distribution)?

In the early stages of Linux, Linus Torvalds released the Linux kernel source in an alpha state to signal to others that work towards a new Unix-like kernel was in development. By that time, as @...
Rui F Ribeiro's user avatar
141 votes
Accepted

Why can't Linux usernames begin with numbers?

Some commands (eg chown) can accept either a username or a numeric user ID, so allowing all-numeric usernames would break that. A rule to allow names that start with a number and contain some alpha ...
thomas_d_j's user avatar
  • 1,521
100 votes
Accepted

What does the letter 'u' mean in /dev/urandom?

Unlimited. In Linux, comparing the kernel functions named random_read and random_read_unlimited indicates that the etymology of the letter u in urandom isunlimited. This is confirmed by line 114: ...
Tom Hale's user avatar
  • 31.2k
100 votes
Accepted

Why is Unix 'self-supporting'?

The question in your title is addressed immediately after your quote in the paper: All Unix software is maintained on the system; likewise, this paper and all other documents in this issue were ...
Stephen Kitt's user avatar
97 votes

What did the sticky bit originally do when applied to files?

No, the sticky bit was not like the set-UID or set-GID flags. It didn't effect any changes to process credentials. What the sticky bit did was make the program text "sticky". It wasn't a ...
JdeBP's user avatar
  • 69.5k
84 votes

Why can't Linux usernames begin with numbers?

here is a test on ubuntu 14.04 using numbers: root@ubuntu:~# useradd 232 root@ubuntu:~# mkdir /home/232 root@ubuntu:~# chown 232.232 /home/232 root@ubuntu:~# passwd 232 Enter new UNIX password: ...
adonis's user avatar
  • 1,724
69 votes

Intended use of ctrl+T in bash?

It's very useful to quickly fix typos: sl becomes ls with a single CtrlT. You can use AltT to swap words too (e.g. when switching between service and systemctl...). Historically speaking, the ...
Stephen Kitt's user avatar
61 votes

What's this I hear about First Edition Unix being restored?

In 2008–2009 The Unix Heritage Society managed to reconstruct the source for First Edition Unix kernel and parts of the shell from various sources, including magnetic tapes and paper documents. ...
JdeBP's user avatar
  • 69.5k
60 votes
Accepted

When did Unix stop storing passwords in clear text?

For the early history of Unix password storage, read Robert Morris and Ken Thompson's Password Security: A Case History. They explain why and how early Unix systems acquired most the features that are ...
Gilles 'SO- stop being evil''s user avatar
56 votes
Accepted

Why was `cp` designed to silently overwrite existing files?

The default overwrite behavior of cp is specified in POSIX. If source_file is of type regular file, the following steps shall be taken: 3.a. The behavior is unspecified if dest_file exists ...
telcoM's user avatar
  • 101k
55 votes
Accepted

How do pipelines limit memory usage?

The data doesn’t need to be stored in RAM. Pipes block their writers if the readers aren’t there or can’t keep up; under Linux (and most other implementations, I imagine) there’s some buffering but ...
Stephen Kitt's user avatar
53 votes
Accepted

Why don't man pages have examples?

That depends on the man pages... Traditionally, they have included a section with examples - but for some reason that is usually missing from the man pages under Linux (and I assume other using GNU ...
Baard Kopperud's user avatar
52 votes

How did Linux/xBSD boot before GRUB?

The first Linux distribution I used back in the 90s (Slackware 3.0 IIRC) used LILO as a bootloader. And many distros used LILO for years even when GRUB was becoming the "default" bootloader. Moreover,...
Daniele Santi's user avatar
47 votes

Why is cp's option not to overwrite files called --no-clobber?

“Clobber” in the context of data manipulation means destroying data by overwriting it. In the context of files in a Unix environment, the word was used at least as far back as the early 1980s, ...
Gilles 'SO- stop being evil''s user avatar
42 votes
Accepted

What do the large computers that real terminals were connected to look like?

That terminal would typically be connected to a PDP-11, or a VAX-11 (it can be used with many, many different types of computers though!). The PDP-11, like many mini-computers, was often housed in a ...
Stephen Kitt's user avatar
40 votes
Accepted

What does "on-line" mean, as used in man(1)?

In contrast to a printed (hard-copy) manual, which you could read off-line (while not using a computer). The term dates back (at least) to time-sharing systems. Users may have had a terminal which ...
Thomas Dickey's user avatar
36 votes

How do pipelines limit memory usage?

But I don't understand how this could limit memory usage considering the fact that the data has to be stored in RAM to transmit between programs. This is your fundamental error. Early versions of ...
JdeBP's user avatar
  • 69.5k
33 votes
Accepted

Intended use of ctrl+T in bash?

This is inherited (by readline) from GNU Emacs, which uses control-T for transposing characters: https://www.gnu.org/software/emacs/manual/html_node/emacs/Transpose.html Note that bash's line editor ...
Dimitry Andric's user avatar
32 votes
Accepted

Since when do the POSIX and GNU rm not delete /?

You can find the HTML version of all the editions of POSIX 2008 online: original: http://pubs.opengroup.org/onlinepubs/9699919799.2008edition/utilities/rm.html TC1 (2013 edition) http://pubs....
Stéphane Chazelas's user avatar
31 votes
Accepted

Why does Plan 9 use "snarf" instead of "copy"?

I stumbled upon a quite reasonable explanation today. The Jargon File (link) explains snarf like this: snarf: /snarf/, vt. [in the Unix community] To fetch a file or set of files across a ...
Mateusz Piotrowski's user avatar
31 votes
Accepted

Has Linux always separated User and Kernel space?

Linux has always protected the kernel by preventing user space from directly accessing the memory it uses; it has also always protected processes from directly accessing each others’ memory. Programs ...
Stephen Kitt's user avatar
30 votes

How did Linux/xBSD boot before GRUB?

LILO was the de-facto standard for booting Linux on PCs before Grub, from a very early stage (MCC, one of the first Linux distributions, used it). Various other bootloaders were used contemporaneously....
Stephen Kitt's user avatar
29 votes
Accepted

When were background processes invented?

The first system to support multiple concurrently-executing processes, or at least to simulate the concurrent execution of multiple processes, was the Atlas system developed at Manchester University ...
Stephen Kitt's user avatar
28 votes
Accepted

Why is $ the default symbol for a user shell and # the default symbol for a root shell?

Historically the original /bin/sh Bourne shell would use $ as the normal prompt and # for the root user prompt (and csh would use %). This made it pretty easy to tell if you were running as superuser ...
Stephen Harris's user avatar
28 votes

Why don't man pages have examples?

I don't think there's a good answer to this. It's a culture thing. Some man pages do have example usage. E.g. man rsync. You could try to change the culture by writing to the man page author and ...
Faheem Mitha's user avatar
  • 35.4k
28 votes

Why is cp's option not to overwrite files called --no-clobber?

Because this is actually a standard term. As explained in Wikipedia: In software engineering, clobbering a file or computer memory is overwriting its contents. The Jargon File defines clobbering ...
terdon's user avatar
  • 245k
27 votes
Accepted

What is the source of the "compile it yourself" mentality in linux

Very simply, for much of the history of *nix, there was no other choice. Programs were distributed as source tarballs and the only way you had of using them was to compile from source. So it isn't so ...
terdon's user avatar
  • 245k
27 votes
Accepted

What is the bsdutils package on Debian? What is a "BSD-style Unix system"?

In the beginning, there was Unix, which was a product developed by Bell Labs (a subsidiary of AT&T). A lot of groups customized their copy and added their own programs, and shared their ...
Gilles 'SO- stop being evil''s user avatar
27 votes

Why does `dd` use `=` in its parameters?

POSIX mentions the following in its rationale section for dd: Certainly, many of the operands could have been designed to use the Utility Syntax Guidelines, which would have resulted in the classic ...
Stephen Kitt's user avatar

Only top scored, non community-wiki answers of a minimum length are eligible