Linux--1 初识
一、服务器核心知识
1、电脑和电脑的硬件组成
现在的人们几乎无时无刻不在使用着电脑!不管是桌上型电脑(桌机)、笔记型电脑(笔电)、平板电脑,还是智慧型手机等等,这些东西都算是电脑。虽然接触这么多,但是,你了解电脑里面的元件都有什么吗?以桌机来说,电脑的机壳里面含有什么元件?不同的电脑可以应用在哪些工作中?你生活周遭有哪些电器用品内部是含有电脑相关元件的?接下来我们就来谈一谈这些东西!
所谓的电脑就是一种计算机,而计算机其实是:『接受使用者输入指令与资料,经由中央处理器的数学与逻辑单元运算处理后,以产生或储存成有用的资讯』。因此,只要有输入设备(不管是键盘还是触控式萤幕)及输出设备(例如电脑萤幕或直接由印表机列印出来),让你可以输入资料使该机器产生资讯的,那就是一部计算机了。
好了,根据这个定义你知道哪些东西是计算机了吗?其实包括一般商店用的简易型加减乘除计算机、打电话用的手机、开车用的卫星定位系统(GPS)、提款用的提款机(ATM)、你上课会使用的桌上型个人电脑、外出可能会带的笔记型电脑(包括notebook与netbook),还有近几年(2015前后)非常热门的平板电脑与智慧型手机,甚至是未来可能会大流行的单版电脑(Xapple pi, banana pi, Raspberry pi, )与智慧型手表,甚至于更多的智慧型穿戴式电脑等等,这些都是计算机喔!
2、电脑硬件组成
关于电脑的硬件组成部分,依外观来说主要可分为三部分:
- 输入单元:包括键盘、滑鼠、读卡机、扫描器、手写板、触控萤幕等等一堆;
- 主机部分:这个就是系统单元,被主机机壳保护住了,里面含有一堆板子、CPU 与主记忆体等;
- 输出单元:例如萤幕、印表机等等;
3、硬件介绍
电源:保障电源供应,就需要质量好的电源,生产环境中单个核心服务器最好是双电源AB线路(一个接220V电路;一个可能接蓄电池UPS,即不间断电源)。

CPU:常见品牌有Intel、AMD;

内存:是CPU和磁盘之间的缓冲设备,也叫临时存储器(存放数据),断电时数据丢失,一般程序运行时会被调度到内存中执行,服务器关闭或程序关闭后,数据从内存中释放掉。
4、互联网常见服务器介绍
- DELL(大多数公司在用)
- HP
- IBM(百度,银行,政府)(贵)
- 浪潮
- 联想
服务器指的是网络中能对其他机器提供某些服务的计算机系统,相对普通PC,服务器指的是高性能计算机,稳定性、安全性要求更高。
服务器的高性能体现在高速的运转能力,长时间的可靠运行,强大的数据吞吐能力。
5、服务器分类
包括大型机、小型机和UNIX服务器,价格昂贵,体系封闭,但是稳定性极强,性能强、主要用在金融、电信等大型企业核心系统中。
机房托管服务器是按照服务器的厚度来收费的,每一个机柜规格有限,标准机柜可以放16台1u服务器,如果你的服务器太厚太大,机柜能放的服务器就少一些
1U 单位是==unit==厚度是4.45cm

二、Linux入门
1、操作系统的分类
- Windows系列操作系统

- Mac操作系统

- Unix类操作系统

- Linux类操作系统

2、linux系统的优势

