零基础怎么学linux?

这是一个非常好的问题,作为一名IT从业者,同时也是一名教育工作者,我来一下。

首先,当前学习Linux操作系统是不错的选择,一方面Linux操作系统的应用范围比较广泛,尤其在大数据、物联网和人工智能领域有大量的应用场景,另一方面Linux操作系统是开源的,可以通过阅读其核心源代码来深入了解操作系统的体系结构和资源管理方式。在当前的大数据、人工智能时代背景下,不仅IT(互联网)行业的职场人应该学习Linux操作系统,传统行业的职场人学习Linux操作系统也会带来一定的积极意义。

学习Linux操作系统通常要经历三个阶段,每个学习阶段有不同的学习方式和学习目标。学习Linux的第一个阶段是熟悉Linux操作系统的应用,掌握Linux操作系统的安装和运行方式,这个阶段的学习难度是相对比较低的,也完全可以通过自学来掌握Linux操作系统的基础应用。

学习Linux操作系统的第二个阶段是基于Linux操作系统来完成一些行业应用,比如云计算就是一个不错的选择,其中通过Linux来完成一些虚拟化操作也会为理解云计算奠定一个扎实的基础,而在这个过程中,会系统了解Linux操作系统的资源管理方式。Linux在云计算领域的应用是非常普遍的,而且很多学习Linux操作系统的初学者未来也可以从事云计算运维类岗位。

学习Linux操作系统的第三个阶段是基于Linux操作系统进行一些程序设计,这个阶段要了解Linux操作系统的资源管理方式和程序调度方式,要学习一系列Linux的API,这个过程可以看成是深入学习Linux操作系统的重要阶段。

我从事互联网行业多年,目前也在带计算机专业的研究生,主要的研究方向集中在大数据和人工智能领域,我会陆续写一些关于互联网技术方面的文章,感兴趣的朋友可以关注我,相信一定会有所收获。

如果有互联网、大数据、人工智能等方面的问题,或者是考研方面的问题,都可以在评论区留言,或者私信我!

作为一名新手,到底该如何进入linux服务器编程的世界?

Linux入门其实是很简单的,问题是你是否能有足够的耐心,花相应的时间和精力来折腾,是否不排斥重装系统这种枯燥且万能的学习手段。如果不愿意折腾可以说是学不好Linux的,要真正了解Linux的分区机制,对LVM使用相当熟练,没有个20次以上的Linux装机经验是积累不起来的,所以一定不要怕折腾。

学习大多类似庖丁解牛,对事物的认识一般都是由浅入深、由表及里的过程,循序才能渐进。学习 Linux 同样要有一定的顺序和方法。如果你是初学者,那么建议按照本教程的顺序阅读,不要跳跃,欲速则不达,揠苗也不见得能助长。

linux入门其实并不是很难,我之前学习的时候大概整理了几类的资源,正好分享给大家:

第一:业内公认的Linux优质教程

Linux 教程 | 菜鸟教程

菜鸟教程提供了大量的在线实例,通过实例可以更好的入门以及学习Linux,所有的资源是安全免费的;

  • Linux教程_w3cschool

在这个教程站上你可以找到你所需要的所有的网站建设教程。从基础的 HTML 到 CSS,乃至进阶的XML、SQL、JS、PHP 和 http://ASP.NET;

  • Linux命令大全(手册) – 真正好用的Linux命令在线查询网站

准确,丰富,稳定;

  • Linux命令大全(手册)_Linux常用命令行实例详解_Linux命令学习手册

第二:专业的linux技术书籍

  • 鸟哥的Linux私房菜 : 基础学习篇
  • Linux多线程服务端编程 : 使用muduo C++网络库
  • 深入Linux内核架构 : 全球开源社区集体智慧结晶,领略Linux内核的绝美风光
  • Linux内核设计与实现(原书第3版)
  • 鸟哥的Linux私房菜

第四:Linux技术工具

  • Docker

Docker在一定程度上是LXC的增强版,早期的Docker使用LXC作为容器引擎,目前docker使用的容器引擎为runC,其是容器运行时标准的实现之一;

  • Kubernetes

