赞
踩
linux是一个开源、免费的操作系统,其稳定性、安全性、处理多并发已经得到业界的认可,目前很多企业级的项目都会部署到Linux/unix系统上。常见的操作系统有windows、macOS、IOS、Andriod、linux等。
1991年,李纳斯·托瓦兹Linus Torvalds,一个芬兰赫尔辛基大学的学生,出于个人爱好而编写的,当时他觉得教学用的迷你版UNIX操作系统Minix太难用了,于是决定自己开发一个操作系统。第一个版本于1991年9月发布,当时仅有10000行代码。由于Linux具有结构清晰、功能简捷等特点,许多大专院校的学生和科研机构的研究人员纷纷把它作为学习和研究的对象。
关于Linux Logo的由来是一个很有意思的话题,它是一只企鹅,为什么选择企鹅?
对此,有种说法是:企鹅是南极洲的标志性动物,根据国际公约,南极洲为全人类共同所有,不属于世界上的任何国家,任何国家都无权将南极洲纳入其版图。Linux选择企鹅图案作为Logo,其含义是:开放源代码的Linux为全人类共同所有,任何公司无权将其私有。
Linux有很多的发行版本,好比windows有windows xp,win7,win10。虽然这个比喻不是很恰当,但是对于初学者来说可以暂时这样理解。在全球范围内有上百款Liunx发行版,常见的主流发行版如下图所示:
UNIX 操作系统由肯•汤普森(Ken Thompson)和丹尼斯•里奇(Dennis Ritchie)发明。它的部分技术来源可追溯到从 1965 年开始的 Multics 工程计划,该计划由贝尔实验室、美国麻省理工学院和通用电气公司联合发起,目标是开发一种交互式的、具有多道程序处理能力的分时操作系统,以取代当时广泛使用的批处理操作系统。
说明:分时操作系统使一台计算机可以同时为多个用户服务,连接计算机的终端用户交互式发出命令,操作系统采用时间片轮转的方式处理用户的服务请求并在终端上显示结果(操作系统将CPU的时间划分成若干个片段,称为时间片)。操作系统以时间片为单位,轮流为每个终端用户服务,每次服务一个时间片。
可惜,由于 Multics 工程计划所追求的目标太庞大、太复杂,以至于它的开发人员都不知道要做成什么样子,最终以失败收场。
以肯•汤普森为首的贝尔实验室研究人员吸取了 Multics 工程计划失败的经验教训,于 1969 年实现了一种分时操作系统的雏形,1970 年该系统正式取名为 UNIX。
想一下英文中的前缀 Multi 和 Uni,就明白了 UNIX 的隐意。Multi 是大的意思,大而且繁;而 Uni 是小的意思,小而且巧。这是 UNIX 开发者的设计初衷,这个理念一直影响至今。
自 1970 年后,UNIX 系统在贝尔实验室内部的程序员之间逐渐流行起来。1971-1972 年,肯•汤普森的同事丹尼斯•里奇发明了传说中的C语言,这是一种适合编写系统软件的高级语言,它的诞生是 UNIX 系统发展过程中的一个重要里程碑,它宣告了在操作系统的开发中,汇编语言不再是主宰。
到了 1973 年,UNIX 系统的绝大部分源代码都用C语言进行了重写,这为提高 UNIX 系统的可移植性打下了基础(之前操作系统多采用汇编语言,对硬件依赖性强),也为提高系统软件的开发效率创造了条件。可以说,UNIX 系统与C语言是一对孪生兄弟,具有密不可分的关系。
随后出现了各种版本的 UNIX 系统,目前常见的有 Sun Solaris、FreeBSD、IBM AIX、HP-UX 等。
Linux 内核最初是由李纳斯•托瓦兹(Linus Torvalds)在赫尔辛基大学读书时出于个人爱好而编写的,当时他觉得教学用的迷你版 UNIX 操作系统 Minix 太难用了,于是决定自己开发一个操作系统。第 1 版本于1991 年 9 月发布,当时仅有 10000 行代码。
李纳斯•托瓦兹没有保留 Linux 源代码的版权,公开了代码,并邀请他人一起完善 Linux。与 Windows 及其他有专利权的操作系统不同,Linux 开放源代码,任何人都可以免费使用它。
据估计,现在只有 2% 的 Linux 核心代码是由李纳斯•托瓦兹自己编写的,虽然他仍然拥有 Linux 内核(操作系统的核心部分),并且保留了选择新代码和需要合并的新方法的最终裁定权。现在大家所使用的 Linux,我更倾向于说是由李纳斯•托瓦兹和后来陆续加入的众多 Linux 好者共同开发完成的。
李纳斯•托瓦兹无疑是这个世界上最伟大的程序员之一,何况,他还搞出了全世界最大的程序员交友社区 GitHub (开源代码库及版本控制系统)。
二者的关系,不是大哥和小弟,"UNIX 是 Linux 的父亲"这个说法更怡当。之所以要介绍它们的关系,是因为要告诉读者,在学习的时候,其实 Linux 与 UNIX 有很多的共通之处,简单地说,如果你已经熟练掌握了 Linux,那么再上手使用 UNIX 会非常容易。
二者也有两个大的区别:
Linux 受至旷大计算机爱好者的喜爱,主要原因也有两个:
总结unix与linux的区别:
Linux 是一个类似 Unix 的操作系统,Unix 要早于 Linux,Linux 的初衷就是要替代 UNIX,并在功能和用户体验上进行优化,所以 Linux 模仿了 UNIX(但并没有抄袭 UNIX 的源码),使得 Linux 在外观和交互上与 UNIX 非常类似。
我们安装linux操作系统有两种方法,一种是在裸机上直接安装(你需要格式化你本机的windows操作系统),还有一种是在虚拟机上安装。我们推荐使用第二种方式来安装。
所以我们需要先安装虚拟机,然后通过虚拟机来模拟出linux操作系统。虚拟机的产品有很多,在本套课程中,我们推荐大家使用vmware虚拟机。
为了简化大家的使用方式,在这里,资源以存入百度云网盘,大家可以自行下载。
链接:https://pan.baidu.com/s/1J8k0osOhfImJKO3W7L-KuQ
提取码:mnwg
具体安装步骤,大家可以操作如下博客进行安装:
https://blog.51cto.com/u_14289664/5133223
安装到最后,输入秘钥。这是老师给大家找的三个秘钥,大家可以拿去使用:
ZF3R0-FHED2-M80TY-8QYGC-NPKYF
YF390-0HF8P-M81RQ-2DXQE-M2UT6
ZF71R-DMX85-08DQY-8YMNC-PPHV8
在VMWare软件中,安装/启动虚拟机时,如果出以类似以下的错误提示:
出现该提示是由于电脑不支持虚拟化技术或是相关功能没有开启导致的。
解决方法有两种:
重启电脑,进入BIOS,开启VT虚拟化相关选项,不同品牌的电脑BIOS参数不同,认真看,多尝试。类似如下:
修改C:\ProgramData\VMware\VMware Workstation\config.ini文件,注意,您的VMWare安装目录不一定是C:\ProgramData\VMware\VMware Workstation,根据自己的实际情况来。
在config.ini中添加以下内容:
monitor.allowLegacyCPU = “true”
重新打开VMWare软件,问题解决。
前面我们安装了vmware,现在我们要在虚拟机vmware里面安装centos7。接下来我们需要下载centos7镜像。
CentOS 7.6 DVD版:https://mirrors.aliyun.com/centos-vault/7.6.1810/isos/x86_64/
但是在课程中我们给大家提供好了centos7的镜像,大家可以自行下载即可。
链接:https://pan.baidu.com/s/1q6BnzNmV9DATMkzyTTN_RQ
提取码:0d3f
打开vmware,创建新的虚拟机
创建虚拟机向导
点击进入下一步。
选择稍后安装操作系统
选择客户机操作系统
点击下一步。
命名虚拟机
点击下一步。
配置处理器数量
点击下一步。
配置虚拟机的内存
配置虚拟机网络
点击进入下一步选择默认选项。
点击进入下一步。
注意:磁盘容量20G,并不是真正的占用物理机的磁盘容量。而是随着后期linux系统中服务的安装,文件的增多,最大可以分配20G的磁盘空间给我们使用,当然如果空间不够用,我们还可以扩容。
点击进入下一步选择默认选项。
配置硬件
完成虚拟机配置向导
到这一步,我们并没有安装完成linux。我们需要进行进一步的配置。
点击开启虚拟机
install centos7
选择语言,默认是English,也可以选择中文
选择时区 选择上海
安装类型选择图形化桌面版(默认是迷你安装)
配置磁盘分区
点击INSTALLATION DESTINATION进行磁盘分区。
linux操作系统,我们一般设置3个分区。分别是boot分区,swap分区(交换分区:如果内存不够用,交换分区可以临时充当内存)还有根分区。以总容量20G为例,一般分区大小设置如下:
boot分区 1G
swap分区 2G
根分区 17G
具体配置如下:
配置结果如下:
点击确定。
点击进入NETWORK & HOST NAME
安装完成,点击reboot重启系统即可。
下面,我们用一幅图来说明什么是桥接模式:
解释:
在桥接模式下,虚拟机里面的网络地址必须和外部的网络地址保持在同一网段(也就是前三组数字必须是一样的)。这样linux操作系统才可以和外部的机器进行通信。但是如果用户人数太多,容易造成IP冲突。
解释:
在NAT模式下,虚拟机里面的网络可以不再和主机里面的网络保持在同一网段。但是主机里面会存在虚拟网卡(192.168.100.99),这个虚拟网卡的ip地址必须和linux里面的IP地址(192.168.100.88)在同一网段。这样linux就可以通过虚拟网卡和主机之间进行通信了。同时也可以通过主机的真实地址(192.168.0.50)和外部网络进行通信。这样的好处是可以避免造成IP冲突。
这个很简单,就是linux系统的ip地址和主机的ip地址必须保持一致。
如果你已经安装了一台linux操作系统,你还想要更多的linux操作系统,这里我们就没有必要再重新安装linux操作系统了,因为会非常的耗时、麻烦。你只需要在原来linux操作系统上克隆就可以实现。
注意:克隆的时候,需要先关闭linux操作系统。
下面我们介绍两种克隆虚拟机的方式:
方式1:直接拷贝一份安装好的虚拟机文件。
我们可以在已经安装的linux操作系统所在的目录上,直接复制 粘贴即可。
上面的目录就是我们安装linux操作系统的目录,我们直接复制,然后粘贴到指定的磁盘目录并重名即可。然后我们通过虚拟机打开:
然后选择指定文件打开:
方式2:使用vmware的克隆操作。
我们按照以下的图示进行操作:
点击克隆之后,在点击下一步,如下所示:
点击下一步:
点击下一步:
点击完成即可。
注意:
在选择克隆类型的时候,有两种。
第一种:创建链接克隆。这种克隆的方式占用的磁盘空间较小,克隆时间更快。本质上还是使用原来的linux操作系统,只是克隆了原linux操作系统的引用。
第二种:创建完整克隆。这种克隆的方式占用是磁盘空间较大,克隆时间比较慢,相当于把原来的linux操作系统复制了一份。一般我们选择完整克隆。
如果你在使用linux操作系统的时候,你想回到原来的某一个状态(也就是可能出现在误操作上造成的系统异常),需要回到原先某个正常运行的状态,vmware提供了这样的功能,就叫快照管理。
下面我们来演示虚拟机快照:
点击拍摄快照。
2、在桌面上创建A目录,然后我们再拍摄快照:
点击拍摄快照。
3、在桌面上创建B目录,然后我们再拍摄快照:
点击拍摄快照。
4、我们查看快照记录:
打开快照管理器:
查看快照信息:
5、跳转到指定的快照位置:
点击转到,就可以跳转到快照A。
通过前面的学习我们得知,当linux操作系统安装完成之后,它的本质是以文件的形式保存在文件目录里面的。因此虚拟系统的前移也十分简单,我们只需要把安装好虚拟系统所在的文件夹直接剪切或拷贝至指定的目录即可。删除也很简单,我们可以使用vmware自带的删除功能进行删除。
首先我们关闭linux操作系统,然后右键–>管理–>从磁盘中清除即可。
vmtools安装完成之后,可以让我们在windows下更好的管理vm虚拟机。可以设置windows和centos的共享文件夹。
具体安装步骤如下:
1、进入centos(将光驱弹出来)。
右键光驱–>Eject
2、点击vm菜单的 install vmware tools。
点击重新安装VMware Tools。会出现如下所示(如果没有的话,就重新安装):
3、centos会出现一个vm安装包, xx.tar.gz。
右键光盘–>Open。出现的内容如下所示:
4、拷贝到opt目录。
我们右键这个tar.gz文件,选择copy。将其拷贝至opt目录下面去。
Home–>Other Locations -->Computer–>opt -->右键 paste
5、使用解压命令tar,得到一个安装文件。
cd /opt(进入到opt目录的命令)。我们先打开终端:
在终端中输入命令 cd /opt
使用tar命令解压文件(tar -zxvf VMwareTools-10.0.0-2977863.tar.gz)
6、进入解压的目录
解压之后文件如下:
cd 命令进入这个目录(cd vmware-tools-distrib):
7、安装vmware-install.pl文件(./vmware-install.pl)
执行命令之后,一系列设置全部回车即可(安装需要一定的时间)。
安装成功之后的界面如下所示:
8、创建共享文件目录
比如我在本机的F:\upload目录创建共享文件夹myshare。
右键虚拟机,点击设置:
选择选项:
点击添加:
点击下一步,选择目标文件目录。
点击下一步:
点击完成。此时共享文件夹创建完毕。
9、使用共享文件夹
在windows系统中的myshare目录下面创建文件hello.txt,并在文件里面输入hello。
进入linux操作系统,查看共享文件夹:
/mnt/hgfs/myshare:
打开hello.txt,我们发现里面有我们之前输入的内容hello。我们在linux系统中的hello.txt里面追加内容,保存文件之后,在windows环境下面也可以查看到文件发生的变化。
到这里,使用vmtools搭建共享文件目录就完成了。
linux的文件系统和window的文件不一样。windows文件系统中会有很多盘符,在盘符下面又有很多的文件目录。但是linux文件目录不是这样的。linux文件系统采用的是层级式的树状目录结构,其中最上层的根目录是"/",然后在此目录下面再创建其他的目录。linux的树状目录结构非常重要,它的树状图如下所示:
这里简单介绍一下:
比如/boot目录。这个是linux系统启动所需要的引导文件的目录。如果这个目录里面的文件损毁,linux操作系统就无法启动。
/dev目录。设备管理器目录,linux把任何硬件都映射成了对应的文件来描述,这些文件就存放在dev目录里面。
总之一句话:在linux世界里,一切皆为文件!
是Binary的缩写, 这个目录存放着最经常使用的命令。比如我们常用的cd命令 cp命令都是存放在bin目录里面。
s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
存放普通用户的主目录,在Linux中每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
此时我们可以再验证一下,我们使用命令的方式创建一个用户:
[root@xq100 ~]# useradd tom #创建一个tom用户
[root@xq100 ~]# userdel -r tom # 删除指定的用户及其对应的文件夹
此时我们发现,在home目录也会生成一个tom目录
当我们执行userdel -r命令,这个用户所属的文件目录也就被删除了。
该目录为系统管理员(root),也称作超级权限者的用户主目录。如果我们使用root账户登录,默认所处的目录位置就是在/root下面。
系统开机所需要最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。如果这个目录里面的文件被删除了,linux操作系统也就不能正常运行了。
所有的系统管理所需要的配置文件和子目录。linux系统本身所需要用到的配置文件也是存放在etc目录。如果我们自己安装一些系统服务,比如mysql数据库服务,那么和数据库相关的配置文件(my.cnf)也是存放在/etc目录里面。
这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似与windows下的program files目录。
存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。如果这个目录里面的文件被删除了,linux操作系统也就不能正常运行了。
类似于windows的设备管理器,把所有的硬件用文件的形式存储。
这个目录是一个虚拟的目录,它是系统内存的映射,访问这个目录来获取系统的信息。这个目录我们不要动,否则可能造成系统的崩溃。
service的缩写,该目录存放的一些服务服务启动之后需要提取的数据。这个目录我们不要动,否则可能造成系统的崩溃。
这个目录存放了linux内核相关的文件信息。这个目录我们不要动,否则可能造成系统的崩溃。
这个目录是用来存放一下临时文件的。
linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。比如我们插入的U盘 光驱都会被映射成对应的文件存放在media目录。
系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将外部的存储挂载在/mnt/上,然后进入该目录就可以查看里的内容了。比如我们上节内容设置的共享目录myshare。
这是主机给安装软件所存放的目录,如果安装JDK可放到改目录下默认为空。上节内容我们安装VMwareTools-10.0.0-2977863.tar.gz。这个压缩文件就存放在opt目录的。
简单的说就是应用程序安装之后,安装程序所存放的目录。一般是通过编译源码方式安装的程序。
这个目录中存放着在不断变化,扩充着的东西,最常用的就是包括各种日志文件。
在实际工作中,linux服务器是开发小组共享的,并不是存放在每个用户的本地电脑上,linux服务器一般会存在在一台独立的电脑上(独立的机房里)。所以我们需要远程的登录到linux进行相关的操作。
在这里我们介绍两个远程操作工具。一个是远程登录linux操作系统的工具,一个是进行远程文件传输 下载的工具。
第一个工具:远程连接 登录linux服务器的工具 Xshell7
下载地址:
链接:https://pan.baidu.com/s/1q_3huHdXNUcrTiwdtKtGNw
提取码:il3r
!绿化.bat
,桌面会自动化生成Xshell程序。如果出现以上信息说明破解成功。
[root@xq100 ~]# ip addr
我们可以本地windows系统下面ping一下ip,看能否ping成功:
Microsoft Windows [版本 10.0.17763.1577] (c) 2018 Microsoft Corporation。保留所有权利。 C:\Users\kriss>ping 192.168.10.137 正在 Ping 192.168.10.137 具有 32 字节的数据: 来自 192.168.10.137 的回复: 字节=32 时间<1ms TTL=64 来自 192.168.10.137 的回复: 字节=32 时间<1ms TTL=64 来自 192.168.10.137 的回复: 字节=32 时间<1ms TTL=64 来自 192.168.10.137 的回复: 字节=32 时间<1ms TTL=64 192.168.10.137 的 Ping 统计信息: 数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失), 往返行程的估计时间(以毫秒为单位): 最短 = 0ms,最长 = 0ms,平均 = 0ms C:\Users\kriss>
我们发现,可以ping成功。
打开Xshell,点击文件–>新建:
点击确定,再输入登录用户名和密码即可即可。
第二个工具:进行文件远程传输和下载的工具 FileZilla
链接:https://pan.baidu.com/s/1_gGQZuzyehHwZrXWuPatMA
提取码:k1xo
傻瓜式安装,直接点击下一步即可。
注意:
主机的连接地址必须是sftp协议。也就是必须输入: sftp://192.168.10.137
用户名和密码是连接linux操作系统的用户名和密码。
端口号可以不写,默认就是22。
上传文件:在windows操作系统(左边)选择指定文件,右键–>上传 即可。
下载文件:在linux操作系统(右边)选择指定文件,右键–>下载 即可。
所有的 Linux 系统都会内置 vi 文本编辑器。Vim 具有程序编辑的能力,可以看做是Vi的增强版本,可以主动的以字体颜色辨别语法的正确性,方便程序设计。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。
正常模式:
以vim打开一个档案就是直接进入了一般默认(这是正常的模式),在这个模式中,可以通过上下左右来移动光标,你也可以使用【删除字符】【删除整行】来编辑档案中的内容,也可以使用【复制】【贴上】来处理你的文件数据。
插入模式:
按下i,l,o,O,a等任意一个字母之后才会进入编辑模式,一般情况按下i即可。
命令行模式:
在这个模式当中,可以提供你相关指令,完成读取,存盘,替换vim,显示行号等操作是在此模式下完成的。
现在我们完成一个简单的需求,使用vim编辑器,编辑一个Hello.java文件。我们就在Xshell中完成。
[root@xq100 ~]# vim Hello.java
我们输入 vim Hello.java
命令,然后回车,此时进入到正常模式。
此时我们直接在里面写内容是没有反应的,因为正常模式下,不能进行内容的编辑,我们需要容正常模式切换到插入模式。如何切换?
我们一般按下i键即可。此时,屏幕左下角会显示成INSERT字样:
这个时候我们可以在插入模式下面进行内容的编辑:
接下来我们需要保存文件,我们需要切换到命令行模式:
首先按ESC键,然后输入:wq 然后回车 就是保存并退出。
:wq 保存并退出
:q 直接退出
:q! 不保存并退出(强制退出)
接下来我们简单使用vim编辑器的快捷键。
1. 拷贝当前行 (yy ),并粘贴(p)
yyp
注意:必须在正常模式下面进行操作。
此时我们查看效果:
2. 拷贝当前向下的2行(2yy ) 并粘贴(p)
2yyp
完成之后的效果:
3.删除当前行(dd) 删除当前向下的2行 (2dd)
dd
删除之后的效果:
2dd
删除之后的效果:
4.在文件中查找某个单词{命令行下/关键字} 回车查找,输入n就能查找下一个
比如查找Hello关键字。/Hello 然后按n就能查找到内容
5.设置文件的行号(: set nu)。取消文件的行号(: set nonu)
6.使用快捷键回到文件内容的最起始处和最末尾处
切换到正常模式。
G : 回到文件的末尾处(光标回到文件的末尾处)
gg:回到文件的最开始处(光标回到文件的最开始处)
7.快速的定位到某个位置
切换到正常模式。
5 shift + g (快速到定位到第5行)。
8.在文件中输入内容,执行撤销操作
切换到正常模式。按快捷键u
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。