目录
一、Linux概述
1.1Linux介绍
1.Linux是一个开源、免费的操作系统,其稳定性、安全性、处理多并发已经得到业界的认可,目前很多企业级的项目(c/c++/php/python/go)都会部署到Linux/Unix系统上。
2.常见的操作系统:
- Windows
- IOS
- Android
- MacOS
- Linux
- Unix
3.Linux内核网站:https://www.kernel.org/
4.Linux主要发行版:
- Ubuntu(乌班图)
- RedHat(红帽)
- Centos
- Debain(蝶变)
- Fedora
- SuSE
- OpenSUSE(示意图)
1.2Linux应用领域
- 个人桌面领域
- 此领域是传统linux应用薄弱的环节,近些年来随着ubuntu、fedora等优秀桌面环境的兴起,linux在个人桌面领域的占有率在逐渐的提高。
- 服务器领域
- linux在服务器领域的应用是最强的。
- linux免费、稳定、高效等特点在这里得到了很好的体现,尤其在一些高端领域尤为广泛(c/c++/php/java/python )。
- 嵌入式领域
- linux运行稳定、对网络的良好支持性、低成本,且可以根据需要进行软件裁剪,内核最小可以达到几百KB等特点,使其近些年来在嵌入式领域的应用得到非常大的提高。
- 主要应用:机顶盒、数字电视、网络电话、程控交换机、手机、PDA、智能家居、智能硬件等都是其应用领域以后在物联网中应用会更加广泛。
二、VM与Linux
2.1安装VM与Linux
1.VM下载地址
2.CentOS7.6下载地址http://mirrors.163.com/centos/7.6.1810/isos/x86_64/CentOS-7-x86_64-DVD-1810.iso
3.两者关系
给账号设置复杂密码可以参考:https://suijimimashengcheng.51240.com/
4.CentOS安装时的磁盘分区
- boot分区
- 引导分区,包含了系统启动的必要内核文件,即使根分区损坏也能正常引导启动
- 分区大小:1G
- 文件系统:ext4
- swap分区
- 类似Windows的虚拟内存,在内存不够用时占用硬盘的虚拟内存来进行临时数据的存放
- 分区大小:2G(与物理内存相同)
- 文件系统:swap
- 根分区
- 所有的文件都从这里开始
- 分区大小:17G(磁盘大小20G-1G-2G)
- 文件系统:ext4
2.2网络连接的三种模式
- 桥接模式
- NAT模式
- 主机模式
2.3虚拟机使用
2.3.1虚拟机克隆
虚拟系统安装完成后,其本质是放在文件夹中的文件。如果已经安装了一个虚拟系统,想要再安装一个一样的,没必要重装,可以采用以下两种虚拟机克隆方式:
方式一:把虚拟系统的文件夹拷贝某个磁盘中,再在VM中打开后缀名为.vmx的文件。
方式二:使用VM自带的克隆操作(关闭虚拟机系统->右击虚拟机系统->管理->克隆)。
2.3.2虚拟机迁移和删除
虚拟机迁移
把虚拟系统的文件夹剪切,再粘贴到某个磁盘中,最后在VM中打开后缀名为.vmx的文件。
虚拟机删除
- 关闭虚拟机系统->右击虚拟机系统->移除(此时磁盘中并未删除虚拟系统)。
- 删除磁盘中虚拟系统的文件夹。
2.3.3虚拟机快照
虚拟机快照:系统异常时,可以回到之前某个保存了的正常状态。
实例
安装系统后,先做一个快照1。
创建文件夹hello1,做一个快照2。
创建文件夹hello2,做一个快照3。
回到快照1(发现快照1下面出现分支)。
创建文件夹hello3,做一个快照4。
结果
建议
当安装软件或者系统操作前后发生很大变化,对系统存在影响时,可以选择做快照。不是每次操作都要做快照,因为做快照会占用磁盘空间。
2.3.4安装vmtools
介绍
安装vmtools,可以方便我们在windows下管理vm虚拟机。
可以设置windows和centos的共享文件夹。
注意
安装vmtools工具需要gcc,使用“gcc -v”即可验证系统是否安装过gcc。
共享文件夹
- 在windows主机上的D盘下创建一个.txt文件
- 右击centos->设置->选项->共享文件夹->总是启用->添加..
- 共享文件夹保存在centos的/mnt/hgfs下
注意
windows和centos都可以共享文件夹了,但是实际开发中,文件的上传下载是通过远程方式完成的。
三、Linux目录结构
3.1基本介绍
- Linux文件系统采用层级式的树状目录结构。最上层是根目录“/”,然后在此目录下创建其他目录。
- 在Linux世界里,一切皆文件。
3.2具体目录结构
3.2.1常用
目录 | 说明 |
/bin(/usr/bin、/usr/local/bin) | 存放最经常使用的命令 |
/home | 存放普通用户的主目录(在Linux中每个用户都有一个主目录,一般该目录名以用户的账号命名) |
/root | 系统管理员的用户主目录 |
/etc | 存放系统管理所需要的配置文件和子目录(比如mysql数据库my.conf) |
/usr | 存放用户的应用程序和文件(类似于windows下的program file) |
/boot | 存放启动Linux时使用的一些核心文件(包括一些连接文件以及镜像文件) |
/media | Linux会把自动识别的一些设备(如U盘、光驱)挂载到这个目录下 |
/mnt | 为了让用户临时挂载别的文件系统(可以将外部的存储挂载在/mnt上,这样就可以查看该目录下的内容了) |
/usr/local | 存放用户自己编译的软件 |
/var | 存放不断扩充的东西。习惯将经常被修改的目录放在这个目录下(包括各种日志文件) |
3.3.2不能动
目录 | 说明 |
/proc | 这个目录是一个虚拟的目录,它是系统内存的映射,访问这个目录来获取系统信息 |
/srv | service 缩写,该目录存放一些服务启动之后需要提取的数据 |
/sys | 这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 |
3.3.3其它
目录 | 说明 |
/sbin(/usr/sbin、/usr/local/sbin) | s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序 |
/lib | lib 系统开机所需要最基本的动态连接共享库,其作用类似于Windows里的 DLL文件。几乎所有的应用程序都需要用到这些共享库 |
/lost+found | 这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件 |
/tmp | 存放临时文件 |
/dev | 类似于windows的设备管理器,把所有的硬件用文件的形式存储 |
/opt | 这是给主机额外安装软件所存放的目录(如安装Oracle 数据库就可放到该目录下)。默认为空 |
/selinux | SELinux是一种安全子系统,它能控制程序只能访问特定文件,有三种工作模式,可以自行设置 |