3、为什么要去学习Linux
如果Windows意味着生活和游戏,那么Linux久代表着严谨和工作,学习Linux代表着你要开发软件,你要测试程序,你要维护服务器。
不信,你可以去招聘网站搜一下例如开发python开发工程师,python爬虫开发,python数据工程师等职位,经常能看到如下这样的要求:
- 掌握Linux操作系统,熟悉nginx,WSGI;
- 熟悉使用shell等脚本语言,熟悉linux操作系统;
- 熟悉linux操作系统及git版本管理工作优先;
- 熟悉linux操作系统及常用命令,熟悉多线程,网络相关知识等等。
由此可见,无论你是python后端开发,还是python测试开发,又或者是爬虫、数据挖掘开发,统统都必须学会Linux,这是开发者必须的技能。
我们都知道Linux这玩意是在电脑上运行的,所以说Linux就是一组软件,问题是这个软件是操作系统还是应用程序?而且Linux可以在哪些种类的电脑上运行呢?Linux来自哪里?为什么Linux不收钱?(万恶的windows分为各种收费版、家庭版、专业版、企业版。。。。)这些问题我们都得了解。
4、什么是操作系统
我们都知道windows 7/8/xp 其实就是操作系统,操作系统全称是Operating System,简称OS,是计算机系统中必不可少的基础系统软件,它是应用程序运行及用户操作必备的基础环境支撑。
整个电脑主机是由一堆硬件所组成,为了有效的控制这些硬件资源,于是就有操作系统的产生了。操作系统除了有效的控制这些硬件资源的运作,并且提供电脑运行所需的功能(例如网络功能)。

由上图看出操作系统跑于硬件之上,应用程序运行在操作系统之上,由于Linux只是一套操作系统并不含有其他应用程序,因此工程师需要在下载Linux系统并且安装之后,就可以使用了。
Shell(也叫做终端或壳)充当的是人与内核(硬件)之间的翻译官,用户吧一些命令“传递”给终端,它就会调用相应的程序服务去完成工作。红帽Linux默认使用的终端是Bash解释器。
5、Linux起源与发展
1991年,一个名不见经传的芬兰研究生购买了自己的第一台PC,并且决定开始开发自己的操作系统。这个想法非常偶然,最初只是为了满足自己读写新闻和邮件的需求。这个芬兰人选择了 Minix作为自己研究的对象。Minix是由荷兰教授 Andrew S Tanenbaum开 发的一种模型操作系统,这个开放源代码的操作系统最初只是用于研究目的。 这个研究生名叫 Linus torvalds,他很快编写了自己的磁盘驱动程序和文件系统,并且 慷慨地把源代码上传到互联网上。 Linus把这个操作系统命名为 Linux,意指“ Linus的 Minix” ( Linus, Minix)。
1)开源潮流
简单来说,开源软件的特点就是把软件程序与源代码文件一起打包提供给用户,让用户不受限制地使用某个软件功能的基础上还可以按需进行修改,或编制成衍生产品再发布出去。用户具有使用自由、修改自由、重新发布自由以及创建衍生品的自由。这也正好符合了黑客和极客对自由的追求,因此国内外开源社区的根基都很庞大,人气也相当高。
坦白来讲,每位投身于 Linux 行业的技术人或者程序员只要听到开源项目就会由衷地感到自豪,这是一种从骨子里带有的独特情怀。开源的企业不单纯是为了利益,而是互相扶持,努力服务好更多的用户。
开源软件最重要的特性有下面这些:
- 低风险:使用闭源软件无疑把命运交付给他人,一旦封闭的源代码没有人来维护,你 将进退维谷;而且相较于商业软件公司,开源社区很少存在倒闭的问题。 - 高品质:相较于闭源软件产品,开源项目通常是由开源社区来研发及维护的,参与编 写、维护、测试的用户量众多,一般的 bug 还没有等爆发就已经被修补。 - 低成本:开源工作者都是在幕后默默且无偿地付出劳动成果,为美好的世界贡献一份 力量,因此使用开源社区推动的软件项目可以节省大量的人力、物力和财力。 - 更透明:没有哪个笨蛋会把木马、后门等放到开放的源代码中,这样无疑是把自己的罪行暴露在阳光之下。
如果开源软件一味的追求“自由”却牺牲了程序员的利益,这样也会影响程序员的激情,因此世界上就有了“开源许可协议”来保证开源工作者的权益。
2)linux为什么受欢迎
Linux以高效和灵活著称,Linux同时具有多任务、多用户的能力,支持多线程,多CPU。
Linux包括了文本编辑器,高级语言编译器,以及图形用户界面等应用软件,当然绝大多数服务器都是使用命令行,文本模式操作Linux的。
Linux遵循GNU通用公共许可协议,属于自由软件,用户不需要支付费用就可以获得系统和系统源代码,无偿使用且自由传播。
Linux具有很高的系统稳定性和可靠性。
具有很高的系统安全性。
众多业界厂商支持,如IBM、Oracle、Intel、HP、Google等。
有完善的数据库平台,包括Oracle、DB/2、Sybase、MySQL、PostgreSQL等。
有完善的图形化用户界面,包括GNOME、KDE等。
有完善的开发平台,包括C/C++、Java、Python等。
3)linux的发行版本
其实Linux这个词并不能(代表)操作系统,Linux实际上只是定义了一个操作系统的内核,这个内核由kernel.org维护。不同的企业和组织在基础上开发了一系列的辅助软件,打包发布自己的“发行”版本。

