Linux
尚硅谷 JAVA 研究院
版本: V 1. 1
第 1 章 Linux 简介
1. 1 开源的力量
1. 1. 1 我们已经用过的开源软件
Spring
MyBatis
Tomcat
MySQL
JDK
......
1. 1. 2 开源软件领域的旗帜: Linux
Linux是一款类Unix操作系统,它的出现离不开GNU自由软件运动中诞生的开发环境和编译器,又反过来极大
的推动了GNU自由软件运动,让崇尚自由软件精神的先驱们不必继续局限在Unix系统上进行开发。Linux出现后,
sendmail,wu-ftp,apache等团队纷纷启动了基于Linux系统的开发计划。
1. 1. 3 软件开源的好处
虚拟团队
参与开发、维护的团队成员不必身在同一个办公室,在世界任何一个角落都可以通过互联网对开源产品进
行改进。
量身定制
自由软件允许使用者对软件产品进行修改,便于使用者最大限度满足自身需要。
广泛受益
让更多的人能够享受到开源软件提供的服务。
稳定高效
由于开源软件产品吸纳了全世界所有相关领域的最顶尖程序员一起来进行维护和排错,所以开源软件漏洞
更少,效率更高。
开源不等于免费
开源指的是开放源代码,但编译得到的二进制可执行程序可能是收费的;或者产品免费,服务收费;再或
者开发定制功能收费。所以,开源项目并不影响商业运作。
1. 2 .Linux 的来历
1. 2. 1 Unix 的尴尬
硬件相关
早期的Unix系统都是针对专门的硬件系统开发的,不同厂商都是为自己的服务器开发专门的Unix操
作系统。
版权受限
出于商业等方面因素的考虑,AT&T在 1979 年发行第七版Unix系统时收回了Unix的版权。
1. 2. 2 用于教学的 Minix
在Unix收回版权的背景下,出于学院教学的需要,荷兰阿姆斯特丹的Vrije大学计算机科学系的AndrewS.
Tanenbaum教授开发了一个“类Unix”系统:Minix。之所以称为类Unix,是由于Tanenbaum教授为了避免版权
纠纷在开发过程中刻意完全不看Unix本身代码,但同时要做到在使用时让用户的操作方式和使用Unix时一样。
1. 2. 3 受到启发的 Linux
Minix最有名的学生用户是LinusTorvalds,他在芬兰的赫尔辛基大学用Minix操作平台建立了一个新的操作
系统的内核,他把它叫做Linux。
Linux是 LinusTorvalds受到Minix的影响而开发的(LinusTorvalds不喜欢他的 386 电脑上的MS-DOS操作
系统,安装了Minix,并以它为样本开发了原始的Linux内核)。
“Talk is cheap,show me the code!”
1. 3 .Linux 是什么?
1. 3. 1 Linux 是一款开源免费的操作系统。
Linux内核最初只是由芬兰人林纳斯 · 托瓦兹(LinusTorvalds)在赫尔辛基大学上学时出于个人爱好而编写的。
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线
程和多CPU的操作系统。Linux能运行主要的UNIX工具软件、应用程序和网络协议。它支持 32 位和 64 位硬件。Linux
继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
目前市面上较知名的发行版有:Ubuntu、RedHat、CentOS、Debain、Fedora、SuSE、OpenSUSE
1. 3. 2 Linux 的优势
Linux系统的优势主要体现在服务器端应用方面,在PC端还是Windows系统对用户操作体验和应用程序的支持
更好。具体体现是:
性能强劲,安全稳定
Linux本来就是基于Unix概念而发展出来的操作系统,当然也继承了Unix稳定高效的特点。使用Linux系统的
主机连续工作 1 年以上不死机、不重启是非常常见的。所以很多电影、动画中的特效制作这样需要强大运算能力的
工作都是运行在Linux系统之上。
可定制
如果你对Linux足够了解,完全可以使用Linux内核搭配需要的组件构成一个定制版系统,甚至你可以修改Linux
源码进行深度定制
免费或少许费用
学习Linux可以免费使用Linux的各种发行版,在商业用途中往往也只是支付很少的费用即可
硬件配置要求低
Linux内核只有几KB大小,仅运行内核的话需要的系统开销很小,以命令行方式操作Linux也一样。以图形化
界面方式运行Linux需要的资源也比Windows更少。
嵌入移动设备
由于Linux只需要很少的资源就能够驱动所有硬件设备工作,所以非常适合嵌入到手机等移动设备中,例如现
在我们使用的Android系统就是以Linux为核心的。
1. 3. 2 不同时代的不同选择
1 )一夫当关的时代,小型机单节点架构
高性能
极强的稳定性
量身定制的UNIX
应用程序结构简单
厂商提供售后服务
价格高昂
2 )烂机子组团的时代,分布式架构
可扩展的性能
风险分摊
去IOE,免费的Linux
应用程序架构复杂
运维不依赖厂商
价格好商量
1. 4 .Linux 内核与它的各种发行版
Torvalds和他的虚拟团队的工作仅仅是开发了Linux内核以及附带的一些工具,尚不能作为一个完整的可以交给
终端用户使用的操作系统。为了方便用户使用,很多的商业公司或非营利团体,就将Linux内核(包括工具)与可
运行的软件整合起来,再加上系统的安装工具。这个『内核+软件+工具』的完全可安装的整体,我们称之为Linux
distribution,这就是Linux的发行版,港台腔叫发行套件。这是Linux这样的开放式系统和Windows、Mac等这些封
闭式系统的一个显著差别。
初学Linux通常会选择CentOS,这其实是RedHat收费后去掉收费功能而发布的一个免费的社区版。
主要的Linux发行版有:
● RedHat:http://www.redhat.com
●Fedora:http://fedoraproject.org/
●Debian:http://www.debian.org/
●Ubuntu:http://www.ubuntu.com/
●CentOS:http://www.centos.org/
我们可以从网易开源镜像站获取CentOS系统的镜像文件
http://mirrors. 163 .com/
第 2 章 Linux 安装
两个概念: 物理机和虚拟机。
创建虚拟机需要一台支持虚拟化的物理机、虚拟化软件(VMWare)。步骤大体分两步,第一步使用虚拟化软件
(VMWara)虚拟出一台虚拟机,然后再为这台虚拟机安装操作系统!
2. 1 查看虚拟化支持
开启:
2. 2 安装 VMWare 软件
2. 3 创建虚拟机
2. 4 为虚拟机安装 Centos 操作系统
( 1 )CentOS 6 安装步骤如下:
( 2 )CentOS 7 安装步骤如下:
01 在VM上安装Ce
ntOS 7 _ 201802 V 1. 4 .docx
2. 5 安装 VMTools 工具
VMTools安装.doc
安裝成功后,需要重启虚拟机。
2. 6 网络配置
2. 7 远程连接
远程连接工具通常基于SSH协议,SSH(SecureShell)协议是一种基于密钥的安全性很好的协议,将发送的数
据加密。因此虚拟机需要开启SSH协议的服务,即sshd服务。
如果没有运行,则执行servicesshdstart,开启服务即可!
第 3 章 文件和目录结构
3. 1 文件
Linux系统中一切皆文件。
在Linux系统中任何东西都是以文件形式来存储的。这其中不仅包括我们熟知的文本文件、可执行文件等等,
还包括硬件设备、虚拟设备、网络连接等等,甚至连目录其实都是一种特殊的文件。
3. 2 Linux 目录结构
在Windows中,每一个盘符下是一个独立的文件系统,硬盘有多少个分区就有多少个文件系统。而在Linux系
统中不管创建了多少个硬盘分区都只有一个文件系统。整个文件系统的根目录是“/”,从“/”根目录出发理论上可
以找到Linux系统中的所有目录和文件。
3. 3 Linux 系统中的路径
绝对路径:从“/”根目录开始逐层查找文件和目录。
/etc/sysconfig/network-scripts
/tmp/vmware-root/vmware-db.pl. 2267
相对路径:以当前目录或上一级目录为基准逐层查找文件和目录
当前目录:“./”
当前目录的上一级目录:“../”
3. 4 用户家目录
①作用:Linux系统为每一个用户提供了一个专属的目录用来存放它自己的文件内容,在Linux中使用“~”代表用
户的家目录
②root用户:家目录是/root目录。
③普通用户:在创建后会在/home目录下创建与用户名同名的目录。例如:用户tom的家目录是/home/tom
第 4 章 VIM 编辑器
4. 1. 简介
Linux系统环境下的一款非常重要的文本编辑工具,我们在Linux环境下几乎所有的文本文件编辑工作都是靠它。
可能你还听说过VI,嗯,VIM是VI的升级版。
4. 2 .VIM 编辑器的三种工作模式
4. 3. 一般模式
以vi打开一个档案就直接进入一般模式了(这是默认的模式)。在这个模式中,你可以使用『上下左右』按键
来移动光标,你可以使用『删除字符』或『删除整行』来处理档案内容, 也可以使用『复制、贴上』来处理你的
文件数据。
按键 功能描述
yy 复制光标当前一行
y数字y 复制一段(从第几行到第几行)
p 箭头移动到目的行粘贴
u 撤销上一步
dd 删除光标当前行
d数字d 删除光标(含)后多少行
x 删除一个字母,相当于del
X 删除一个字母,相当于Backspace
yw 复制一个词
dw 删除一个词
shift+^ 移动到行头
shift+$ 移动到行尾
1 +shift+g 移动到页头,数字
shift+g 移动到页尾
数字N+shift+g 移动到目标行
4. 4. 编辑模式
在一般模式中可以进行删除、复制、粘贴等的动作,但是却无法编辑文件内容的!要等到你按下『i,I,o,O,a,A,
r,R』等任何一个字母之后才会进入编辑模式。
注意了!通常在Linux中,按下这些按键时,在画面的左下方会出现『INSERT或 REPLACE』的字样,此时才可以
进行编辑。而如果要回到一般模式时, 则必须要按下『Esc』这个按键即可退出编辑模式。
按键 功能
i 当前光标前
a 当前光标后
o 当前光标行的下一行
I 光标所在行最前
A 光标所在行最后
O 当前光标行的上一行
s 删除当前字符并进入编辑
S 删除整行并进入编辑