如何学习linux

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何学习linux相关的知识,希望对你有一定的参考价值。

学习Linux步骤:
1、先了解了解基础吧,找一本薄一点的,浅一点的书,了解一下什么是linux。有个基本了解即可。不建议马上看《鸟哥的Linux私房菜》,这本书很不错,如果你了解linux基础之后再看,对你可以说是不受益匪浅都不行。没基础看《鸟哥的Linux私房菜》比较痛苦,内容很多。
2、了解之后,在自己电脑上弄个虚拟机,装上linux系统(redhat或ubuntu都行)。专攻《鸟哥的Linux私房菜》。当你把这本书攻下来时,才知道原来命令行并不可怕,自己打着打着就很长啦。
学linux最主要靠实践,不实践,只看书对你没好处的哦。自己在虚拟机上慢慢玩吧,玩多了就知道咋回事啦。不懂的多找资料弄懂,弄懂之后再实践,这才会有收获。
参考技术A 对于Linux的学习,想要系统的学习,就需要一套完整的教程,可以是一本权威的书籍,也可以是一套完整的视频教程,只要内容完整,再加上您的激情,相信是很容易学好的!
对于Linux的学习,可以重点学习以下内容:
一、linux基础
Linux基础入门主要包括: Linux硬件基础、Linux发展历史、Linux系统安装、xshell连接、xshell优化、SSH远程连接故障问题排查、L inux基础优化、Linux目录结构知识、Linux文件属性、Linux通配符、正则表达式、Linux系统权限等
二、linux系统管理进阶
linux系统管理进阶包括:Linux定时任务、Linux用户管理、Linux磁盘与文件系统、Linux三剑客之sed命令等。
三、Linux Shell基础
Linux Shell基础包括:Shell编程基础、Linux三剑客之awk命令等。
四、Linux网络基础
五、Linux网络服务
Linux网络服务包括:集群实战架构开始及环境准备、rsync数据同步服务、Linux全网备份项目、nfs网络存储服务精讲、inotify/sersync实时数据同步/nfs存储实时备份项目等。
六、Linux重要网络服务
Linux重要网络服务包括:http协议/www服务基础、nginx web介绍及基础实践、nginx web、lnmp环境部署/数据库异机迁移/共享数据异机迁移到NFS系统、nginx负载均衡、keepalived高可用等。
七、Ansible自动化运维与Zabbix监控
Ansible自动化运维与Zabbix监控包括: SSH服务秘钥认证、ansible批量自动化管理集群、 zabbix监控等。
八、大规模集群高可用服务(Lvs、Keepalived)
九、Java Tomcat服务及防火墙Iptables
十、MySQL DBA高级应用实践
MySQL DBA高级应用实践包括:MySQL数据库入门基础命令、MySQL数据库进阶备份恢复、MySQL数据库深入事务引擎、MySQL数据库优化SQL语句优化、MySQL数据库集群主从复制/读写分离、MySQL数据库高可用/mha/keepalved等。
学完以上内容,基本上可以成为Linux工程师,想要进一步深造,就需要在实践中摸索并提升,一般3至5年才可精通Linux运维,因此,贵在坚持!
参考技术B 1、假如你从来接触过Linux的话,首先要做的就找一本指导书来学习

2、现在公认的Linux的入门书籍是“鸟哥的私房菜”,讲的很全面
鸟哥的私房菜一共分为两部,一部是基础篇,一部是服务器篇

3、“鸟哥的私房菜”讲的很全面,可能会包括一些已经过时的知识点,但是这本书是入门Linux必备

4、学习Linux的时候,或者学习其他网络知识的时候最重要的就是实践操作
所以学习Linux,实践操作是必不可少的

5、首先就是要装一个Linux系统,鸟哥开始几章会讲Linux的由来以及怎样安装Linux的系统

6、安装Linu系统来学习使用Vmware 虚拟机就行了,不用真机装,没必要

7、按照鸟哥私房菜书籍的步骤一步一步照着做,刚开始学习最好让自己的学习环境跟书里的一致,这样可以少很多麻烦,也不至于打击你的学习兴趣

8、装完系统之后就是学习操作了,并且照着书里的操作一步步实践
当然很多时候你会不明白,这个时候你可以百度一下,很多人说goole,但goole已经XXX百度完全解决你初学时时候遇到的问题
9、再然后就是进入某些Linux社区去看看,提问题,或者看看别人所遇到的问题,新手吗?可以去新手频道看看
我推荐的网站是红联社区的新手园地
10、 你看书的时候刚开始是通读,然后是泛读,最后是精读,总之一定要读多几遍

