Hello everyone , I am a Chopin .
This article is written for Linux For beginners , I'm going to share some things I should know as a beginner , These contents are all my work Linux Experience of many years of development work , I believe it will be helpful for beginners . If you are Linux veteran , Maybe you don't need to look down
As engaged in IT Working classmates , Yes Linux The system must be familiar . Now we can see it in all kinds of fields , such as , mobile phone 、 The server 、 The embedded 、 Telecommunications equipment 、 Mainframe , And all kinds of electronic products are inseparable from Linux, It has penetrated into all aspects of the Internet world .
Including those hot technologies , For example, cloud computing 、 virtualization 、 Containers 、 big data 、 Artificial intelligence , Almost all based on Linux technology , Those platform systems , Online retailers 、 Group purchase 、 social contact 、 Journalism 、 Courier , It's all deployed on the server side , It's almost all based on Linux technology .
In the world of programming ,Linux It's the mainstream , Can't Linux You might be out of place . If you want to get into a big company , Want to learn new technology ,Linux It must be a chopper that can't get around , Only by entering Linux The door to the system , You can become a qualified software engineer .
Most enterprise server environments are Linux System , So whether you're in the front end 、 Back end 、 Operation and maintenance 、 What kind of work in testing ,Linux It's all basic knowledge that you have to master , It's just that different types of work need to learn Linux It's just in different directions .
What I share below is that I am engaged in Linux Some experience of development for many years , Believe in Linux Beginners can help , Of course, if there are inaccuracies , Also please correct me .
- Make sure you build it yourself Linux Environmental Science .Linux Systematic learning is very practical , Only learning theoretical knowledge can't really master Linux Of . I recommend installing virtual machines on personal computers , Virtual machines are very flexible , Both can be provided Linux Environmental Science , It will not affect the normal use of the host . about The choice of virtual machine software , Consider using
VirtualBox. The virtual machine snapshot Function must be used well , Especially for beginners , It can restore the environment you accidentally damaged to the initial state , It's like re installing the operating system , From then on, mom didn't have to worry about me any more
rm -rf /*了 .
- Linux Choice of distribution . because Linux A powerful , There are too many releases out there right now , Some students may have some tangles in their choices . Here I recommend choosing to use CentOS Just go , Because it's free and stable , The most used server in domestic enterprises is CentOS 了 , Use and RedHat There's almost no difference . Of course you can choose Ubuntu System , The share of domestic servers is second only to CentOS. In fact, all distributions are based on Linux Kernel , It just extends the related system components and software library , It's all... In essence Linux System , Learned to CentOS After that, it's easy to use other versions of the system , So there's no need to pay too much attention to this issue .
- Be sure to use the command line . Most beginners often like to install graphical desktop , Because we used to win or mac Graphic operation of . But I strongly recommend , Do not install the desktop when installing the system , I always use the command line in my daily operation and study . It may be painful in the early stage of study , But through the throes , After using it skillfully , You can enjoy the power of the command line . The command line is not only powerful , And it can greatly improve efficiency , Because the command line means automation , Automation can release a lot of repetitive work for you , Let you have enough time to learn more valuable knowledge . in addition , The graphical interface is in linux The system exists as an independent software , Will consume additional server resources , Enterprise servers will not install graphics , So you have to be in Linux In the world forget windows Way of thinking .
- Linux It's open source. . Open source means you can view it Linux Source code , We can understand the principle of system implementation from the code level , These can help you get everything 、 The effect of enlightening others , Instead of simply using it .
- Develop a good habit of being safe and rigorous . For beginners , Although most of the time it's operating on a virtual machine , Blessing with snapshot , We can carry out all kinds of experimental operations without scruple . But I still strongly suggest that beginners must develop good operating habits ：1. Back up important data frequently ;2. To use less root Users perform various operations ;3. It's not as fast as you can ;4. The server password should be as complex as possible , Do not use
123456This kind of weak cipher , The server is likely to be hacked into as a broiler ;5. Do not simply record the server password on the document or U On mobile devices like disks ;6. The production environment must have Fear .
Efficient learning methods often help you get twice the result with half the effort , Here are some of my learning experiences and methods , Hopefully that helped .
- We must practice more .Linux It's a very practical subject , Beginners need to type more orders , Practice and practice more . It's the same as learning other things , Most of the time, we don't have to have a thorough understanding of theoretical knowledge before we can put it into practice , It's about finding problems in practice and then learning in depth , It might be better .
- Effective ways of learning . When it comes to learning styles , Everyone may learn in a different way . I recommend video + Reading a book The way , Video tutorials can give you a quick start , Quickly understand the relevant concepts , And reading can be more comprehensive learning of specific details , It'll give you more thought , Reading can be used as a supplement and extension of video .
- reflection , Summary and induction . No matter what form you learn , We all need to think about every problem and concept in our study , Need from what、how、why Learning from three perspectives , As a problem template for learning . Learn any new technology , We all need to know the technical knowledge Application scenarios , And being able to What problem to solve , Is there a similar Solution , What's the point of this technology advantage .
- Output is an efficient way to learn . In the learning process , An indispensable link is induction and summary , Summary is output , It can be notes in the form of documents or something . I recommend Blogging , If you have conditions, you must write , Because blogging can help you more effectively 、 More systematic summary and learning . Blogging is a kind of teach In the form of , If you can make your knowledge clear on the blog , Teach others , That means you really have it . If you write a good blog, you can do it for yourself Accumulate influence , It's also helpful for your future job search . In addition, if others learn something from your blog and feel good about it , I'll give you some praise 、 Leaving a message. 、 appreciate , It's all about blogging and learning The positive feedback , At the same time, it can stimulate you to keep learning excited and passionate , ha-ha .
- Set clear learning goals . Do anything , Only with goals can we go further , Little detours . We learn Linux It's the same thing , Need to be based on their own actual situation , Set your own learning goals . I suggest that the goal should not be too big , The time period should not be too long , Be realistic , Like making Three months Learning objectives of . When you have a goal , We need to make a detailed study plan , Go down to the list of tasks you need to complete each week . Be careful , You need to specify how to verify the results for the planned task , Like writing a blog post or taking notes , The most difficult thing is that the plan is actually implemented , because Executive force It's a scarce resource .
- Persistence and passion , Get positive feedback . Learning is against humanity , It's easy for most people to give up after a lot of problems .1. Reasonable learning plan and result output , Can let you continue to keep learning passion ;2. Blogging 、 Discussion and communication can also get positive feedback , And that motivates you to move on ;3. Persistent study can also help you form good habits , Invisible to improve their execution , I think these gains may be far more important than specific technical knowledge .
- How to solve the problem . I'm learning Linux When it comes to technology , Beginners are bound to encounter all kinds of strange The problem of , In the face of these problems , We need to learn to analyze error messages , Try to think about the technology you've learned so far and find the answer , If it doesn't work out , You can use search engines , For beginners, problems , Baidu can generally solve . If it can't be solved , You can consult the experts around you , But when you ask questions , Be sure to describe the problem clearly , With a modest attitude of asking for advice .
Linux The system involves a wide range of technical knowledge points , Learners can learn according to their own actual situation , Choose the appropriate topic direction for learning , Don't blindly follow the learning route of others , It could backfire , The effect of learning is getting twice the result with half the effort , Do more harm than good , So it's very important to choose a suitable learning route .
Because everyone's future work and direction are different , The contents that need to be focused on are also different , And the goal of this article is to share it with Linux Some practical experience for beginners , Therefore, the following contents simply list some of the most common and practical technologies , These are learning Linux Technical knowledge that all students of technology should know .
- Study vim. stay Linux Under the system , There's basically no editor to compete with （ Do not accept rebuttal ）, You just need to spend
1-2Days to get familiar with vim The basic use of operation can be , There is no need to study the use skills of various plug-ins on those tall computers . Need to know vim It's difficult to learn English , But once you're good at it , It will be handy , It can greatly improve editing efficiency . Here is Chen Hao's 《 concise vim Training strategy 》.
- Simple file management . These are some very basic operations and file management commands , Such as ：
lnetc. , Of course
findIs a very useful command to find files , Very powerful .
- Basic network management . Common network management commands , Be sure to learn how to use , This is very useful for network diagnosis and network configuration when working or studying . such as
ifconfigEqual network command , And network diagnostic tools
- Learn something shell scripting . We know Linux One of the features is the command line , We said above , The command line means automation , After automation, it can be scaled up .shell Scripting is the most effective way for us to automate , because shell Programs are best at working with Linux The kernel deals with . We can use shell Scripts help us do a lot of repetitive work , To release the hands of our engineers to create greater value .
- Familiar with homework management . We need to manage applications on command line terminals often , Start or close the program . You need to know these concepts , Such as ： process 、 Process group 、 conversation 、 terminal , Learn how to use
Ctrl-Z, And the operation of the signal , Need to know
kill -9What are you doing .
- Learn to use package management . The most commonly used in China Linux The distribution is
centos, Need to learn to use
yumCommand to find and install related packages , Of course, we 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 There are a lot of tools available in this area , It's very convenient to realize powerful functions together . Common orders
split, also Linux Classic three swordsman
grep, These three tools are ancient artifacts , Very powerful ,awk There are special books to explain it , We can see the power and complexity of the function , We beginners only need to master some common functions .
- Learn to read the documents . Although it's not specific technical knowledge , But it's very important , Beginners always want to remember all the parameters and options when learning commands , In fact, we don't need to remember these parameters （ The brain is used to think, not to store ）, We can go through Linux Manual to see , Usually use
man ifconfigYou can view the official documentation of the command , It's accurate and clear . Of course, when it comes to problems , You can also check the manual to see if the command is used correctly .
Linux The technical knowledge involved in the system is very complex , What I share above is just some basic knowledge that I must learn , If you can study hard and master it well , It's basically an introduction Linux（ The level of survival ）. If you are Operation and maintenance direction , At least we need to learn more ： User management 、 Disk management 、 Daily management of the system 、 The construction of common services 、 High availability cluster 、 System monitoring and other operation and maintenance knowledge ; If you are Background development direction , At least we need to learn more Linux operating system 、 Processes and threads 、 Interprocess communication 、 The signal 、 Network programming 、 system call 、Linux Kernel and other knowledge ; If you are Embedded direction , You need to at least delve into Linux Kernel source code 、 The device driver is running .
This is the end of the article , It will be updated later Linux Series articles , The content and style of the article will be as easy to understand as possible 、 Emphasis on practice and practicality , Help students in need as much as possible , If you're interested , You can continue to focus on the follow-up Linux Series articles .
Thank you. , I am a Chopin , Welcome to follow-up wonderful sharing .