Network Security Internet Technology Development Database Servers Mobile Phone Android Software Apple Software Computer Software News IT Information

In addition to Weibo, there is also WeChat

Please pay attention

WeChat public account

Shulou

Why study Linux?

2025-01-15 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Development >

Share

Shulou(Shulou.com)06/03 Report--

This article introduces the relevant knowledge of "Why learn Linux". In the operation of actual cases, many people will encounter such a dilemma. Then let the editor lead you to learn how to deal with these situations. I hope you can read it carefully and be able to achieve something!

Why learn Linux?

As a student engaged in IT work, I must be no stranger to Linux system. Today, we can see it in various fields, such as mobile phones, servers, embedded, telecommunications equipment, mainframe computers, and various electronic products can not be separated from Linux, it has penetrated into all aspects of the Internet world.

Including those hot technologies, such as cloud computing, virtualization, containers, big data, artificial intelligence, are almost all based on Linux technology, those platform systems, such as e-commerce, group buying, social networking, news, and express delivery, are all deployed on the server side, and almost all are based on Linux technology.

In the programming world, Linux is the mainstream, and if you don't Linux, you may be out of place. If you want to enter a big company and learn new technologies, Linux must be an insurmountable hack. Only by entering the door of Linux system can you become a qualified software engineer.

Most of the enterprise server environments are Linux systems, so no matter what kind of work you are engaged in front-end, back-end, operation and maintenance, or testing, Linux is the basic knowledge that you must master, but different types of jobs need to learn Linux in different directions.

Experience and suggestion

Some of the suggestions below are a summary of my experience in Linux development for many years. I believe it will be helpful to Linux beginners. Of course, if there are inaccuracies, please correct them.

Be sure to build your own Linux environment. Linux system learning is very practical, only learning theoretical knowledge can not really master Linux. I recommend installing a virtual machine on a personal computer. The virtual machine is very flexible and can provide a Linux environment without affecting the normal use of the host. For the choice of virtual machine software, consider using VMware or VirtualBox. The snapshot function of the virtual machine must be used well, especially for beginners, it can restore the environment you accidentally broke to the initialization state, just like reinstalling the operating system, and my mother will no longer have to worry about my rm-rf / *.

The choice of Linux distribution. Due to the power of Linux, there are too many distributions at present, and some students may struggle with their choices. Here I recommend to use CentOS on the line. Because it is free and stable, CentOS is the most widely used server in domestic enterprises, and there is almost no difference between it and RedHat. Of course, you can choose Ubuntu system, the share of domestic server usage is second only to CentOS. In fact, all distributions are based on the Linux kernel, but expand the relevant system components and software libraries, in essence are Linux systems, after learning CentOS, it is easy to start with other versions of the system, so there is no need to pay too much attention to and struggle with this problem.

Be sure to use the command line. Most beginners often like to install graphical desktops because we are used to win or mac graphics operations. However, I strongly recommend that you do not install the desktop when installing the system, and stick to the command line for normal operation and learning. It may be painful in the early stages of study, but after going through the labor pains and using it skillfully, you can enjoy the powerful functions brought by the command line. The command line is not only powerful, but also can greatly improve efficiency, because the command line means automation, automation can release a lot of repetitive work for you, giving you plenty of time to learn more valuable knowledge. In addition, the graphical interface exists as an independent software on the linux system, which will consume additional server resources, and the enterprise server must not install graphics, so you must forget the windows way of thinking in the Linux world.

Linux is open source. Open source means that you can look at the Linux source code and understand the principles of the system implementation at the code level, which allows you to be informed and enlightened, rather than simply using it.

Form a good habit of safety and rigor. For beginners, although most of the time is operated on the virtual machine, with the blessing of snapshots, you can do all kinds of experimental operations without scruples. But I still strongly suggest that beginners must develop good operating habits: 1. Back up important data frequently; 2. Use less root users to do all kinds of operations; 3. It is not better to strike orders as soon as possible; 4. The server password is as complex as possible, do not use a weak password like 123456, the server is likely to be invaded as a broiler; 5. The server password should not be simply recorded on the document or on a mobile device such as a U disk; 6. We must be in awe of the production environment.

How to learn?

Efficient learning methods can often help you get twice the result with half the effort. Here are some of my own learning experiences and methods that I share. I hope they will be helpful to you.

We must put it into practice. Linux is a very practical subject, beginners need to type more commands, more practice and practice. Like learning other things, most of the time we do not have to have a thorough understanding of theoretical knowledge before practice, but from the practice to find problems and then in-depth learning, so the effect may be better.

An effective way of learning. When it comes to learning style, everyone's way of learning may be different. I recommend video + reading, video tutorials can let you quickly get started, quickly understand the relevant concepts, and reading can be more comprehensive to learn specific details, will make you have more thinking, reading can be used as a supplement and expansion of the video.

Think, summarize and sum up. No matter what form we learn, we need to think carefully about every problem and concept in learning, and we need to learn from the perspectives of what, how and why as a problem template for learning. To learn any new technology, we need to know the application scenario of this technical knowledge point, what problems can be solved, whether there is a similar solution, and what are the advantages of this technical point.

