Yesterday when using curl to send a simple HTTP request to do the test when you find yourself every time you use the network to see other people's examples to remember how to use, so inefficient, although there is still network, but the total feeling is not the master, the heart is not practical, In retrospect, it was almost three or four years since I was using Linux, and from the very beginning it was a book with a basic Linux tutorial (not the brother of the bird), and I started to get in touch with a variety of Linux commands about simple shell programming, but just mastered some common commands, For most of the commands are still in use when you encounter re-check the data, may be in the English document fear or boredom, through the man command to view the process is always not able to master the use of a command, but only a certain parameter of the command, and so on later use, In fact, there may be another simpler and more effective solution, and you don't know it at all.
In view above the problem, I think there is still a need to calm down to learn a lot of frequently used Linux commands, so I say "familiar with the Linux operating system" (of course, this sentence is not only to master some commands on it) when the heart more emboldened, Also let oneself can collect some fragments time, insist to do one thing, exercise oneself to a thing of insistence, this is the former oneself most lacks.
Linux There are hundreds of commands, we commonly used the dozens of, first of all, from the dozens of, the main reference to the description of the man command, so that in the way can exercise their English document reading ability, each command as far as possible through the example of the use of each parameter and combination of use, Of course, some commands can be very complex, need a period of time to learn to really thoroughly understand, but now enough time, collect debris time, as long as they can persist, can certainly overcome.
Linux commands are generally stored in/usr/local/sbin,/usr/local/bin,/usr/sbin,/usr/bin,/sbin,/bin these directories, we generally do not need to enter the absolute path of the command, Just enter the command name, because in the shell (bash often used) based on the configuration of the environment variable path, in the directory under all paths to find out if there is an input command, if there is the file, if it does not exist the error:-bash:ls: Without that file or directory, we can view the execution file of the command in that directory, such as the which LS output/bin/ls, by following the Bash command in the which command.
actually Each command is just a Linux executable, this executable can be binary files, script files, etc., when we run them and do some of the programs we compiled after the connection is completed, for the script file we can view the contents of the file to see the specific execution process, Binary files are generally elf-formatted binaries, similar to the C language written by the program compiled connection generated executable file, you can use the Strace command to track a command execution process used in the system call, when analyzing the problem this is a great way. When we start executing a command, in fact we are in the context of another process, which is the bash process we use, which is always waiting for the user's input, and then the first argument from the input command line from path (if only one parameter name is found from path, If the file is found with an absolute path or relative path, based on the current path, and if a new process (exec system call) is located before starting, the child process executes the command, and the bash process decides whether or not to wait for the child process to complete, depending on whether or not the command is later executed.
All right. , after the introduction of the above is the beginning of a comprehensive study of Linux commands, and then seriously learn every command, stick it down.
0--origin of the Linux Command learning Chapter