在介绍常见的 Linux 系统版本之前,首先需要区分 Linux 系统内核与 Linux 发行版的不同。
Linux 系统内核指的是一个由 Linus Torvalds 负责维护,提供硬件抽象层、硬盘及文件系统控制及多任务功能的系统核心程序。
Linux 发行版系统是我们常说的 Linux 操作系统,也就是由Linux 内核与各种常用软件的集合产品。
全球大约有数百款的 Linux 系统版本,每个系统版本都有自己的特性和目标人群,下面将可以从用户的角度选出最热门的几款进行介绍。
- RedHat Enterprise Linux RHEL :红帽公司是全球最大的开源技术厂商,RHEL 是全世界内使用最广泛的Linux 系统。RHEL 系统具有极强的性能与稳定性,并且在全球范围内拥有完善的技术支持。

- Community Enterprise Operating System:CentOS 通过把 RHEL 系统重新编译并发布给用户免费使用的 Linux 系统,具有广泛的使用人群。CentOS 当前已被红帽公司 “收编”。

- Debian:稳定性、安全性强,提供了免费的基础支持,可以良好地支持各种硬件架构,以及提供近十万种不同的开源软件,在国外拥有很高的认可度和使用率。

- openSUSE:源自德国的一款著名的 Linux 系统,在全球范围内 有着不错的声誉及市场占有率。主要使用客户是中国移动、中国电信、交通银行、浦发银行等等安全性极高的客户。

- Ubuntu:是一款派生自 Debian 的操作系统,对新款硬件具有极 强的兼容能力。Ubuntu 与 Fedora 都是极其出色的 Linux 桌面系统,而且 Ubuntu 也可用于服务器领域。

在过去的10年中,Red hat公司一直是 Linux乃至开源世界的领导者。2003年,公司高层决定将其产品分成两个不同的发行版本。商业版本被称为 Red Hat Enterprise Linux,这个发行版本专注于企业级应用,并向使用它的企业提供全套技术支持,Red Hat公司从中收取相关许可证费。
RedHat Linux对硬件的支持非常友好,主流硬件厂商早早的将服务器拿去测试,很少遇见硬件兼容性问题,大量的商业软件都是基于RedHat认证的,例如Oracle。Linux内核代码的贡献,redhat厂商的大牛也是最多,要知道全世界的互联网大客户,一般都会使用商业服务器,因为出了问题有专业的技术人员技术支持。
CentOS 系统是通过把 RHEL 系统释放出的程序源代码经过二次编译之后生成的一种 Linux 系统,其命令操作和服务配置方法与 RHEL 完全相同,但是去掉了很多收费的服务套件功能,而且还不提供任何形式的技术支持,出现问题后只能由运维人员自己解决。
重点推荐redhat,原因是熟悉了centos/redhat找工作更容易。
6、Linux与Windows的区别
1)收费与否
正版的window操作系统是收费的;而Linux几乎免费(更多人愿意钻研开源软件,而收费的产品出现更多的盗版)
2)软件与支持
Windows平台:数量和质量的优势,补过大部分为收费软件;由微软提供技术支持和服务;
Linux平台:大多为开源软件,用户可以修改定制与发布,由于免费没有资金支持,部分软件质量可能欠缺;
3)安全稳定性
Windows平台:三天两头修复补丁,仍然会中毒(即便装了360,瑞星,金山毒霸...);
Linux平台:安全问题很少,无需安装xx杀毒,xx卫士;
4)使用习惯
Windows:普通用户基本依靠图形界面操作,鼠标和键盘完成一切需求,上手简单容易;
Linux:兼具图形界面(需要带有桌面环境的发行版Linux)和完全命令行操作,无法使用鼠标,新手入门困难,需要学习后方可使用,熟练后效率极高!
5)应用领域
Linux:人们日常在Windows上访问的百度、谷歌、淘宝、qq、迅雷(xxxx大片),支撑这些软件运行的,后台是成千上万的Linux服务器,它们时时刻刻进行着忙碌的数据处理和运算;
Windows:可以运行英雄联盟、绝地求生、仙剑三、地下城与勇士、我的世界...等等游戏,而Linux开发的游戏几乎很少;
三、VMware与Centos系统安装
按照博客步骤安装VMware和Centos。
完成后输入root账号(linux默认有一个root用户,系统管理员账号)与密码,成功进入linux系统,如下:

注意:要确保你的Linux支持虚拟化
安装 RHEL 7 或 CentOS 7 系统时,大家的电脑的 CPU 需要支持 VT(Virtualization Technology,虚拟化技术)。所谓VT,指的是让单台计算机能够分割出多个独立资源区,并让每个资源区按照需要模拟出系统的一项技术,其本质就是通过中间层实现计算机资源的管理和再分配,让系统资源的利用率最大化。其实只要你的电脑不是五六年前买的,价格不低于三千元,它的 CPU 就肯定会支持 VT 的。如果开启虚拟机后依然提示“CPU 不支持 VT 技术”等报错信息,请重启电脑并进入到 BIOS 中把 VT 虚拟化功能开启即可。
四、远程连接linux
1、为什么要远程连接linux
在实际的工作场景中,虚拟机界面或者物理服务器本地的终端都是很少接触的,因为服务器装完系统之后,都要拉到IDC机房托管,如果是购买的云主机,那更碰不到服务器本体了,只能通过远程连接的方式管理自己的Linux系统。
因此在装好Linux系统之后,使用的第一步应该是配置好客户端软件(ssh软件进行连接)连接Linux系统。
通过什么软件连接呢?
- Xshell
- SecureCRT
2、远程连接必备的知识
1)ip地址定位服务器的位置
互联网上的计算机都会有一个唯一的32位的ip地址,对应到服务器的位置。我们找人,可以通过身份证号码对应某个人,那我们找到某台服务器,也必须是通过IP地址。
2)局域网的IP地址
(针对自己班级/家庭所在环境)里也有预留的ip地址,一般是192/10/172开头,局域网的IP地址也是唯一的。
Windows查看ip方式:
|
1
|
ipconfig 查看“以太网适配器 本地连接 IPv4”的Ip地址就是自身网线的ip地址 |

Linux查看ip方式:
|
1
2
|
方式1:ip addr (或者ip addr show)方式2:ifconfig |


lo表示本地回环地址,ens33为虚拟机网卡名(不同的虚拟机可能网卡名不同)。
3)外网ip
全世界哪里都可以访问。
4)虚拟机网络配置
- NAT方式 电脑宿主机的ip在局域网内是唯一的,选择了NAT模式创建虚拟机,虚拟机就是一个新的局域网;通过nat网络地址转换的技术,在自己的网卡下,虚拟化出一个自己的局域网,并且局域网可以分配ip地址,这样就不会和桥接网段内的同学发生ip冲突
- 桥接模式 用此模式,虚拟机就是局域网中一台独立的主机,它可以访问该类网段任意一台机器;
- 仅主机模式(only-host) 单机模式,你的linux只能和你自己的windows相同,其他人都无法访问;
5)端口的概念
一台服务器可以有一个ip地址,例如是192.168.11.1,服务器是需要对外提供服务的,例如web服务,FTP服务。那么仅凭ip地址,主机无法区分不同的服务,ip地址和网络服务是一对多的关系,一个ip提供多个服务,因此就有了“端口号”来区分不同的服务。
端口(port)的设计规定是有65536(0~65535)这么多端口,每个端口对应唯一的程序,0-1024端口之间被操作系统占用,因此开发人员能使用的是1025-65535区间的端口。
- ftp:23 - dns:53 - http:80 - https(http+ssl加密技术,对http通信加密):443 - ssh:22 - mysql:3306 - redis:6379
6)协议的概念
protocol是为网络中的数据交换而建立的规则、标准或者约定,两个实体要通信,必须有同一种语言。
常见协议有超文本传输协议(HTTP)、文件传输协议(FTP),简单邮件传输协议(SMTP)、网络通信协议(TCP)、用户数据报协议(UDP)。
总结:
ip ip地址 找人,找服务器 port 端口号 提供什么服务 protocol 协议 说什么语言
7)Xshell第一次连接Linux
下载并安装Xshell,打开并输入如下ssh命令:
ssh root@ip

输入上面命令会后有一个SSH安全警告的弹框,点击”接受并保存“。
在SSH用户身份验证的弹框中输入linux的root用户对应的密码。
Linux终端也称为虚拟控制台,Linux终端采用字符命令方式工作,用户通过键盘输入命令,通过Linux终端对系统进行控制。
Linux是一个多用户、多任务、支持多线程和多CPU的操作系统。
8)linux切换虚拟终端
ctrl+Alt+F[1~7],如想切换到第二号虚拟终端,则同时按Ctrl+Alt+F2
logout退出当前终端:

root用户登录后系统的提示符:#
普通用户登录后系统的提示符:$
9)查看终端信息的shell命令
命令 解释 tty 查看当前终端 who am i 仅显示当前用户正在使用的终端和登录时间 w 查看所有终端(功能最全,显示用户名,终端标记,登录时间,负载等信息)

10)linux安装好了之后,如何初始化服务器
- 关闭防火墙
防火墙1:iptables 第三方
防火墙2:selinux 系统自带的
a、关闭linux的防火墙(就是一堆安全机制的规则,如同保安的贴墙上的那些规则,共享单车禁止入内),因为后期我们去学习软件,学习nginx、mysql、redis,为了学习的方便,关闭防火墙,允许所有的端口可以访问,命令如下: iptables -F 清空防火墙规则 systemctl stop firewalld 关闭防火墙服务 systemctl disable firewalld 关闭防火墙开机自启的服务
b、关闭selinux ,此配置,需要重启linux方可生效,步骤如下: vi /etc/selinux/config 找到 SELINUX=enforcing 并改成 SELINUX=disabled
11)配置linux的ip地址的方法
- 选择上网的方式,可以选择2种:
桥接
NAT
- 修改网卡配置文件
|
1
|
cd /etc/sysconfig/network-scripts/ 进入网卡的工作目录 |
查看网卡配置文件,我的叫做ifcfg-ens33,如下:

vi ifcfg-ens33
找到ONBOOT=no 这一行
改为ONBOOT=yes 使得下次开启机器,自动加载网络服务
- 选择了上网模式并确保网卡配置文件的ONBOOT参数为yes后,可以通过下面命令管理网卡服务,其实执行下面命令时会读取上面提到的网卡配置文件,使得网络服务生效
systemctl stop network 停止网络服务
systemctl start network 开启网络服务
systemctl restart network 重启网络服务
五、linux基本使用命令
linux的命令,其实就是一堆英文缩写。
输入linux命令,多用tab键去补全,用不着自己去记。
使用linux系统的熟练度,就是看你命令掌握了多少。
|
1
2
3
4
5
6
7
8
9
|
ip addr show ls 查看linux文件夹信息,list的缩写 linux 白色的是普通文件,蓝色的是目录、文件夹pwd 打印当前工作目录,print work directory的缩写 mkdir 文件夹名 创建文件夹mkdir hanju huoying lol kele 创建多个文件夹cat 文件名 查看linux 文件内容cd 目录 更改目录,change directory的缩写touch 文件1 文件2 文件3 创建普通文本文件 |
mv,移动指令,move的缩写 - 移动文件/文件夹到别的目录 - 改名 mv 原名 新名 rm,删除指令,remove的缩写,删除命令在服务器上慎用 - rm 文件名 删除文件的命令 - rm 文件名* 支持通配符
vi是linux下的文本编辑器,相当于notepad++ ,vi命令的用法如下:
- vi 文件名 此时进入了一个命令模式,需要你输入 i 字母,插入指令 - 在编辑模式下,可以输入一堆字符串 - 当代码写完了,按下esc 回到命令模式,输入冒号 : wq! :wq! write 写入 quit 退出 !强制性 :q! 不保存强制退出


浙公网安备 33010602011771号