A letter to Linux beginners

Chopin Linux 2021-01-23 01:42:54
letter linux beginners

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


Why study Linux

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 .

Experience and advice

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 VMware or 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 123456 This 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 .

How to learn ?

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 whathowwhy 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 .

The basic knowledge that should be learned

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-2 Days 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 :lslessheadtaildudfln etc. , Of course find Is 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 ip or ifconfig Equal network command , And network diagnostic tools netstatpingtraceroute etc. .
  • 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 jobsfgbgkillCtrl-CCtrl-Z, And the operation of the signal , Need to know kill -9 What are you doing .
  • Learn to use package management . The most commonly used in China Linux The distribution is ubuntucentos, Need to learn to use apt-getyum Command 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 sortuniqcutsplit, also Linux Classic three swordsman sedawkgrep, 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 ifconfig You 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 .

本文为[Chopin Linux]所创,转载请带上原文链接,感谢

  1. 【计算机网络 12(1),尚学堂马士兵Java视频教程
  2. 【程序猿历程,史上最全的Java面试题集锦在这里
  3. 【程序猿历程(1),Javaweb视频教程百度云
  4. Notes on MySQL 45 lectures (1-7)
  5. [computer network 12 (1), Shang Xuetang Ma soldier java video tutorial
  6. The most complete collection of Java interview questions in history is here
  7. [process of program ape (1), JavaWeb video tutorial, baidu cloud
  8. Notes on MySQL 45 lectures (1-7)
  9. 精进 Spring Boot 03:Spring Boot 的配置文件和配置管理,以及用三种方式读取配置文件
  10. Refined spring boot 03: spring boot configuration files and configuration management, and reading configuration files in three ways
  11. 精进 Spring Boot 03:Spring Boot 的配置文件和配置管理,以及用三种方式读取配置文件
  12. Refined spring boot 03: spring boot configuration files and configuration management, and reading configuration files in three ways
  13. 【递归,Java传智播客笔记
  14. [recursion, Java intelligence podcast notes
  15. [adhere to painting for 386 days] the beginning of spring of 24 solar terms
  16. K8S系列第八篇(Service、EndPoints以及高可用kubeadm部署)
  17. K8s Series Part 8 (service, endpoints and high availability kubeadm deployment)
  18. 【重识 HTML (3),350道Java面试真题分享
  19. 【重识 HTML (2),Java并发编程必会的多线程你竟然还不会
  20. 【重识 HTML (1),二本Java小菜鸟4面字节跳动被秒成渣渣
  21. [re recognize HTML (3) and share 350 real Java interview questions
  22. [re recognize HTML (2). Multithreading is a must for Java Concurrent Programming. How dare you not
  23. [re recognize HTML (1), two Java rookies' 4-sided bytes beat and become slag in seconds
  24. 造轮子系列之RPC 1:如何从零开始开发RPC框架
  25. RPC 1: how to develop RPC framework from scratch
  26. 造轮子系列之RPC 1:如何从零开始开发RPC框架
  27. RPC 1: how to develop RPC framework from scratch
  28. 一次性捋清楚吧,对乱糟糟的,Spring事务扩展机制
  29. 一文彻底弄懂如何选择抽象类还是接口,连续四年百度Java岗必问面试题
  30. Redis常用命令
  31. 一双拖鞋引发的血案,狂神说Java系列笔记
  32. 一、mysql基础安装
  33. 一位程序员的独白:尽管我一生坎坷,Java框架面试基础
  34. Clear it all at once. For the messy, spring transaction extension mechanism
  35. A thorough understanding of how to choose abstract classes or interfaces, baidu Java post must ask interview questions for four consecutive years
  36. Redis common commands
  37. A pair of slippers triggered the murder, crazy God said java series notes
  38. 1、 MySQL basic installation
  39. Monologue of a programmer: despite my ups and downs in my life, Java framework is the foundation of interview
  40. 【大厂面试】三面三问Spring循环依赖,请一定要把这篇看完(建议收藏)
  41. 一线互联网企业中,springboot入门项目
  42. 一篇文带你入门SSM框架Spring开发,帮你快速拿Offer
  43. 【面试资料】Java全集、微服务、大数据、数据结构与算法、机器学习知识最全总结,283页pdf
  44. 【leetcode刷题】24.数组中重复的数字——Java版
  45. 【leetcode刷题】23.对称二叉树——Java版
  46. 【leetcode刷题】22.二叉树的中序遍历——Java版
  47. 【leetcode刷题】21.三数之和——Java版
  48. 【leetcode刷题】20.最长回文子串——Java版
  49. 【leetcode刷题】19.回文链表——Java版
  50. 【leetcode刷题】18.反转链表——Java版
  51. 【leetcode刷题】17.相交链表——Java&python版
  52. 【leetcode刷题】16.环形链表——Java版
  53. 【leetcode刷题】15.汉明距离——Java版
  54. 【leetcode刷题】14.找到所有数组中消失的数字——Java版
  55. 【leetcode刷题】13.比特位计数——Java版
  56. oracle控制用户权限命令
  57. 三年Java开发,继阿里,鲁班二期Java架构师
  58. Oracle必须要启动的服务
  59. 万字长文!深入剖析HashMap,Java基础笔试题大全带答案
  60. 一问Kafka就心慌?我却凭着这份,图灵学院vip课程百度云