目录
第一章 Linux入门
1.1 Linux应用领域
1.1.1 个人桌面领域的应用
此领域是传统 linux 应用薄弱的环节,近些年来随着 ubuntu、fedora 等优秀桌面环境的兴起,linux在个人桌面领域的占有率在逐渐的提高
1.1.2 服务器领域
linux 在服务器领域的应用是最强的。
linux 免费、稳定、高效等特点在这里得到了很好的体现,尤其在一些高端领域尤为广泛(c/c++/php/java/python/go)
1.1.3 嵌入式领域
linux 运行稳定、对网络的良好支持性、低成本,且可以根据需要进行软件裁剪,内核最小可以达到几百 KB 等特点,使其近些年来在嵌入式领域的应用得到非常大的提高。
主要应用:机顶盒、数字电视、网络电话、程控交换机、手机、PDA、智能家居、智能硬件等都是其应用领域。以后在物联网中应用会更加广泛。
1.2 Linux介绍
1.2.1 linux概述
1. linux 怎么读, 不下 10 种
2. linux 是一个开源、免费的操作系统,其稳定性、安全性、处理多并发已经得到业界的认可,目前很多企业级的项目(c/c++/php/python/java/go)都会部署到 Linux/unix 系统上。
3. 常见的操作系统(windows、IOS、Android、MacOS, Linux, Unix)
4. Linux 吉祥物
5. Linux 之父
Linus Torvalds、Git 创作者、世界著名黑客
6. Linux 主要的发行版
Ubuntu(乌班图)、RedHat(红帽)、CentOS、Debain[蝶变]、Fedora、SuSE、OpenSUSE
1.3 Linux 和 Unix 的关系
1.3.1 Unix 是怎么来的
Unix由Bell实验室的Ken Thompson所写,后来在Bell实验室内部流行开来,同时引起外界的兴趣,有许多人向Ken申请使用Unix系统,Ken也大方把Unix刻录进光盘通过邮件的形式发给这些感兴趣的人,公开Unix系统,提供给各大高校作教学使用,加州大学伯克利分校改进推出了BSD的版本,并赚了不少钱,因为Bell属于AT&T,AT&T觉得不爽把将BSD告上法庭,最终AT&T赢下了官司,从此Unix走向了商业化,但也在业界失去了好评。
1.3.2 Linux 是怎么来的
因为Unix走向了商业化,使用者都面临昂贵的授权使用费,很多大学不得不停止对其使用。在这种背景下,许多反抗者便应运而生。
Richard Stallman(自由软件之父)是个自由主义者,看到Unix收费资源不共享的行为后,发起了一场自由软件运动GNU(GNU IS NOT UNIX),相当霸气的名字。
Andrew是个大学教授,因为不能使用Unix给学生们展示操作系统的细节,决心自己写一个系统用于上课,于是教授写了一个Minix,并将之公开,世界各地的人们开始补充改进系统,但终究还是缺少内核。
Linus Torvalds(神!)大二时写出了内核,从此这个操作系统完善了,大众给这个系统取名为GNU/Linux,后来逐渐约定俗成为Linux。
Linux 内核最初是由李纳斯•托瓦兹(Linus Torvalds)在赫尔辛基大学读书时出于个人爱好而编写的,当时他觉得教学用的迷你版 UNIX 操作系统 Minix 太难用了,于是决定自己开发一个操作系统。第 1 版本于 1991 年 9 月发布,当时仅有 10 000 行代码。
1.3.3Linux 和 Unix 关系图
二者的关系,不是大哥和小弟,"UNIX 是 Linux 的父亲"这个说法更怡当。之所以要介绍它们的关系,是因为要告诉读者,在学习的时候,其实 Linux 与 UNIX 有很多的共通之处,简单地说,如果你已经熟练掌握了 Linux,那么再上手使用 UNIX 会非常容易。
Linux 是一个类似 Unix 的操作系统,Unix 要早于 Linux,Linux 的初衷就是要替代 UNIX,并在功能和用户体验上进行优化,所以 Linux 模仿了 UNIX(但并没有抄袭 UNIX 的源码),使得 Linux 在外观和交互上与 UNIX 非常类似。相比于 UNIX,Linux 最大的创新是开源免费,这是它能够蓬勃发展的最重要原因;而目前的 UNIX 大部分都是收费的,小公司和个人都难以承受。
近年来,Linux 已经青出于蓝而胜于蓝,以超常的速度发展,从一个丑小鸭变成了一个拥有庞大用户群的真正优秀的、值得信赖的操作系统。历史的车轮让 Linux 成为 UNIX 最优秀的传承者。
二者也有两个大的区别:
- UNIX 系统大多是与硬件配套的,也就是说,大多数 UNIX 系统如 AIX、HP-UX 等是无法安装在 x86 服务器和个人计算机上的,而 Linux 则可以运行在多种硬件平台上;
- UNIX 是商业软件,而 Linux 是开源软件,是免费、公开源代码的。
Linux 受至旷大计算机爱好者的喜爱,主要原因也有两个:
- 它属于开源软件,用户不用支付可费用就可以获得它和它的源代码,并且可以根据自己的需要对它进行必要的修改,无偿使用,无约束地继续传播;
- 它具有 UNIX 的全部功能,任何使用 UNIX 操作系统或想要学习 UNIX 操作系统的人都可以从 Linux 中获益。
第二章 VM和Linux的安装
2.1 基本说明
我这里的选择现在用的比较多的版本 virtual machine 15.5 和 Linux (CentOS 7.6) 进行安装,只要大家耐心跟着这个安装步骤进行安装(超详细安装教程),肯定都会安装成功的。
学习 Linux 需要一个环境,我们需要创建一个虚拟机,然后在虚拟机上安装一个 Centos 系统来学习。
1. 先安装 virtual machine 15.5
2. 再安装 Linux (CentOS 7.6)
3. 原理示意图(vm和linux的关系)
2.2 vmware15.5 下载
1. 官方地址:https://www.vmware.com/cn.html
打开官网
选择所需的版本
2. 其它地址:https://www.nocmd.com/windows/740.html
2.3 VM 安装的步骤
1. 去 BIOS 里修改设置开启虚拟化设备支持(f2, f10)
原文: https://jingyan.baidu.com/article/ab0b56305f2882c15afa7dda.html
首先,你需要确认的使你的计算机型号和CPU、BIOS的型号,因为过老的计算机是不支叮罩持虚拟化技术的。(有的电脑不用设置,直接安装也是可以成功的)
步骤一:开机时按F2、F12、DEL、ESC等键就可以国游进入到BIOS,这就需要根据电脑的品牌和采用的BIOS才能确定到底是哪一个按键了,当你知道你的BIOS或者说主板的型号的时候,可以上网找度娘查找。
进入到BIOS后,找到Configuration选项或者Security选项,然后选择Virtualization,或者Intel Virtual Technology,就可以开始你的操作了。
步骤二:然后回车,将其值设置成:设置为Enabled。
步骤三:再然后,就是保存BIOS设置,重启计算机。
2.4 安装虚拟机软件(vm15.5)
1. 以管理员的身份运行
2. 点击下一步
3. 接受许可证,点击下一步
4. 这里可以选择自己的安装目录,点击下一步
5. 取消勾选这两个选项,点击下一步
6. 点击下一步
7. 点击安装
8. 点击完成,即安装成功。(这边也可以选择填写激活码,激活码网上可以搜得到)
安装完VM,接下来安装CentOS
2.5 安装CentOS
2.5.1 CentOS下载地址:
这里推荐使用迅雷的方式下载,迅雷下载会快一点。复制迅雷的下载地址打开迅雷,新建下载,即可开始下载。
1. CentOS-7-x86_64-DVD-1810.iso CentOS 7.6 DVD 版 4G (目前主流的生产环境)
直接下载:1、http://mirrors.163.com/centos(打开网址,选择对应的版本即可)
2、https://www.centos.org/download/
迅雷下载:http://mirrors.163.com/centos/7.6.1810/isos/x86_64/CentOS-7-x86_64-DVD-1810.iso
2. CentOS-8.1.1911-x86_64-dvd1.iso CentOS 8.1 DVD 版 8G (未来的主流)
直接下载:https://mirrors.aliyun.com/centos
迅雷下载:https://mirrors.aliyun.com/centos/8.1.1911/isos/x86_64/CentOS-8.1.1911-x86_64-dvd1.iso
2.5.2 CentOS安装步骤
步骤一:首先打开我们已经安装好的VMware,创建虚拟机
步骤二:选择典型,点击下一步
步骤三:选择稍后安装操作系统,点击下一步
步骤四:操作系统选择Linux,版本选择Red Hat Enterprise Linux 7 64位(CentOS本身就是红帽的一个分支)
步骤五:这里可以给你的虚拟机取个名字。选择虚拟机要安装的位置(尽量安装到空间比较大的位置),点击下一步
步骤六:填写虚拟机的最大磁盘空间(这里分配的磁盘大小,并不是会马上占有,而是再随着使用的过程中文件增多,慢慢的去占有这个空间。比如你分了 20G 给虚拟机,虚拟机并不会立即把中 20G 给吃掉,只会使用一小部分,随着你使用虚拟机的过程中,你增加的文件,安装的软件慢慢的去占用)。选择拆分成多个文件,点击下一步。
步骤七:点击自定义硬件,给我们的虚拟机分配一些硬件
步骤八:给我们的虚拟机分配内存大小,建议2G
步骤九:分配虚拟机的处理器内核,这里要根据自己电脑的处理器数量进行分配。
(我的电脑有 两 个处理器,每个处理器有 四 个内核,总共有8个内核,所以分给了虚拟机4个内核,留4个给自己的电脑用)
步骤十:选择网络的连接模式,这里选择 NAT模式。下面的USE控制器、声卡、打印机、显示器默认。这就算完成了,完成之后点关闭。
步骤十一:点完关闭之后,大家可以看见我们的自定义硬件就搞定了,下面点击完成。
步骤十二: 右击你刚刚创建好的虚拟机,点击设置
步骤十三:把我们的这个光驱指向我们上面下载的 iso镜像文件,点击浏览,选择之前下载好的 iso镜像,点击打开。选择好以后点击确定。
步骤十四:选择刚刚创建的虚拟机,点击 开始此虚拟机
步骤十五:鼠标点击黑色屏幕进入操作虚拟机(白色鼠标消失),使用上下箭头选择Install CentOS 7 , 敲击键盘的回车键。
步骤十六:这里提示在敲击一下回车键,开始安装。那我们就再按一次回车键。
这个时候已经开始安装了。(这里需要花一些时间,不要着急,一会出现一个界面)
步骤十七:这里默认让我们选择的是英文,我们把滚动条拉到最底下,选择中文,选择简体中文,点击下一步(继续)。
点击下一步(继续)。
步骤十八:点击软件选择,这里默认是最小安装(不带界面的,有很多功能没带进入,比如说最基本的开发工具gcc、jdk、mysql)。最小安装不利于我们学习,但是在实际的生成环境,可以选择最小安装。
步骤十九:选择 GNOME桌面,选中桌面以后,勾选右边的:传统X Windows 系统的兼容性、兼容性程序库、开发工具。勾选之后点击右上角的完成。
步骤二十:这一步很重要! 点击完成之后,这个地方会检查软件依赖关系,这个时间会比较持长。千万不要乱点,不然很容以卡shi(这里大概会等个4、5分钟左右,有的机器慢,有的快)。
千万不要乱点,千万不要乱点,千万不要乱点。
ok,检查好就变成这个样子
步骤二十一:滚动条往下拉,找到系统,点击安装位置。选择 我要配置分区选项,点击完成
选择 我要配置分区选项,点击完成
步骤二十二:点击加号 => 挂载点选择/boot => 填写期望容量为1G => 点击添加挂载点
挂载点选择/boot
填写期望容量为1G,点击 添加挂载点
选择设配类型为:标准分区。选择文件系统为:ext4
步骤二十三:点击+号 => 挂载点选择:swap => 期望容量选择:2G => 点击添加挂在点
选择设备类型为:标准分区。选择文件系统为swap
步骤二十四:点击+号,挂在点选择 / (也就是 根分区)
分配 期望容量为 17G,点击 添加挂在点
设置 / 挂载点 的设备类型为:标准分区,文件系统为:ext4
步骤二十五:点击完成 => 点击 接受更改
点击 接受更改
步骤二十六:点击 KDUMP
取消勾选 kdump (kdump相当于是一种保护机制,但是会占用一部分内存,如果你是在真正的生产环境可以把这个勾上)、点击完成。
步骤二十七:点击 网络和主机名 => 1.打开网络,2.设置主机名 => 点击完成。
步骤二十八:点击SECURITY POLICY => 关闭安全策略 => 点击完成
关闭安全策略 , 点击完成
步骤二十九:点击开始安装
步骤三十:设置root 密码,设置好 点击完成
步骤三十一:我们再创建一个用户,设置用户名和密码,点击完成(因为我们的Linux,他一般不建议用root直接登录,一般用一个权限比较低的来登录)
创建完用户之后我们要做的事情就是耐心等待,现在已经再安装中
安装成功之后点击重启
步骤三十二:同意 许可证,点击完成
点击完成配置
默认情况下Linux 希望我们用普通用户,权限比较低的用户登录。如果你要用root登录的话,点击未列出输入用户名,密码点击登录即可。
步骤三十三:登录之后我们来选择语言,汉语,点击前进。输入方式也选择 汉语,点击前进。
步骤三十四:关闭隐私,点击前进 => 连接在线账号直接点击跳过
连接在线账号直接点击跳过
现在就可开始使用了。
这边会弹出一个 使用技巧,之间点关闭就可以了
恭喜大家, 到此我们的虚拟机,总算安装成功了!!!
2.5 虚拟机的克隆
如果你已经安装了一台 linux 操作系统,你还想再更多的,老韩提示大家:没有必要再重新安装,你只需要克隆就可以, 看演示。
1) 方式 一:直接拷贝一份安装好的虚拟机文件,使用VM软件直接打开即可。
2) 方式 二:使用 vmware 的克隆操作,注意, 克隆时,需要先关闭 linux 系统
点击下一步
选择 克隆自 虚拟机中的当前状态,点击下一步
选择 创建完整克隆,点击下一步
设置虚拟机的名称,选择要克隆到的位置(克隆到哪个文件夹)。点击完成
这个时候克隆虚拟机就完成了
这边就生成了,刚刚克隆的那个虚拟机。那怎么用呢,直接点击开启此虚拟机即可,非常的简单。
2.6 虚拟机快照
如果你在使用虚拟机系统的时候(比如 linux),你想回到原先的某一个状态,也就是说你担心可能有些误操作造成系统异常,需要回到原先某个正常运行的状态,vmware 也提供了这样的功能,就叫快照管理 。
a)创建快照
填写快照名称 和 描述 点击拍摄快照
b) 回到历史快照
点击快照管理
选择你要回退的快照,点击转到
2.7 虚拟机的迁移和删除
我在前面讲过,虚拟系统安装好了,它的本质就是文件(放在文件夹的)。因此虚拟系统的迁移很方便,你可以把安装好的虚拟系统这个文件夹整体拷贝或者剪切到另外位置使用。删除也很简单,用 vmware 进行移除,再点击菜单->从磁盘删除即可,或者直接手动删除虚拟系统对应的文件夹即可。
a)迁移
b)删除
找到这个虚拟机文件夹的位置,直接删除即可
2.8 安装 vmtools
2.8.1 介绍
1) vmtools 安装后,可以让我们在 windows 下更好的管理 vm 虚拟机
2) 可以设置 windows 和 centos 的共享文件夹
2.8.2 安装 vmtools 的步骤
1) 进入 centos,右击这个光驱,点击弹出。
2) 点击 vm 菜单的->重新安装 VMware Tools
3) 这个时候大家会看到这个光盘,鼠标右击这个光盘,可以看到里面有个有个文件夹。
4) 拷贝到 /opt。复制
找到opt目录,进入opt目录,鼠标右击粘贴
5) 使用解压命令 tar, 得到一个安装文件
这个终端类始于,windows下面的那个终端
依次输入命令:cd /opt [进入到 opt 目录]
tar -zxvf xx.tar.gz
输完命令后,敲击回车键。解压之后就可以看到这里有个蓝色的文件夹了。
6) 进入到刚刚解压的这个目录里面(vmware-tools-distrib)
输入命令:cd vmware-tools-distrib
输入命令:ls
可以看到里面有个 vmware-install.pl 文件,这个就是它的一个安装文件。
7) 安装 ./vmware-install.pl
输入命令:./vmware-install.pl
输完命令之后:一路敲击回车,一直回车 (全部使用默认设置即可, 就可以安装成功)
8)安装成功 !
9) 注意:安装 vmtools 需要有 gcc . (在终端输入gcc -v 如果有输出信息,就证明有安装gcc,如果没输出相关信息就是没有安装)
2.8.3 设置共享文件夹
基本介绍:
为了方便,可以设置一个共享文件夹,比如在windows中创建 d:/myshar
具体步骤:
1) 鼠标右击我们的虚拟机=>点击设置, 如图设置即可注意:设置选项为 总是启用,这样可以读写了
2) windows 和 centos 可共享 d:/myshare 目录可以读写文件了
3) 虚拟机共享的文件夹在 centos 的 /mnt/hgfs/ 下
注意事项和细节说明:
windows 和 contos 就可以共享文件了,但是在实际开发中,文件的上传下载是需要使用 远程方式完成的
远程方式登录,我们后面会具体讲解
第三章 Linux的目录结构
3.1 基本介绍
- linux 的文件系统是采用级层式的树状目录结构,在此结构中的最上层是根目录“/”,然后在此目录下再创建其他的目录。
- 深刻理解 linux 树状文件目录是非常重要的,这里我给大家说明一下。
- 记住一句经典的话:在 Linux 世界里,一切皆文件(!!!)
- 示意图
3.2 具体的目录结构
1) /bin [常用] (/usr/bin 、 /usr/local/bin)
是 Binary 的缩写, 这个目录存放着最经常使用的命令
2) /sbin (/usr/sbin 、 /usr/local/sbin)
s 就是 Super User 的意思,这里存放的是系统管理员使用的系统管理程序。
3) /home [常用]
存放普通用户的主目录,在 Linux 中每个用户都有一个自己的目录,一般该目录名是以用户的账号命名。
4) /root [常用]
该目录为系统管理员,也称作超级权限者的用户主目录
5) /lib
系统开机所需要最基本的动态连接共享库,其作用类似于 Windows 里的 DLL 文件。几乎所有的应用程序都需要用到这些共享库
6) /lost+found (隐藏目录)
这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
7) /etc [常用]
所有的系统管理所需要的配置文件和子目录, 比如安装 mysql 数据库 my.conf
8) /usr [常用]
这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似与 windows 下的 program files 目录。
9) /boot [常用]
存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件
10) /proc [不能动]
这个目录是一个虚拟的目录,它是系统内存的映射,访问这个目录来获取系统信息
11) /srv [不能动]
service 缩写,该目录存放一些服务启动之后需要提取的数据
12) /sys [不能动]
这是 linux2.6 内核的一个很大的变化。该目录下安装了 2.6 内核中新出现的一个文件系统 sysfs =》【别动】
13) /tmp
这个目录是用来存放一些临时文件的
14) /dev
类似于 windows 的设备管理器,把所有的硬件用文件的形式存储
15) /media [常用]
linux 系统会自动识别一些设备,例如 U 盘、光驱等等,当识别后,linux 会把识别的设备挂载到这个目录下
16) /mnt [常用]
系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将外部的存储挂载在/mnt/上,然后进入该目录就可以查看里的内容了。 d:/myshare
17) /opt
这是给主机额外安装软件所存放的目录。如安装 ORACLE 数据库就可放到该目录下。默认为空
18) /usr/local [常用]
这是另一个给主机额外安装软件所安装的目录。一般是通过编译源码方式安装的程序
19) /var [常用]
这个目录中存放着在不断扩充着的东西,习惯将经常被修改的目录放在这个目录下。包括各种日志文件
20) /selinux [security-enhanced linux]
SELinux 是一种安全子系统,它能控制程序只能访问特定文件, 有三种工作模式,可以自行设置.
示意图: