目录
一、什么是Linux
1.1前端VS后端
1.2企业为何选择使用Linux作为后台服务器
1.3国内企业后台和用户使用Linux现状
1.4就个人找工作/能力提升来说,该如何看待Linux
1.5求职相关
1.6Linux好玩的指令
1.7Linux基本代码编写
1.8内存/CPU/硬盘/外设等硬件,操作系统,程序的关系
二、Linux的背景介绍
2.1UNIX发展的历史
2.2Linux发展历史
2.3开源
2.4企业应用现状
2.5发行版本
三、搭建 Linux 环境
3.1Linux 环境的搭建方式
3.2安装Linux常见问题
3.3Linux内核版本与源码下载
3.4购买云服务器
3.5登录云服务器-使用 XShell 远程登陆到 Linux
3.5.1关于 Linux 桌面
3.5.2下载安装 XShell
3.5.3查看 Linux 主机 ip
3.5.4使用 XShell 登陆主机
3.5.5XShell 下的复制粘贴
一、什么是Linux
1.1前端VS后端
1.2企业为何选择使用Linux作为后台服务器
1.Linux:免费,开源,稳定高效
2.开源会让系统更安全
3.阿里云,腾讯云,亚马逊aws业务,说白了就是给企业提供Linux后台云服务的。(一般中小型公司不会自建机房,成本太高。所以大公司会给中小型公司提供“云服务”)
1.3国内企业后台和用户使用Linux现状
1. IT服务器Linux系统应用领域
Linux作为企业级服务器的应用十分广泛,利用Linux系统可以为企业构架WWW服务器、数据库服务器、负载均衡服务器、邮件服务器、DNS服务器、代理服务器(透明网关)、路由器等,不但使企业降低了运营成本,同时还获得了Linux系统带来的高稳定性和高可靠性。
随着Linux在服务器领域的广泛应用,从近几年的发展来看,该系统已经渗透到了电信、金融、政府、教育、银行、石油等各个行业,同时各大硬件厂商也相继支持Linux操作系统。这一切都在表明,Linux在服务器市场的前景是光明的。同时,大型、超大型互联网企业(百度、新浪、淘宝等)都在使用Linux系统作为其服务器端的程序运行平台,全球及国内排名前十的网站使用的几乎都是Linux系统,Linux已经逐步渗透到各个领域的企业里。
2. 嵌入式Linux系统应用领域
由于Linux系统开放源代码,功能强大、可靠、稳定性强、灵活,而且具有极大的伸缩性,再加上它广泛支持大量的微处理器体系结构、硬件设备、图形支持和通信协议,因此,在嵌入式应用的领域里,从因特网设备(路由器、交换机、防火墙、负载均衡器等)到专用的控制系统(自动售货机、手机、PDA、各种家用电器等),Linux操作系统都有很广阔的应用市场。特别是经过这几年的发展,它已经成功地跻身于主流嵌入式开发平台。例如,在智能手机领域,Android Linux已经在智能手机开发平台牢牢地占据了一席之地。
3. 个人桌面应用领域
所谓个人桌面系统,其实就是我们在办公室使用的个人计算机系统或者我们平时使用的各种入网设备,如笔记本,手机之类。目前在传统个人电脑领域,windows依旧是霸主。但是在其他智能设备领域,如:手机,平板电脑,智能电视,基于Linux内核的Android 已经被广泛应用后期随着物联网,自动驾驶时代的到来,Linux因为其免费开源,高效稳定的特征,Linux会慢慢渗透到各个领域。
1.4就个人找工作/能力提升来说,该如何看待Linux
Linux是一堆能力的集合,主要包括,日常使用,操作系统,计算机网络,部分组成原理,C语言,系统编程,网络编程,自动化脚本,问题解决与定位,资料查找。基于上面的诸多基础能力,会生长出很多不同的初步方向,架设服务,数据库管理,运维,后台业务开发,后台游戏开发,数据分析等。所以,Linux无论就业还是晋升都是 “技术职业人” 的底层核心能力之一
1.5求职相关
1.6Linux好玩的指令
[whb@VM-0-3-centos 4_lesson]$ sudo yum install -y sl #安装 [sudo] password for whb: #输入你的密码,这里是不会显示的 [whb@VM-0-3-centos 4_lesson]$ sl #运行起来
[whb@VM-0-3-centos 4_lesson]$ sudo yum install -y cowsay #安装 [sudo] password for whb: #输入你的密码,这里是不会显示的 [whb@VM-0-3-centos 4_lesson]$ cowsay hello linux
[whb@VM-0-3-centos 4_lesson]$ sudo yum install -y boxes [sudo] password for whb: #输入你的密码,这里是不会显示的 [whb@VM-0-3-centos 4_lesson]$ echo "cat" | boxes -d cat #试试dog?
[whb@VM-0-3-centos 4_lesson]$ curl http://wttr.in #黑屏显示天气,不过不好看~~
[whb@VM-0-3-centos 4_lesson]$ sudo yum -y install linux_logo [sudo] password for whb: #输入你的密码,这里是不会显示的 [whb@VM-0-3-centos 4_lesson]$ linux_logo
[whb@VM-0-3-centos 4_lesson]$ sudo yum install -y elinks [sudo] password for whb: #输入你的密码,这里是不会显示的 [whb@VM-0-3-centos 4_lesson]$ elinks www.baidu.com
1.7Linux基本代码编写
#nano/gcc hello Linux!
[whb@VM-0-3-centos 4_lesson]$ touch code.c
[whb@VM-0-3-centos 4_lesson]$ nano code.c #nano 是一个Linux下很简单的文本编辑器,前期可以先用着,后
期我会专门来讲另一个工具vim
[whb@VM-0-3-centos 4_lesson]$ cat code.c
#include <stdio.h>
int main()
{
printf("你好,Linux!\n");
return 0;
}
[whb@VM-0-3-centos 4_lesson]$ gcc code.c -o code #gcc是linux下的C编译器,我们后面也会讲
[whb@VM-0-3-centos 4_lesson]$ ls
code code.c
[whb@VM-0-3-centos 4_lesson]$ ./code
你好,Linux!
1.8内存/CPU/硬盘/外设等硬件,操作系统,程序的关系
- 菜市场例子
重点在于理清各自的定位
二、Linux的背景介绍
2.1UNIX发展的历史
1968年,一些来自通用电器公司、贝尔实验室和麻省理工学院的研究人员开发了一个名叫Multics的特殊操作系统。Multics在多任务文件管理和用户连接中综合了许多新概念。
1969-1970年,AT&T的贝尔实验室研究人员Ken Tompson和Dennis Ritchie,在采用很多Multics特点的基础上开发了UINX系统。它运行在小型机上,满足了系统对科研环境的要求。从产生开始,UNIX就是一个有价值的、高效的、多用户和多任务的操作系统。
UNIX从满足个人的设计需求开始,逐步成长为由许多不同开发商所支持的标准软件产品。
第一个UNIX版本是免费给许多知名大学的计算机系使用的。1972年,贝尔实验室开始发放商业版本,并且给不同的用户授权使用这个系统,使用者之一是加州大学伯克莱分校的计算机系。伯克莱给系统增加了许多新的特点,后来成为了标准。1975年伯克莱由下属部门BSD发行了自己的UNIX版本。UNIX的BSD版本成为AT&T贝尔实验室版本的主要竞争者,而其它的独立开发出的UNIX版本也开始萌生。
1980年微软公司开发了叫做Xenix的UNIX PC版本。AT&T发行了第一个商业版本。名叫System Ⅲ,后来被成为对商用软件产品良好支持的System Ⅴ所替代。
同时UNIX的BSD版本不断发展,在70年代末期,BSD UNIX成为了国防部的高科技研究机构科研项目的基础。其结果,伯克莱发行了一个叫做BSD Release 4.2的有效版本。它包括了高级的文件管理器和基于TCP/IP网络协议的网络特点。现在TCP/IP被Internet所使用。BSD Release4.2被许多厂商所采用,例如SUN Microsystem。UNIX不同版本的出现导致了UNIX标准的需要,软件开发商不知道他们的程序运行在哪些版本上比较合适。
到80年代中期,两个竞争的标准出现了,一个是基于AT&T的UNIX版本,另一个是BSD版本。在今天的书店里你能发现分别适用于这两个版本的不同的UNIX的书,一些是System V,另一些集中在BSD UNIX。AT&T建立了一个叫UNIX系统实验室的新组织,它的作用就是综合UNIX的不同版本,集中开发一个标准系统。1991年,UNIX综合实验室综合了System V Release3,SUN OS和Xenix的所有特点,发行了System V Release4。为了与System V Release 4 竞争,一些其它公司,如IBM和惠普Open Software Foundation(OSF)去产生自己的UNIX标准版本,继而出现了两个标准商业版本OSF版本和System Release 4。1993年,AT&T把它的UNIX转卖给Novell公司。UNIX系统实验室成为了Novell的UNIX系统小组的一部分。Novell发行了基于System V Release 4的自己的UNIX版本UNIXWare,它可以和Novell公司的Netware系统相联。SUN公司已经把System V Release 4 融进了它的SUN OS,发行了Solaris。两个相互竞争的UNIX使用的图形用户界面(一个叫Motif,另一个叫Openlook),已经合并为一个新的工作平台标准,叫做通用平台环境(CDE)。
2.2Linux发展历史
1991年10月5日,赫尔辛基大学的一名研究生Linus Benedict Torvalds在一个Usenet新闻组
(comp.os.minix)中宣布他编制出了一种类似UNIX的小操作系统,叫Linux。新的操作系统是受到另一个UNIX的小操作系统——Minix的启发,该系统是由一名叫Andrew S Tanenbaum的教师开发的。读者也许猜想所发布的这个系统应该是Linux的0.01版本,实际上不是这样。真正的Linux 0.01版本并没有被发布,原因是0.01版本不实用。Linus仅仅在第一个Linux的FTP站点(ftp://nic.funet.fi)上提供过这个版本的源代码。Torvalds于10月5日发布的这个Linux版本被称为0.02版,它能够运行GNU Bourne Again Shell(bash)和GNU的C编译程序(gcc)以及为数不多的其它语言。Torvalds绝对没有想到他设想的一种能够针对高级业余爱好者和黑客们的操作系统已经产生,这就是人们所称的Linux。Linux发布时的版本是0.02,后来又有0.03版,然后又跳到0.10版。因为世界各地越来越多的程序员都开始开发Linux,它已经达到0.95版。这就意味着正是公布1.0版本的时间已经为期不远了。正式的1.0版本是在1994年公布的。
2.3开源
Linux是一种自由和开放源代码的类UNIX操作系统,该操作系统的内核由林纳斯托瓦兹在1991年首次发布,之后,在加上用户空间的应用程序之后,就成为了Linux操作系统。严格来讲,Linux只是操作系统内核本身,但通常采用“Linux内核”来表达该意思。而Linux则常用来指基于Linux内核的完整操作系统,它包括GUI组件和许多其他实用工具。GNU通用公共许可协议(GNU General Public License,简称GNU GPL或GPL),是一个广泛被使用的自由软件许可协议条款,最初由理查德斯托曼为GNU计划而撰写,GPL给予了计算机程序自由软件的定义, 任何基于GPL软件开发衍生的产品在发布时必须采用GPL许可证方式,且必须公开源代码,Linux是自由软件和开放源代码软件发展中最著名的例子。只要遵循GNU通用公共许可证,任何个人和机构都可以自由地使用Linux的所有底层源代码,也可以自由地修改和再发布。随着Linux操作系统飞速发展,各种集成在Linux上的开源软件和实用工具也得到了应用和普及,因此,Linux也成为了开源软件的代名词。
2.4企业应用现状
- Linux在服务器领域的发展
随着开源软件在世界范围内影响力日益增强,Linux服务器操作系统在整个服务器操作系统市场格局中占据了越来越多的市场份额,已经形成了大规模市场应用的局面。并且保持着快速的增长率。尤其在政府、金融、农业、交通、电信等国家关键领域。此外,考虑到Linux的快速成长性以及国家相关政策的扶持力度,Linux服务器产品一定能够冲击更大的服务器市场。据权威部门统计,目前Linux在服务器领域已经占据75%的市场份额,同时,Linux在服务器市场的迅速崛起,已经引起全球IT产业的高度关注,并以强劲的势头成为服务器操作系统领域中的中坚力量。
- Linux在桌面领域的发展
近年来,特别在国内市场,Linux桌面操作系统的发展趋势非常迅猛。国内如中标麒麟Linux、红旗
Linux、深度Linux等系统软件厂商都推出的Linux桌面操作系统,目前已经在政府、企业、OEM等领域得到了广泛应用。另外SUSE、Ubuntu也相继推出了基于Linux的桌面系统,特别是Ubuntu Linux,已经积累了大量社区用户。但是,从系统的整体功能、性能来看,Linux桌面系统Windows系列相比还有一定的差距,主要表现在系统易用性、系统管理、软硬件兼容性、软件的丰富程度等方面。
- Linux在移动嵌入式领域的发展
Linux的低成本、强大的定制功能以及良好的移植性能,使得Linux在嵌入式系统方面也得到广泛应用,目前Linux以广泛应用于手机、平板电脑、路由器、电视和电子游戏机等领域。在移动设备上广泛使用的Android操作系统就是创建在Linux内核之上的。目前,Android已经成为全球最流行的智能手机操作系统,据2015年权威部门最新统计,Android操作系统的全球市场份额已达84.6%。
此外,思科在网络防火墙和路由器也使用了定制的Linux,阿里云也开发了一套基于Linux的操作系
统“YunOS”,可用于智能手机、平板电脑和网络电视;常见的数字视频录像机、舞台灯光控制系统等都在逐渐采用定制版本的Linux来实现,而这一切均归功与Linux与开源的力量。
- Linux在云计算/大数据领域的发展
互联网产业的迅猛发展,促使云计算、大数据产业的形成并快速发展,云计算、大数据作为一个基于开源软件的平台,Linux占据了核心优势;据Linux基金会的研究,86%的企业已经使用Linux操作系统进行云计算、大数据平台的构建,目前,Linux已开始取代Unix成为最受青睐的云计算、大数据平台操作系统。
2.5发行版本
- Debian
Debian运行起来极其稳定,这使得它非常适合用于服务器。 debian这款操作系统无疑并不适合新手用户,而是适合系统管理员和高级用户。
- Ubuntu
Ubuntu是Debian的一款衍生版,也是当今最受欢迎的免费操作系统。Ubuntu侧重于它在这个市场的应用,在服务器、云计算、甚至一些运行Ubuntu Linux的移动设备上很常见。Ubuntu是新手用户肯定爱不释手的一款操作系统。
- 红帽企业级Linux
这是第一款面向商业市场的Linux发行版。它有服务器版本,支持众多处理器架构,包括x86和x86_64。红帽公司通过课程红帽认证系统管理员/红帽认证工程师(RHCSA/RHCE),对系统管理员进行培训和认证。
- CentOS
CentOS是一款企业级Linux发行版,它使用红帽企业级Linux中的免费源代码重新构建而成。这款重构版完全去掉了注册商标以及Binary程序包方面一个非常细微的变化。有些人不想支付一大笔钱,又能领略红帽企业级Linux;对他们来说,CentOS值得一试。此外,CentOS的外观和行为似乎与母发行版红帽企业级Linux如出一辙。 CentOS使用YUM来管理软件包。
- Fedora
小巧的Fedora适合那些人:想尝试最先进的技术,等不及程序的稳定版出来。其实,Fedora就是红帽公司的一个测试平台;产品在成为企业级发行版之前,在该平台上进行开发和测试。Fedora是一款非常好的发行版,有庞大的用户论坛,软件库中还有为数不少的软件包。
- Kali Linux
Kali Linux是Debian的一款衍生版。Kali旨在用于渗透测试。Kali的前身是Backtrack。用于Debian的所有Binary软件包都可以安装到Kali Linux上,而Kali的魅力或威力就来自于此。此外,支持Debian的用户论坛为Kali加分不少。Kali随带许多的渗透测试工具,无论是Wifi、数据库还是其他任何工具,都设计成立马可以使用。Kali使用APT来管理软件包。毫无疑问,Kali Linux是一款渗透测试工具,或者是文明黑客(我不想谈论恶意黑客)青睐的操作系统。
三、搭建 Linux 环境
3.1Linux 环境的搭建方式
1. 直接安装在物理机上. 但是由于 Linux 桌面使用起来非常不友好, 不推荐.
2. 使用虚拟机软件, 将 Linux 搭建在虚拟机上. 但是由于当前的虚拟机软件(如 VMWare 之类的)存在一些 bug , 会导致环境上出现各种莫名其妙的问题, 比较折腾。当前因为同学们初步接触,因为这种方式不花钱,所以目前推荐
3. 使用云服务器, 可以直接在 腾讯云, 阿里云或华为云 等服务器厂商处直接购买一个云服务器.
使用云服务器不仅环境搭建简单, 避免折腾, 同时还有一个最大的好处, 部署在云服务器上的项目可以直接被外网访问到, 这个时候就和一个公司发布一个正式的网站没有任何区别. 也就能让我们自己写的程序真的去给别人去使用.
3.2安装Linux常见问题
解决方案:https://blog.csdn.net/u014597198/article/details/76825158
3.3Linux内核版本与源码下载
以2.6.18-164.el5-x86_64为例
- 第一个组数字:目前发布的内核主版本。
- 第二个组数字:偶数表示稳定版本;奇数表示开发中版本。
- 第三个组数字:错误修补的次数。
- el5:可以简单理解成,Enterprise Linux ,其中涉及版本众多,我们暂时不考虑
- x86_64:表示是 Intel 平台64位系统,和CPU与系统相关的一个说明
linux内核官网:https://www.kernel.org/
国内还行的Linux社区
http://www.linuxdown.net/
http://www.178linux.com/
http://www.linuxidc.com/
https://linux.cn/
3.4购买云服务器
我们以腾讯云为例, 其他的服务器厂商也是类似。
1. 进入官方网站 https://cloud.tencent.com/act/campus (直接在百度上搜 "腾讯云校园计划")
2. 登陆网站(可以使用 qq 或者 微信 登陆)
3. 右侧的操作系统选择 CentOS 7.6 64位. 购买时长根据需要选择(建议1年), 点击立即购买即可. 这个步骤需要实名认证, 否则会提示。
点击立即认证, 按照系统提示, 完成实名认证即可(认证速度很快)。
4. 购买完成后, 可以在控制台中找到自己买的服务器. 点进去能够看到服务器的 IP 地址
蓝色方框为公网 ip 地址, 稍后我们就会使用这个 ip 登陆服务器。
5. 设置 root 密码: 勾选服务器, 点击重置密码(这个环节可能需要手机短信验证). root 密码建议设置的稍微复杂一些, 否则容易被黑客入侵。
小结:
在这个环节我们最重要的是得到三个信息:
1. 服务器的外网 IP
2. 服务器的管理员账户 (固定为 root)
3. 管理员账户密码(在腾讯云网站上设置的)
通过这三个信息就可以使用 XShell 远程登陆了.
3.5登录云服务器-使用 XShell 远程登陆到 Linux
3.5.1关于 Linux 桌面
很多同学的 Linux 启动进入图形化的桌面. 这个东西大家以后就可以忘记了. 以后的工作中 没有机会 使用图形界面.思考: 为什么不使用图形界面?
3.5.2下载安装 XShell
XShell 是一个远程终端软件. 下载官网
https://www.netsarang.com/products/xsh_overview.html
下载安装的时候选择 "home/school" 则为免费版本.
3.5.3查看 Linux 主机 ip
参考上面的 "购买云服务器" 部分
3.5.4使用 XShell 登陆主机
在 XShell 终端下敲
ssh [ip]
ip 为刚才看到的 ifconfig 结果.
如果网络畅通, 将会提示输入用户名密码. 输入即可正确登陆
备注: 这里的用户名密码都是在最初购买服务器的时候设置的用户名密码
3.5.5XShell 下的复制粘贴
复制: ctrl + insert (有些同学的 insert 需要配合 fn 来按)
粘贴: shift + insert
ctrl + c / ctrl + v 是不行的.
无法使用密码登陆的解决办法
https://www.cnblogs.com/lemon-le/p/11168609.html