Kubernetes(k8s)是自动化容器操作的开源平台,这些操作包括部署,调度和节点集群间扩展。如果你曾经用过Docker容器技术部署容器,那么可以将Docker看成Kubernetes内部使用的低级别组件。Kubernetes不仅仅支持Docker,还支持Rocket,这是另一种容器技术;

  • Zabbix

监控一切需要监控的东西,只要能够想到,能够用命令实现的都能用来监控;

  • Nginx

Nginx 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务;

  • istio

”连接、安全加固、控制和观察服务的开放平台“。开放平台就是指它本身是开源的,服务对应的是微服务,也可以粗略地理解为单个应用;

  • Jenkins

Jenkins是开源CI&CD软件领导者, 提供超过1000个插件来支持构建、部署、自动化, 满足任何项目的需要;

  • apche

Apache源于NCSAhttpd服务器,经过多次修改,成为世界上最流行的web服务器软件之一。Apache的特点是简单、速度快、性能稳定,并可做代理服务器来使用;

第五:成为一名合格的Linux运维工程师必备的技术点

  • 掌握 Iptables 防火墙体系,实现防火墙实现数据包过滤和转发;
  • 掌握用户权限安全控制 Sudo 体系与配置;
  • 掌握 DNS 服务的原理、部署、安装和企业级应用;
  • 实现文件共享服务 NFS、Vsftpd、Samba 配置和应用;
  • 实现 Jumpserver 堡垒机 安装、配置、使用和运维体系融合;
  • brctl 命令创建管理虚拟网桥;Ip Netns 创建管理虚拟路由;
  • 常见的网络客户端工具 Ping/Lftp/Ftp/Lftpget/Wget;
  • 利用 Rsync 和 Inotify 实现多台机器数据分发和配置同步;
  • Jumpserver 跳板机基本功能应用,认证、授权、审计;
  • https 概念及对应的模块 mod_ssl 应用配置;
  • 运维必备 Web 服务开源解决⽅案 Nginx,全面讲解 Nginx 程序架构;
  • Nginx 内部框架、模块功能、事务处理机制、安装⽅法、CPU 亲缘优化、配置⽂件;
  • SQL 语句增删改查、常⽤命令使⽤、⽤户授权、字符集修改、表、索引、库管理等;
  • 对⽐介绍图形化管理软件,如 PhpMyAdmin、SQLyog、Navicat 等
  • Keepalived 工作方式,Keepalived 核心组件、报警机制、切换机制、心跳信息传输等;
  • Centos7 上实现 LVS 集群配置、服务管理、调度算法修改;
  • 全面熟悉 Ansible 用法、以及安装方法、配置文件详解、模块说明、基于私钥认证、批量操 作等;
  • Redis 扩展方式对比介绍,Redis Cluster 的基础应用;
  • Vmware Esxi 创建 Linux 及 Windows 虚拟机,并实现虚拟机跨宿主机迁移;
  • Docker 镜像、仓库管理、启动⽅法、数据卷使⽤、备份恢复,网络模型、容器间依赖关系、容器资源限制、Docker 的监控;

我的答案是看你的需求了。

如果你只是用来上网聊天、家用、办公,基本不需要你怎么规划去学习。你会玩手机,会使用win系统,就会使用linux操作系统。很少人会说,我要学习下安卓或苹果手机如何使用。除去一些老年人,真的没人专门去学一下,老年人也只是学会几个app而已,对他们来说就足够用了。linux也是如此,只要满足你的日常需求,你已经会linux了。

另一个,如果你想深入学习它,甚至用它带来一些电脑、编程、工作上的便利,更甚至想为这份开源系统做贡献。那我只有一条忠告,抛弃windows下形成的鼠标依赖,热爱并坚持使用它的命令行。相信我,坚持一个半月后,你会欣喜若狂,你打开了一个新世界的大门。

当然,第一步先试用一个linux的虚拟机是个不错的选择,ubuntu也是你上手的首选。

学Linux多敲命令行,有不会问百度,谷歌。

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注