Bean knowledge , from Japanese まめちしき
. A little knowledge that represents some side corners and is generally inconspicuous. Similar to the cold knowledge in Chinese.
Why
Linux underThe default name of the C-language compiled executable file is a.out?
In Linux, using GCC to compile C source code, the default generated executable file name is a.outwithout using the- o option.
Many people may think a is the first letter of the alphabet, representing a in the English alphabet, or α in the Greek alphabet. In fact, the meaning of the so-called a.out is assembleroutput, that is, the assembler outputs .
Understanding the compilation process we should most know that the output of the assembler is the target file (. o is the suffix of the file), not an executable file. The destination file is then linked to an executable binary file (such as a.out).
The reason is because the Unix system was born on the PDP-7 machine, there is no linker. The link work is done before the assembly operation, and the executable is generated directly by the assembler. Later, the linker was invented, stripped of the link operation, and worked after the assembly. But the naming habit is preserved.
Another interesting story about A.out is this:
In the early history of Unix, people who wanted to play games on the system usually ran the game as a a.out to avoid being caught by the system administrator, so some UNIX systems periodically removed all files named a.out every evening.
Basis
- "C Expert Programming" section 6.1
- "Beginning Linux programing" 1.2.3 Festival
Directories in Linux
/ usris the user's abbreviation really?
Many people think that the/usr directory is the user's abbreviation, we know that in Windows C disk is a user directory, which is stored in the subdirectory of each users. Linux, however, corresponds to the/home directory, not the/user directory.
In fact, the meaning of the/usr directory in modern UNIX systems is usersystem resources, which represents the system resource shared by multiple users, including binaries, documents, libraries and so on. Available to every user.
In fact, the original meaning of/usr is actually user, then/USR directory structure is different from the present, like the home/home directory. At that time/usr/jelly and the present/home/jelly are the same meaning, representing the user Jelly home directory. However, after the introduction of the/home directory, it is not recognized as the user's abbreviation.
Basis
Http://www.tldp.org/LDP/Linux-Filesystem-Hierarchy/html/usr.html
In the original Unix implementations,/USR was where the home directories of the users were placed (that's to say,/usr/s Omeone was and the directory now known As/home/someone). In current unices,/usr is where User-land programs and data (as opposed to ' system land ' programs and data) are. The name hasn ' t changed, but it's meaning have narrowed and lengthened from "Everything user related" to "user usable progr AMS and Data ". As such, some people may now refer to the directory as meaning ' user System Resources ' and not ' user ' as is originally I Ntended.
Do you know the name of the cat command in Linux?
We should have used the cat command to display the file, but why is this command called cat? A slightly more experienced UNIX user will know that the real use of the cat command is to combine files.
Indeed, the cat command can display multiple files to standard output, which can be combined with multiple files by redirection.
cat file1 file2 > file3
You might think that the cat command is an abbreviation for the English word concatenate(contact connection). This may be a good understanding, but it is not a real situation.
Cat abbreviation from an ancient word catanate, meaning to join a chain, it originates from the Latin catena, is chain (chain) meaning.
Basis
Section 16.8 (end) of the Unix&linux University course
Why is dynamic programming the original English text?
Dynamic programming in China is referred to as the dynamics of planning , but programming itself is not planning, but translated into programming is completely wrong. Because it's a mathematical idea.
The history of the term was this, when Richard Bellman in the Rand Division of the Air Force, and his immediate supervisor hated the Department for Research, even before he could not say the word study. Mathematical research is not allowed. What Bellman was doing was a mathematical study in order not to let the boss find out that he had to make a fuss over the project name and take a Dynamic programming name. It was almost impossible for his research to be felt by others.
Basis
Https://en.wikipedia.org/wiki/Dynamic_programming#History
Copyright NOTICE: This article for Bo Master original article, without Bo Master permission not reproduced.
Knowledge of beans in the field of computer science