Current location - Education and Training Encyclopedia - Graduation thesis - If you want to do embedded development, why should you learn linux?
If you want to do embedded development, why should you learn linux?
I was forced to use Linux at first. At that time, I used an old notebook computer to do some word processing work. Windows always crashes, but Ubuntu is installed. I'm just looking for a replacement for Windows. There are many graphical interfaces using Ubuntu, but not many command lines. I always feel that I can't compare with Windows. Of course, the basic functions are still complete. I used that old computer as a part-time translator and earned a huge sum of 2000 yuan.

Later, I used Linux deeply because I had to use the server for my thesis. The server is a Debian system and can only be connected through ssh. I can only enter it on the command line pitifully. It is also in this case that I really discovered the benefits of Linux.

First of all, Shell programming is very convenient, especially using various tools under Linux, such as cat, sed, awk and grep. I often submit my work to the task manager of the server. When the workload is too heavy and the processor is not enough, we have to wait in line for a gap. It saves me a lot of time to write a small script with shell and let it arrange for me to submit my work. Shell programming can even achieve quite complex functions. Linux makes every gadget more powerful. When you want to realize complex functions, you use text flow to connect them together. This gives consideration to both functionality and independence. (Linux text stream)

Secondly, Linux is very stable. This is also an important reason why most servers use Linux. I haven't used the server version of Windows, so it's not easy to evaluate. But on PC, Linux is much more stable than Windows. Because of the different storage methods between Linux and Windows, Linux can run continuously for a long time without defragmenting the disk. Of course, the graphical interface of Linux is slightly weak. If you use a graphical interface, it sometimes crashes. (Why Linux doesn't need disk defragmentation)

Thirdly, the source code and architecture of Linux are open, from which you can learn many operating system principles. The whole philosophy system of Linux is inherited from UNIX, and its development period is much longer than that of Windows. The whole design system has been quite stable and simplified. POSIX standards are also common. After getting familiar with Linux, other UNIX systems will be easy to use. Many things in Windows are opaque, complicated and constantly changing, which is not a good learning example. (Linux architecture)

Finally, all kinds of tools under Linux are basically free. More conveniently, use the package manager to download the compiled version. This is completely different from the tedious process of buying CDs everywhere, finding available download connections and finding registration codes under Windows. If you want to use any tool, it usually takes only a few minutes to get it through the Internet. The open source community of Linux is also very active, and it is easy to find people to discuss or find project practitioners.

From my personal point of view. First of all, Linux is a strong additional skill. Windows is very intimate to users, but it also means that the threshold for use is low, and basically everyone will. Linux, even the use of the command line, takes some time to get familiar with. Writing on CV that you are familiar with the command-line usage of Linux and the configuration of Linux will add a lot of points than writing that you are familiar with the use of Windows.

Secondly, there are many Linux servers and cloud service platforms. This means that Linux is a battlefield compulsory skill beyond PC. If you are engaged in IT development, Linux is basically a hurdle. Now Linux is developing well on the mobile side. Look at Ubuntu's recent actions and hope to make a difference on the mobile side. And Android also uses Linux kernel.

Finally, Linux equipment investment is small, while Linux knowledge update is slow and learning is cost-effective. You can also eat Unix and Mac after learning.