文章目录
Linux简介
LInux的应用领域
服务器领域
-
Linux在服务器领域的应用是最强的
-
LInux免费、稳定、高效等特点在这里得到了很好的体现,尤其是在一些高端领域尤为广泛
嵌入式领域
-
linux运行稳定、对网络的良好支持性、低成本,且可以根据需要进行网络裁剪,内核最小可达到几百kb的特点,使近些年来在嵌入式领域的应用得到非常大的提高
-
主要应用:机顶盒、数字电视、网络电话、程控交换机、手机、PDA、智能家居、智能硬件等都是其应用领域。以后在物联网中应用会更加广泛。
Linux OS和各种发行版的关系
-
Linux 严格意义来说只是一个 “操作系统内核”.
-
一个完整的操作系统 = 操作系统内核 + 配套的应用程序.
-
由于 Linux 是一个完全开源免费的内核, 因此有些公司/开源组织又基于 Linux 内核, 提供了不同的配套程序. 这就构成了不同的 “发行版”.
-
LinuxOS主要做的OS内核(进程管理,内存管理,网络管理,驱动管理)——只负责造车的发动机
-
各种各样的Linux发行版(基于LinuxOS的基础上的产品)Ubuntu(乌班图)、RedHat(红帽)、CentOS。比较有名的就是Centos,但是放弃了支持这个,但是国内云厂商继续支持(TencentOS),基本都是再Centos 8.X继续的
-
不同的发行版的Linux,使用(80%)上都是一样的,但是有些是不太一样的
-
Linux和Unix的关系
- 一开始的Unix,只能在大型主机或者服务器才能运行的起来,但是随着我们的Minix在一款Unix的系统基础上进行改良,可以在我们的x86个人计算机上运行,随着GNU开源计划的出现(所以Linux全称叫GUN/Linux),许多开发者的努力下不断的强大,演化成我们的Linux的内核
GNU是“GNU’s Not UNIX”的缩写,GNU项目计划最早是与1984年,由著名的美国黑客理查德·斯托曼(Richard Matthew Stallman)发起的,GNU获得了自由软件基金会(FSF)的资金支持一直是GNU的主要资金来源,该项目主要是为了建立免费的开源的UNIX类系统,其基本原则是程序源代码开放和软件思想共享。
Linux相关环境配置
图解VM和Linux的关系
- 我们在我们Windows系统中,安装我们VM软件来模拟一台机器,进行安装我们的Linux系统
Linux自定义分三个区
- 第一部分:boot分区,也叫引导分区。一般设置1G左右
- 第二部分:swap分区。一般设置2G左右
- 第三部分:根分区。剩余部分全部给根分区。(此处为17G,因为我们设置了20G)。后期存放的软件一般放在根分区。
VMware网络连接的三种模式
桥接模式
我们的张三的Linux采用的就是桥接模式
桥接模式,虚拟系统可以和外部系统通讯,但是容易造成我们的IP冲突,比如我们的网络号是192.168.0,那么总共也就255个IP地址可以使用(不算广播地址和网络号)
- 之所以可以跟我们的外部主机进行通讯,是因为处于同一个局域网且IP地址的网络号相同
VMWare会虚拟一块网卡和真正的物理网卡就行桥接,这样,发到物理网卡的所有数据包就到了VMWare虚拟机,而由VMWare发出的数据包也会通过桥接物理网卡的那端发出。桥接网络是指本地物理网卡
和虚拟网卡
通过虚拟交换机
进行桥接。相当于在一个局域网内创立了一个单独的主机,他可以访问这个局域网内的所有的主机
-
该模式下主机网卡和虚拟机网卡的IP地址处于同一个网段,子网掩码、网关、DNS等参数都相同
-
桥接模式下虚拟机和主机在网络上地位相等,可以理解为一台新的电脑
NAT模式
- 我们的王五的Linux就是采用了NAT模式
- NAT模式,网络地址转换模式,虚拟系统可以和外部系统通讯,不会造成IP冲突
- NAT网络地址转换模式虚拟出地址100.22,而我们可以将所在的本地机器192.168.00.20作为我们的代理进行访问40和30
- NAT模式就是虚拟系统将主机当成向外的路由器,因为虚拟机只能 当客户机向外发送请求,不能作为服务器接收外面的请求,因为外部机器是不知道我们虚拟机的IP地址,因为是靠我们的主机进行转发
虚拟系统会通过真实主机的网络来访问外网,而真实主机相当于有两个网卡:真实网卡和虚拟网卡,真实网卡相当于链接了现实世界的真实路由器,而虚拟网卡相当于链接一个虚拟交换机/路由器(这个虚拟交换机同时链接虚拟机和真实主机),此时虚拟机想访问外网就必须通过真实主机IP地址,而外面看来也确实是真实主机的IP地址,实则是虚拟机访问的,完全看不到虚拟网络局域的内部形式。
主机模式
- 只能和我们的虚拟机所在的本地主机联系,不能访问其他机器
VMware快照功能
- 如果你在使用虚拟机的时候,想回到原先的某一个状态,也就是说担心某些操作导致的系统异常,需要回到某个正常运行的状态,这就是VM提供的快照管理
Linux的操作方式
两种操作模式
-
第一种就是基于图像化界面的操作模式,跟我们的平时的Windows的用鼠标点操作模式一样
- 他是基于事件驱动的模型:用户通过鼠标,键盘向操作系统发送的是一个个事件,操作系统提前为各种事件绑定号该干什么动作,当发生某个事件时候,则执行对应动作即可
-
第二种基于命令行,跟我们在Windows下的终端输入命令行进行操作
- 用户输入命令——这里的命令其本质就是我们事先写好的程序
- 操作系统通过命令行解析我们的输入,分析我们要运行哪个程序
- 在文件系统找到我们对应的程序,启动程序
- 执行完程序之后又回到输入命令的界面
-
我们的Linux一般就是采用第二种基于命令行的操作模式,在我们登录远程Linux系统时,更是只能看到一个输入命令行的终端界面
Linux的目录结构
在Linux的世界里,一切皆为文件
Linux文件系统与Windows有较大的差别
-
虽然都是使用树形结构组织文件,文件都是分为文件夹和普通文件(文件夹可以作为叶子节点也可以是非叶子节点,普通文件只能是叶子节点)
-
Windows的文件结构是多个并列的树状结构,也就是有多个根目录,最顶部的是不同的磁盘(分区),如C、D、E、F等
-
Linux的文件结构是单个的树状结构,根目录(用"/"表示),其他目录都要位于根目录下/
-
在Linux中使用正斜杠(/)而不是反斜杠(
\
)来划分目录。在Linux中,反斜杠是用来标识转义字符的
绝对路径:路径的写法,由根目录/写起
- 例如: /usr/share/doc 这个目录
- 绝对路径总是以正斜杠作为起始的,指明文件系统的根目录
相对路径:路径的写法,不是由/写起
- 例如由/usr/share/doc要到/usr/share/man底下时,可以写成:cd …/man这就是相对路径的写法,相对路径表示就是从当前目录开始出发
- .表示当前所在路径,…表示当前所在路径的上一层
各种Linux发行版本的常见目录
为了便于定位和查找,Linux中的每个目录一般都存放特定类型的文件,下表列出了
- / 表示根目录,该目录下只能只是文件夹,不能存在普通文件
- /bin bin 是 Binary 的缩写,存放着可执行文件或可执行文件的链接(类似快捷方式),里面就是放着我们最常使用的命令,比如cat和cd,ls,这个目录对所有用户都有效
- /sbin 类似的是 /sbin 目录,System Binary 的缩写,主要是可执行文件。这里存放是系统管理员使用的系统管理程序,不是所有用户都能访问
- /home 存放普通用户的主目录,在Linux中每个用户都有一个自己的目录,一般该目录名以用户的账号命令
- /root 该目录为系统管理员,也称为超级权限着的用户主目录
- /lib 系统开机所需要的最基本的动态链接共享库,起作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库
- /etc 所有的系统管理所需要的配置文件和子目录,比如安装mysql数据库 my.conf配置文件就是默认放在这个目录下
- /usr 这个目录也很重要,用户的很多应用程序和文件都是放在这个目录下面,类似我们的windows下的program files目录
- 三大不能动的目录
- /boot 存放的是启动Linux时使用的一些核心文件,例如Linux内核和启动引导程序 如果破坏了这个文件,可能我们的Linux系统直接启动不了
- /proc 这个目录是一个虚拟的目录,他是系统内存的映射,访问这个目录来获取系统信息,比如我们操作系统运行时,进程信息和内核信息
- /srv service缩写,该目录存放一些服务器启动后需要提取的数据
- /dev dev是 device的缩写,这里存放这所有的设备文件,类似我们的windows的设备管理器。在 Linux 中,所有东西都是以文件的形式存在的,包括硬件设备—— 一切皆文件。cpu表示管理着cpu的文件
- /media linux系统会自动识别一些设备,例如U盘,光驱等等,当识别后,linux会把识别到的设备挂载到这个目录下
- /mnt 系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将外部的存储挂载到/mnt/上,然后进入该目录就可以查看里面的内容
- /opt 这是给主机额外安装软件所在的目录,如安装ORACLE数据库就可放到这个目录下,默认为空
- /var 这个目录中存放不断扩充的东西,习惯将经常修改的目录放在这个目录下,包括各种日志文件。
var
是variable
的缩写,这个名字是历史遗留的,现在该目录最主要的作用是存储日志(log)信息,比如说程序崩溃,防火墙检测到异常等等信息都会记录在这里。 - /tmp这个目录是用来存放一些临时文件的,系统重启后不会保存
注意事项
1、Linux是以树的结构存储文件的。不管你的电脑中有几块硬盘(即便没有),也不管硬盘分了几个区,Linux都会给你整出来个根目录,也就是上图中最顶层的“/”
一旦你安装了Linux,它就会在根目录下创建几个文件夹,这些文件夹的名字是“root”、“home”、“dev”等等。路径分是“/root”、“/home”、“/dev”等
2、众所周知,存储文件需要硬盘。Linux这波操作光搞了个目录,但是与硬盘和分区没有任何关系,那么这些文件夹和之后要写入的文件存在哪里啊?这就引入了Linux下“挂载”的概念
挂载即把一个分区或磁盘放在一个目录里
- 挂载点就是一个特定的目录 挂载的本质就是为设备提供一个访问入口,例如将光盘挂载到/mnt/cdrom的话,就可以通过访问/mnt/cdrom这个目录来访问光盘
挂载就是让系统可以使用新硬盘,未挂载状态像是在我的电脑中点了弹出U盘,那么即使你U盘还插在机器上也使用不了,而在linux中新添加的硬盘,不像Windows那样即插即用,都需要挂载以后才能使用。
Linux的远程操作
为什么我们需要远程操作
- 在实际开发的时候,我们的Linux服务器是开发小组共享的
- 正式上线的项目是运行在我们的公网
- 所以我们的程序员需要远程登录到Linux进行项目管理和开发
- 我们的远程登录客户端有Xshell(远程操作),Xftp工具(传输文件)
- Xshell是一个强大的安全终端模拟软件,它支持SSH1,SSH2,以及Microsoft Window平台的Telent协议,可以在Windows界面下用来访问远端不同系统下的服务器
如何使用云服务器
Shell
- Shell就是操作Linux的一个平台/界面/控制台
- SSH协议:Secure Shell 安全版的Shell,公网IP主机会默认启动着一个ssh服务器,进程名一般叫sshd
- 我们要操作我们的云服务器的话,需要一个ssh的客户端,我们的客户端软件就是Xshell,也可以使用别的客户端
ssh客户端连接Linux系统需要的条件
- 云服务器的公网IP
- 云服务器的ssh服务器的监听端口——默认是22端口
- 登录系统需要的用户名
- 登录系统需要的密码