Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

migrated from stackoverflow.com Apr 8 '11 at 10:00

This question came from our site for professional and enthusiast programmers.

add comment

3 Answers 3

It's a Unix system call that creates a file: At a Unix shell prompt, type man 2 creat to learn more.

share|improve this answer
15  
But "creat" does have an e in it. –  Nosredna Nov 11 '09 at 17:10
8  
It should have two. ;) –  Heath Hunnicutt Nov 11 '09 at 17:36
add comment

Not only he refers to man 2 creat system call. He also refers to the obsolete trends to save on every tiny character, where possible, sometimes this being only confusing, especially now, when typing and storing another character is rarely an obstacle.

share|improve this answer
12  
I think in the context of the question he was only referring to creat(). The point he was making was there was nothing about Unix he would have done differently except for this small spelling error in the system call to create a file. –  jmucchiello Nov 11 '09 at 8:04
5  
@jmucchiello, it's not a spelling error. It's a deliberate (albeit non-standard) abbreviation. It fits with the heavy use of abbreviations like fcntl, ls, mv, etc, in general. –  Matthew Flaschen Apr 13 '11 at 19:15
    
Agree, but I love those abbrvtns even when we have TBs to store :) –  tgkprog Jun 10 '13 at 19:06
add comment

It refers to the UNIX system call to create new files. Linkers on some machines were limited to identifiers of at most 6 characters. Apparently, Ken had to work with such a linker and hence the create system call was shortened to creat to match this limitation. The irony is that create does too.

See also, question 682719

share|improve this answer
8  
The 6 character limit translated to 5, as the compiler (in order to avoid user symbols clashing with compiler generated ones) prepended a '_' before user variable/function names, and was careful not to use '_' when generating symbols. –  vonbrand Mar 14 '13 at 1:08
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.