学习方式:

  1. 认识Linux
  2. 基本的命令(文件操作、目录管理、文件属性、Vim编辑器、账号 管理、磁盘管理,)
  3. 软件的安装和部署!


为什么要学习Linux ?

linux诞生了这么多年,以前还喊着如何能取代windows系统,现在这个口号已经小多了,任何事物发展 都有其局限性都有其天花板。就如同在国内再搞一个社交软件取代腾讯一样,想想而已基本不可能,因 为用户已经习惯于使用微信交流,不是说技术上实现不了解而是老百姓已经习惯了,想让他们不用,即 使他们自己不用亲戚朋友还是要用,没有办法的事情。

用习惯了windows操作系统,再让大家切换到别的操作系统基本上是不可能的事情,改变一个人已经养 成的习惯太难。没有办法深入到普通老百姓的生活中,并不意味着linux就没有用武之地了。在服务器 端,在开发领域linux倒是越来越受欢迎,很多程序员都觉得不懂点linux都觉得不好意思,linux在开源 社区的地位依然岿然不动。

尤其是作为一个运维技术人员,是必须要掌握Linux的,因为这都成为了你找工作的基础门槛了,所以不得 不学习!

Linux 简介

Linux 内核最初只是由芬兰人林纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而 编写的。

Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX(可移植操作系统接口) 和 UNIX 的多用户、多任务、支持多线程和多 CPU 的操作系统。

Linux 能运行主要的 UNIX 工具软件、应用程序和网络协议。它支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

Linxu 发行版

Linux 的发行版说简单点就是将 Linux 内核与应用软件做一个打包。

Kali linux:安全渗透测试使用!(有兴趣做安全的可以了解一下!)

目前市面上较知名的发行版有:Ubuntu、RedHat、CentOS、Debian、Fedora、SuSE、OpenSUSE、 Arch Linux、SolusOS 等。

社会的生存法则;优胜劣汰!

Linux 入门须知

Linxu 内核

网址:https://www.kernel.org/
Linux 入门须知

Linux 的应用领域

今天各种场合都有使用各种 Linux 发行版,从嵌入式设备到超级计算机,并且在服务器领域确定了地 位,通常服务器使用 LAMP(Linux + Apache + MySQL + PHP)或 LNMP(Linux + Nginx+ MySQL + PHP)组合。

目前 Linux 不仅在家庭与企业中使用,并且在政府中也很受欢迎。

  • 巴西联邦政府由于支持 Linux 而世界闻名。
  • 有新闻报道俄罗斯军队自己制造的 Linux 发布版的,做为 G.H.ost 项目已经取得成果。
  • 印度的 Kerala 联邦计划在向全联邦的高中推广使用 Linux。
  • 中华人民共和国为取得技术独立,在龙芯处理器中排他性地使用 Linux。
  • 在西班牙的一些地区开发了自己的 Linux 发布版,并且在政府与教育领域广泛使用,如 Extremadura 地区的 gnuLinEx 和 Andalusia 地区的 Guadalinex。
  • 葡萄牙同样使用自己的 Linux 发布版 Caixa Mágica,用于 Magalh?es 笔记本电脑和 e-escola 政府 软件。
  • 法国和德国同样开始逐步采用 Linux。

Linux vs Windows


一、就操作系统设计的复杂度上,windows要超过Linux

如果windows抛弃人机操作的窗口界面,其性能并不比linux差;

编写Web浏览器的难度要远大于编写Web服务器的难度;

二、为何大公司喜欢用linux

1、免费且开源,相对于免费,开源更加重要;

2、开源意味着更安全;

3、开源意味着可优化;

因为开源所以透明,因为透明,所以安全,但安全是相对的。

所谓的安全是针对大公司,是针对那些真正懂linux内核的人。他们可以自己定制化linux,比如加入自己特性化的功能,修改潜在的漏洞,或者他们认为需要完善的地方,甚至可以调优linux来解决自身业务的瓶颈。

透明是把双刃剑,对那些只会linux命令的人,开源并不意味着安全,因为你根本搞不清楚自己使用的机器是否被控制, 如果别人给你一个内核中藏有木马的linux,那么恭喜你,你可能永远都会沉浸在自己幻想的所谓安全中。

换句话说,如果windows开源了,那么windows对大公司是安全的,他们可以一窥windows内核,并对其增删改,去掉 所有图形化元素,将动态加载驱动改为内核态加载,优化IOCP并将其发挥到极致,我相信windows也会变成安全、稳定、 可靠、优秀的服务器,而且会比linux还要优秀。