Output is an efficient learning method. In the learning process, an essential link is induction and summary, summary is to output, can be in the form of document notes or other. I recommend writing a blog, if possible, because writing a blog can help you summarize and learn more effectively and systematically. Blogging is a form of teaching. If you can clearly explain what you have learned on the blog and teach others, it will show that you have really mastered it. If you write a good blog, you can accumulate enough influence for yourself, and it will also be helpful for your future job search. In addition, if others learn something from your blog and feel good, they will give you likes, comments and appreciation, which is a positive feedback on your blog and learning, and can also stimulate you to maintain your excitement and passion for learning, hehe.

Set clear learning goals. To do anything, only with a goal can you go further and take fewer detours. It is the same for us to learn Linux. We need to formulate our own learning goals according to our actual situation. Personally, it is recommended that the goal is not too big, the time period is not too long, it should be realistic, such as setting a three-month learning goal. Once you have a goal, you should determine a detailed study plan and refine it into a list of tasks to be completed each week. Note that you need to specify a way to test results for planned tasks, such as writing a blog post or notes, and planning a real landing is the most difficult, because execution is a scarce resource.

Persistence and passion, get positive feedback. Learning is an unhuman thing, and most people will easily give up after they encounter many problems. 1. Reasonable study plan and result output can keep you passionate about learning. Blogging, discussion and communication can also get positive feedback, which motivates you to move on. Persisting in learning can also help you develop good habits and virtually improve your execution. Personally, I think these gains may be far more important than specific technical knowledge.

How to solve the problem. When learning Linux technology, beginners will definitely encounter all kinds of strange problems. When faced with these problems, we should learn to analyze error messages and try to find answers with the technology we have learned. If we can't solve them, we can use search engines. Baidu can generally solve the problems encountered by beginners. If you really can't solve it, you can consult the experts around you, but when you ask a question, you must describe the problem clearly and ask for advice with humility.

The basic knowledge that should be learned

Linux system involves a wide range of technical knowledge points, learners can according to their own actual situation, choose the corresponding topic direction to learn, do not blindly follow the learning route of others, may be counterproductive, the learning effect is half the effort, the loss outweighs the gain, so it is very important to choose a suitable learning route.

Because everyone will be engaged in different work and directions in the future, and the content that needs to be focused on learning is also different, and the goal of this article is only to share some practical experiences to Linux beginners, the following content simply lists some of the most general and practical technologies, which are the technical knowledge points that all students learning Linux technology should know.

Learn vim. Under Linux, there is basically no editor to compete with (no rebuttal is accepted). It only takes you 1-2 days to familiarize yourself with the basic operation of vim, without studying the high-end plug-in skills. You should know that it is difficult to learn vim, but once you use it skillfully, it will be handy and can greatly improve the editing efficiency. Chen Hao's "concise vim training strategy" is recommended here.

Simple file management. These are some very basic operations and file management commands, such as: ls, less, head, tail, du, df, ln and so on, of course, find is a very useful command to find files, the function is very powerful.

Basic network management. The commonly used network management commands must be learned to use, which is very useful for network diagnosis and network configuration when working or studying. Such as ip or ifconfig and other network commands, as well as network diagnostic tools netstat, ping, traceroute and so on.

Learn some shell scripting. We know that one of the features of Linux is the command line. As we said above, the command line means that it can be automated, and then it can be scaled. Shell scripts are the most effective way to automate, because shell programs are best at dealing with the Linux kernel. We can use shell scripts to do a lot of repetitive work to free up our engineers' hands to create more value.

Familiar with homework management. We need to manage applications, start or close programs on the command line terminal frequently. You need to know these concepts, such as processes, process groups, sessions, terminals, learn to use jobs, fg, bg, kill, Ctrl-C, Ctrl-Z, and signal-related operations, you need to know what kill-9 is doing.

Learn the management of using software packages. The most commonly used Linux distributions in China are ubuntu and centos. You need to learn to use apt-get and yum commands to find and install related software packages. Of course, you should also learn to try to install software from source code compilation.

Learn simple data processing. We often need to deal with text information in our work and study. Linux provides a lot of tools in this respect, which can be easily combined to achieve powerful functions. Common commands sort, uniq, cut, split, as well as Linux classic three Musketeers sed, awk, grep, these three tools are ancient artifacts, very powerful, awk has special books to explain it, it can be seen that the powerful and complex functions, we only need to master some commonly used beginners can.

Learn to read documents. Although not specific technical knowledge, but it is very important, beginners in learning the command always want to remember all the parameters and options, in fact, these parameters we do not need to remember (the brain is used to think rather than store), we can view through the Linux manual, usually use man ifconfig will be able to view the official documentation of the command, both accurate and clear. Of course, when you encounter a problem, you can also check the manual to confirm that the command is used correctly.

The technical knowledge involved in the Linux system is very complex, and what is shared above is only some basic knowledge that must be learned. if you can study carefully and master it well, it is basically an entry-level Linux (survival level). If you are in the direction of operation and maintenance, you need at least more in-depth learning: user management, disk management, daily system management, construction of common services, high availability cluster, system monitoring and other operation and maintenance knowledge; if you are in the back-end development direction, you need at least more in-depth knowledge of Linux operating system, processes and threads, inter-process communication, signals, network programming, system calls, Linux kernel, etc. If you are embedded, you need at least an in-depth study of Linux kernel source code and device drivers.

This is the end of "Why learn Linux". Thank you for your reading. If you want to know more about the industry, you can follow the website, the editor will output more high-quality practical articles for you!

Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.

Views: 0

*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.

Share To

Development

Wechat

© 2024 shulou.com SLNews company. All rights reserved.

12
Report