11、等你第一次把书通读一遍之后,可以选择一些视频来看
推荐是韩顺平的Linux 或者上51cto的Linux 频道,里面有很多好的视频,有些要收费,有些不用
一些初级基础视频一般是不收费的,而且讲的也挺好
Linux视频我推荐51cto的马哥Linux,很不错,很受欢迎

12、上面的这些只是入门,如果想继续深入就要选择一个老师专门系统的学习当然不是说找个老师,而是在网上找到一个教程讲解不错的老师,并且有高中低级系统的知识体系
一步步跟着学,这样就差不多了
13、Linux是一个系统,一个平台,平常工作中应用的是工作在这个平台的软件,鸟哥第二部服务器篇就会讲解这些,第二部服务器篇就没那么容易看明白
14、这个时候就可以选择用百度查找官方文档,或是一些高手的经验博文
不断查找问题,解决问题
15、学习Linux的时候不要想一口气把所有全部学完,基础一定要打好
16、基础篇和服务器篇学的差不多的时候,找工作就行了
17、找到工作之后一定要继续学习,因为Linux最注重的是实际工作中的经验
18、要是你进入一个比较好的公司,各种平台环境都有,这个时候你要做的就是静下心来学习,汲取养分,这样以后往更高级走才有本钱!
19、总之刚开始你把鸟哥两部学完就可以找工作了,至于往后的发展就是要你自己努力学习了,然后在通过公司中那些几十万百万设备的环境,丰富自己的知识!
20、Linux 的工资高低,就是你遇到的问题越多,解决的越快,你的工资就高了
参考技术C 学linux开发难吗?是 Linux初学者经常会问的问题,其实Linux和Windows一样都属于操作系统,对于大部分人来说,对Windows操作系统十分熟悉,而对Linux操作系统没有使用过,所以觉得很难,其实,只要熟练掌握其操作命令和一些系统规则,就可以像使用Windows一样可以轻松使用Linux操作系统!
想要学好Linux,需要具备以下能力:
1. 基本功要扎实
学习任何一种语言,必备的基本功是必须要有的,一方面可以提高效率,另一方面可以拓宽思路。
对于Linux基本知识的学习,对一些初学者来说是枯燥乏味的,可以通过理解再背诵的方式先进行代码及语法的学习,然后进行实践操作,必须手动输入命令行,不要借助工具,这样可以更快速有效的掌握Linux。
2. 学以致用
Linux学习的目的是应用,Linux基本知识是一些零散的技术,当没有应用在项目上时,我们无法理解他的真实价值,所以打好基本功之后,最紧迫的是多做几个完整的项目,刚开始可以是功能简单的项目,之后可以选择稍微复杂的项目,勤于动手,敢于实践,一定能学好Linux。
3. 学会使用Linux联机帮助
任何一种教材都不会完全讲述Linux知识,一般讲的都是比较常用的或者是比较有代表性的知识,但是,我们在项目应用中往往有些功能的实现是需要一些生僻知识和技能的,那么,如何查找我们所需的知识呢,推荐查阅Linux帮助文档,主流的Linux都自带详细的帮助文档,很方便解决问题!
4. 在网上找资源
在Linux的学习和应用中,难免会遇到一些没有思路、不知道如何解决的问题,这时就要借助网络力量,可以通过搜索引擎搜索查找,也可以咨询资深技术人员,最终实现问题的解决,这是Linux知识积累的一个重要的途径!
5. 查阅英文技术文档
如果想深入学习Linux,查阅英文技术文档是十分必要的,往往最新的技术都是采用英文文档的方式发布的,而且更全面,因此,对于Linux人员来说,多看一些Linux技术文档,对于掌握前沿技术和加深知识是十分有必要的!
Linux学习是一个需要长期坚持不懈的过程,新的技术不断的产生,要想成为Linux大牛,必须要时刻关注Linux发展动态,掌握最新技术,才能走在行业前列!
参考技术D

推荐几本入门学习Linux的书籍:

一、《快乐的Linux命令行》

这本书介绍如何生存在 Linux 命令行的世界。不像一些书籍仅仅涉及一个程序,比如像shell 程序, bash。这本书将试着向你传授如何与命令行界面友好相处。它是怎样工作的?它能做什么?使用它的最好方法是什么?

正如书中所说的“就像有位老师在你身边,指导你学习”,这本书的特点是语言简洁流畅,即使是英文版,看起来也不费劲(目前已有中文版)。涵盖了大部分命令行工具和Shell编程。最主要的是它基于 CC 协议共享,任何人都可以免费下载。

二、《Linux命令行与shell脚本编程大全》

这是一本非常适合Linux小白的入门教程,内容通俗易懂、深入浅出,除了日常工作中用的基础命令之外,像正则表达式、sed、awk 这样的高级命令也有介绍,书上还配有大量的实例,如果你想精通 shell 编程,那么这本书就是为你准备的。也是有志于从事系统运维开发的朋友必备读品,总之,只要你能跟着这本教程学完,使用 Linux 就轻车熟路了。

三、鸟哥的Linux私房菜 : 基础学习篇

如果你想要学习Linux,强烈建议通过《鸟哥的Linux私房菜》这套书籍去学习,浅显易懂,小编就是通过这套书籍学会Linux的。

四、Linux UNIX系统编程手册 套装上下册

《linux/unix系统编程手册(上、下册)》是介绍linux与unix编程接口的权威著作。linux编程资深专家michael kerrisk在书中详细描述了linux/unix系统编程所涉及的系统调用和库函数,并辅之以全面而清晰的代码示例。

《linux/unix系统编程手册(上、下册)》涵盖了逾500个系统调用及库函数,并给出逾200个程序示例,另含88张表格和115幅示意图。

Linux 内核源码如何学习?



1. 学习主线

linux内核源码大而全,一个人,即使再聪明、再有精力,也不可能完全看完、看懂所有的linux内核源码。

一口君建议按照以下主线进行深入研究:

  • linux驱动架构

  • linux网络子系统

  • linux内核启动过程

  • linux内存管理机制

  • linux调度器

  • linux进程管理

  • linux虚拟机制(kvm)

  • linux内核实时化技术
  • 沿着某一个主线,深入进去,在研究清楚这个主线的同时,向其他的主线扩展、渗透和学习。

    此处之所以将驱动列为学习内核的入口,是因为内核为很多外设驱动实现了架构,比如I2C、SPI、UART、PCIE、字符设备、网络设备、块设备,我们可以从最基本的字符设备学起,学习如何编写一个简单的模块学习如何如何为一些简单的设备比如LED、KEY、ADC等编写驱动可以说驱动是我们学习内核最简单的入口,

    由点到线、由线到面、由面到体,层层深入、不断精进,是学习linux内核源码的一个有效的方法。

    2. 代码阅读工具

    对于代码阅读方法从两个角度来介绍,一个方面是需要选择一个比较有效阅读代码的工具。

    一口君强烈推荐:source insight这款阅读代码神器!

    也可以使用vscode或者vim+ctags的组合。

    不过一口君十几年的从业经验,

    99%以上的开发人员都选择SI阅读内核代码。

    代码并不是写给人看的,而是交给机器运行的。

    所以我们去理解别人的代码时,并不能像看小说一样去通篇的阅读代码,而应该是像研究化石一样去调查它,解密它。

    有时我们往往也需要把对方的一段代码亲手的实现一遍,然后自己举一反三看自己会怎么去实现它,才能真正的理解。

    3. 学习的内核版本

    有些人推荐先阅读一些低版本的内核,比如0.01版的,总代码量才1万行左右。

    阅读这个代码大概一个月应该能比较清晰了。

    但是,改代码与现在的代码差异巨大,阅读后可以理解基本思想,但对理解现有代码的帮助不是特别明显。

    3.10版本之后的内核都支持设备树!

    所以一口君建议是尽量选择3.10版本之后的代码阅读学习。

    4. 学习Linux最重要的是培养自己写代码的能力和对Linux框架结构的了解

    Linux内核中绝大部分代码都是由这个地球上顶尖的技术大牛所编写,

    这些代码的高内聚低耦合,

    其精准度,简洁度、质量都相当的高,

    每每看到一段高质量的代码,

    一口君都会被那一行行枯燥的代码背后隐藏的设计思想所震撼,所折服!

    阅读内核的代码简直就是在欣赏艺术品!

    很多粉丝问我如何提高自己的C语言编程水平,一口君不厌其烦的 重复着同样一句话:看Linux内核!

    代码中自由颜如玉!代码中自有黄金屋!

    时刻保持激情,任性和耐性!

    从量变到质变!

    水滴石穿!

    愿各位都能够熟练掌握Linux

    - EOF -

    推荐阅读  点击标题可跳转

    1、这篇 Linux 总结的很棒啊!

    2、深入理解 Linux 内核之内存寻址

    3、一个内核网络漏洞详解:容器逃逸


    关注『CPP开发者』

    看精选C/C++技术文章 

    点赞和在看就是最大的支持❤️

    以上是关于如何学习linux的主要内容,如果未能解决你的问题,请参考以下文章

    Linux课程可以零基础学习吗?该如何学习?

    如何零基础开始学习Linux运维?如何自学Linux?

    Linux该如何学习新手入门遇到问题又该如何解决

    如何学习linux?

    如何学习Linux

    浅谈如何学习linux