但对于绝大部分在windows下做开发的程序员来说,windows开不开源其实跟你没有半毛钱关系,除非你有能力将windows 上千万行的代码耐心看一遍,前提是你要能看懂。首先,你要把汇编语言再学习一遍,把操作系统的书多看几遍,把编译原理的书也多看几遍,否则这些代码在你面前和天书没本质区别;其次你要有足够的时间和足够耐心;最后,你要真能识别出风险,毕竟windows是最成熟的商业操作系统,如果你认为自己的智商能够超越微软那些顶级架构师几十年的精心设计和打磨,那你还改啥操作系统啊,直接进中科院吧。

记住:对别人的安全并不意味着对你安全!

开发后台程序和懂服务器、懂操作系统,完全是两个概念,这两者的差别就像狗和热狗的差别一样。 在linux上开发java后台应用服务,并不意味着这个程序员有多了解linux,后台程序跑在Apache、Tomcat、Nginx这些 真正的服务器上,这些服务器在帮你的程序优雅的处理高并发、高吞吐量和低延迟,而这些服务器必须要充分利用 linux内核的性能,这就意味你要真正理解什么是多线程,什么是线程池,select、poll和epoll的区别;

三、在网络方面,windows的IOCP模型要优于linux的epoll模型

1、IOCP真正发挥了多核CPU的性能,让IO操作均衡的负载在不同CPU线程上,epoll很可能会让有的线程累死,有的饿死;

2、IOCP是Proactor异步IO,epoll是reactor同步IO;

打个不恰当的比方,IOCP属于导弹发射后不管,最后通知你击中目标;epoll属于发射后需要分阶段导航。有人说epoll给了程序员更高的自由度处理来自内核的IO数据,毕竟可以手把手的制导导弹,很有成就感,但那是针对高水品程序员,如果你的水平一般的话,那结果可能是灾难性的。很有可能你会亲手把发射的导弹送出地球,或者引发另一场战争。实际上IOCP在业务处理上的难度要大于EPOLL,因为异步IO的原因,你的上层完整的业务已被碎片化了。

3、windows比linux在服务器性能上的慢,并不代表IOCP比Epoll差,这是windows定位的问题,如果你要让用户易用,那就要在某些方面做些牺牲。

VMwaer 安装CentOS 7

环境搭建

Linux 的安装,安装步骤比较繁琐(操作系统本身也是一个软件),现在其实云服务器挺普遍的,价格 也便宜,如果直接不想搭建,也可以直接买一台学习用用!

安装CentOS

在本地安装,这个不太建议,可以考虑在本地搭建,但本地搭建会占用大量的本机资源!

Linux是一个操作系统,你也可以把自己电脑安装成双系统! 虚拟机(VMware下载(收费的,***!)

官网下载:VMwaer

在虚拟机上安装CentOS7

可以通过镜像进行安装! 下载地址:http://mirrors.aliyun.com/centos/7/isos/x86_64/,下载完成 后安装即可!安装操作系统和安装软件是一样的,注意:Linux磁盘分区的时候需要注意分区名即可! /boot /home

购买云服务器

购买云服务器(有经济来源的话,可以购买阿里云服务器,因为这才是最近接公司中原生环境 的!)

云服务器就是一个远程电脑,服务器一般不会关机! 虚拟机安装后占用空间,也会有些卡顿,我们作为程序员其实可以选择购买一台自己的服务器,这样的 话更加接近真实线上工作;

  1. 阿里云购买服务器:https://www.aliyun.com/minisite/goods?userCode=0phtycgr
  2. 购买完毕后,获取服务器的ip地址,重置服务器密码,就可以远程登录了
  • 获取公网IP地址!
  • 修改自己的登录密码
  • 关于安全组的说明: (在阿里云这个很重要,自己需要开放什么端口来这里配置就好啦)
  1. 下载 xShell 远程连接工具22,进行远程连接使用!还需要下载一个 xFtp 文 件上传21!
  2. 使用Xshell连接远程服务器!~

登录用户名和密码之后,登录成功就是如下界面:
在这里插入图片描述

Linux 入门须知

  • 这里就是我们的Linux操作系统了!以后的操作都在这里操作,项目也在这里进行发布!
  • Ctrl + 鼠标滚轮,放大和缩小字体!
  • 上传文件使用xftp即可!
    Linux 入门须知
    Linux 入门须知

注意事项:

如果要打开端口,需要在阿里云的安全组面板中开启对应的出入规则,不然的话会被阿里拦截!

如果前期不好操作,可以推荐安装宝塔面板,傻瓜式管理服务器

网址:https://www.bt.cn/

  1. 开启对应的端口
  2. 一键安装
  3. 安装完毕后会得到远程面板的地址,账号,密码,就可以登录了
  4. 登录之后就可以可视化的安装环境和部署网站!

关于域名

如果自己的网站想要上线,就一定要购买一个域名然后进行备案;

备案的话需要一些认证和时间,备完完毕后,就可以解析到自己的网站了,这个时候就可以使用域名来 进行服务器的访问!

相关文章: