引言
开发环境
平时大家大多是在Windows或者Mac操作系统下去编写代码进行开发,在开发环境中安装大量的软件,这样会导致环境的稳定性和安全性降低
生产环境
是将程序运行在此环境中,供用户去使用。这个环境是有专业的人员去维护,一般人是没有权限去操做生产环境的
测试环境
一般克隆一份生产环境,会将开发环境中的程序部署到测试环境中,这个环境的主要目的是去程序进程检测,收集程序中的各种问题,并交给开发人员进行修改
操作系统的选择
生产环境中,常用的操作系统有Windows 2003 service,Linux,Unix等等,Linux操作系统,在生产环境中占据了大量的市场份额,Linux主要以稳定,可靠,免费的特点成为全球使用最多的服务器操作系统。
Linux操作系统现在已经成为后台开发人员必备的技能,并且后期学习的各种知识都会涉及到Linux操作系统。
Linux介绍
Linux介绍
在Linux操作系统出现之前,还有一个操作系统叫做Minix,Minix操作系统是由Andrew的大学教授研发出来的,当时大学教授是为了给学生上课,买了一套Unix操作系统,参考Unix自己写了一个操作系统,并且命名为Minix。同时将Minix开源,供学校内部的研究和教学,到了2000年,Andrew将Minix操作系统完全对外开源。
Minix由于完全对外开源之后,在互联网上迅速的传播,但是大家在使用时,发展Minix不时很完美,内部存在各种各样问题。用户将问题解决后,编写了一个补丁,将补丁以邮件的方式发给Andrew,但是Andrew教授最初的目的只是为了教学和研究。
于此同时,一位芬兰的大学生出现了,叫Linus,在Minix操作系统基础上,自己添加了一些补丁和插件,并将其命名为Linux操作系统,并且完全对外开源,而且开始维护Linux操作系统。
之前学习的Git也时Linus研发的。
Linus Torvalds 和 Linux |
---|
Linux的版本
Linux的版本分为两种,一种是Linus团队正在维护的开源内核版本。另一种是一些厂商基于内核版本封装的发行版本。
Linux的内核版本官网:https://www.kernel.org/
Linux的发行版本,咱们需要学习的发行版本就时CentOS
Linux的常见发行版本 |
---|
Linux和Windows区别
- Linux是严格区分大小写的,Windows无所谓。
- Linux中一切皆是文件。
- Linux中文件是没有后缀的,但是他有一些约定俗成的后缀。【tar.gz tar】
- Windows下的软件一般是无法直接运行的Linux中。
Linux安装
安装Linux,我们需要一个虚拟机,为了安装虚拟环境:VMware或者Virtual Box(采用VMware)
为了安装Linux,我们需要一个Linux的镜像文件:CentOS7版本
http://mirrors.163.com/centos/7/isos/x86_64/CentOS-7-x86_64-Minimal-1908.iso
安装一个连接Linux的图形化界面:Xterm,SSH,XShell(Xterm)
https://download.mobatek.net/2012020021813110/MobaXterm_Portable_v20.1.zip
安装VMware
傻瓜式安装,下一步下一步下一步……
安装Xterm
解压即可以使用……
在VMware中安装Linux
按照下图步骤,逐步安装Linux操作系统……‘
选择安装方式
选择安装方式 |
---|
指定镜像方式
选择稍后安装操作系统 |
---|
选择操作系统类型
选择操作系统类型 |
---|
指定虚拟机名称
指定虚拟机名称,和安装目录 |
---|
磁盘存储方式
拆分成多个文件存储 |
---|
指定虚拟机配置
具体配置
- 内存:4G
- 处理器:1个【2核】
- CD/DVD:指定 Centos.iso 文件所在路径【右侧菜单选择使用ISO映射文件】
- 网络适配器:NAT模式【跟主机共享一块网卡,安装成功后需要分配静态IP】
指定虚拟机的设置 |
---|
开始安装CentOS
开始界面选择语言 |
---|
3.3.8 配置虚拟机网络连接
配置安装位置以及网络和主机名(开启) |
---|
设置root用户密码
9、开始安装后,设置ROOT用户的密码 |
---|
安装成功
10、安装成功,并登录 |
---|
使用Xterm连接Linux
直接在Vmware中操作Linux有很多限制,我们可以在图形化界面中操作Linux操作系统
具体步骤如下……
查看ip地址
在主机【windows】中需要把VMware相关的服务打开【默认自动开启】
- 右击电脑 –> 管理 –> 服务
windows的服务 |
---|
查看ip地址 |
---|
通过Xterm连接
连接上Linux |
---|
连接成功 |
---|
Linux的目录结构
Windows的目录结构是带有盘符的。D: E: C:,而Linux中是没有盘符的
在Xterm中输入ls / 查看Linux的顶级目录。
ls / |
---|
Linux的常用目录……
Linux目录树状图 |
---|
- root:该目录为系统管理员HOME目录
- bin:这个目录下放着经常使用的命令
- boot:这里存放的是启动Linux时的一些核心文件
- etc:存放系统管理所需要的配置文件和子目录
- home:普通用户的HOME目录
- usr:默认安装软件的目录,类似Windows中的Program Files目录
- opt:是主机额外安装软件摆放的目录
Linux的基本命令
Linux中命令的基本格式:命令 【选项】 【参数】
需要注意,个别命令是不遵循这个格式
当命令中有多个选项时,可以写在一起的,并且选项也是由简写方式的 命令 -选项A选项B
Linux的基本操作命令,不遵循上述格式,但是后期会经常使用……
1 | # 1. 我是谁 |
Linux目录命令【重点
】
列出目录
查看指定目录下的内容,默认查看当前目录下内容
1 | ls [-ald] [目录名] |
切换目录
实现目录间切换,使用绝对路径、相对路径、特殊符号
绝对路径:以/开头的
相对路径:不以/开头的
1 | cd 具体路径 | 特殊符号 |
特殊符号 | 表达的路径 |
---|---|
. | 当前目录 |
.. | 上一级目录 |
/ | 根目录 |
~ | 当前登录用户的HOME目录 |
- | 返回 |
创建目录
创建目录,以及创建多级目录方式
1 | mkdir [-p] 目录名 |
删除目录
删除非空目录或包含内容的目录
1 | # 只能删除空目录 |
复制目录
复制目录下的全部内容
1 | cp -r 来源目录 目标目录 |
移动、重命名目录
移动、重命名目录,会根据第二个参数指定具体操作逻辑
1 | mv 目录名 新目录名 | 路径 |
Linux的文件命令【重点
】
创建文件
创建空文件
1 | touch 文件名1 文件名2 …… |
编辑文件
编辑文件,后期最常的命令之一
1 | vi 文件名 # 查看文件。(查看模式) |
vi文件时,其他操作
编辑文件时,常用的快捷键,方便操作
1 | # 在vi文件时,在底行命令模式下可以输入以下常用内容 |
查看文件
根据不同的业务,可以选择不同的查看方式
1 | # 查看文件 |
- Linux配置环境变量的文件【将来jdk环境变量就会配置在这里】
1 | # /etc/profile |
移动、重命名文件
移动、重命名目录,会根据第二个参数指定具体操作逻辑
1 | mv 文件名 新文件名 | 路径 |
复制文件
复制文件到指定目录下
1 | cp 文件名 目录 |
删除文件
删除文件方式
1 | rm [-f] 文件名 |
Linux的压缩包命令【重点
】
针对tar命令
Linux中常用的压缩包,大多是.tar,.tar.gz,tgz的
解压压缩包
针对压缩包后缀的情况,采用不同的参数,否则可能会损失文件
1 | tar [-zxvf] 压缩包名称 [-C 路径] |
打包成压缩包
可以将多个文件以及目录打包成压缩包,根据选择的参数指定压缩包名
1 | tar [-zcvf] 压缩包名称 文件1 文件2 目录1 目录2 ... |
针对zip类型压缩包
Linux不仅仅针对tar类型的压缩包,也支持zip,rar这种Windows下的压缩包。
不过需要安装软件针对对各种类型压缩包的操作
安装软件
1 | yum -y install zip # 打包程序 |
解压以及打包
1 | # 解压 |
用户&用户组的操作
用户的常用操作命令
Linux是一个多用户的操作系统,任何一个用户想要操作Linux操作系统,必须向系统管理员申请一个账号才可以,并且以这个账号的身份去操作Linux。
用户的账号一方面可以帮助系统管理员追踪当前用户的操作。另一方面可以控制当前用户对系统资源访问。
查看用户
1 | # 查看当前系统所有用户 |
用户的创建
1 | useradd 用户名 |
设置用户密码
1 | passwd 用户名 |
查看用户在哪个组
1 | groups [user] |
切换用户
1 | su 用户名 |
su 用户名在切换用户时,由超级管理员切换到其他用户,是不需要输入密码的。
反之,则需要输入密码以保证安全。
删除用户
1 | userdel [-r] 用户名 |
1 | # 如果出现如下错误,原因是因为多次切换用户,造成进程被占用,使用Ctrl+d退出即可(多退出几次) |
修改用户
1 | usermod [-cgd] [选项指定的具体内容] 用户名 |
用户组的操作
用户的身份除了用户本身,还会分配到指定的用户组,可以通过用户组对设置一些文件的操作权限
创建用户组
1 | groupadd 用户组名 |
修改用户组
1 | groupmod [-n] [选项指定的具体内容] 用户组名 |
删除用户组
1 | groupdel 用户组名 |
文件权限的修改【重点
】
首先我们要清楚Linux文件的权限信息
在Linux中输入ls -l 或者 ll查看文件和目录的详细信息
文件详情 |
---|
实例中,a目录的第一个属性用“d”标识这个a是一个目录。
anaconda-ks.cfg第一个属性用“-”标识他是一个文件。
bin第一个属性用“l”标识他是一个链接
在Linux文件详情的后面属性需要分为三组查看
- rwx: 代表文件拥有者的权限
- rwx: 代表文件所属组用户的权限
- rwx: 代表其他用户对当前文件的操作权限
- r: 代表read,读的权限
- w: 代表write,写的权限
- x: 代表execute,代表执行权限
其余信息
后续的第一个root:代表当前文件的拥有者
后续的第二个root: 代表当前文件的所属组
后续分别为:文件的大小和最后修改时间等信息
对文件的权限修改
使用chmod对文件的权限进行修改,一种使用数字,一种使用符号……
- 数字方式方便操作,不过要修改整体权限信息
- 符号方式更细粒度华,不过操作麻烦
数字方式【推荐】
1 | chmod [-R] 777 文件|目录 |
符号方式
1 | chmod [-R] a=rw 文件|目录 |
文件拥有者及所属组修改
chown可以直接修改拥有者和所属组,chgrp只能修改所属组……
1 | # 修改文件的拥有者和所属组 |
Linux的其他操作命令【重点
】
进程的操作
需要用到类似Windows的结束进程时,在Linux下需要使用如下命令
1 | ps -ef |
1 | # 查看防火墙进程 |
服务的操作
和Windows下的服务操作一致,只需使用如下命令,默认为centos7版本
1 | # 针对服务的启动,停止,重启,开机自动启动,禁止开机自动启动,查看服务状态。 |
端口号查看
如发现端口号被占用,可以使用如下方式查找pid,并结束进程
1 | # 想使用指定的命令需要事先下载netstat |
访问地址
类似浏览器访问路径,无法图形化显示,一般用于测试
1 | curl 访问地址 |
查找文件
在Linux中查找指定文件,参数较多,如下为根据文件名称查询
1 | find 路径 -type f | grep profile |
历史记录
1 | #获取曾经操作过的所有命令 |
重点命令
6、7、8、10、11
Linux下安装软件
安装JDK
在Linux下安装JDK,并配置JAVA_HOME环境变量……
下载JDK的压缩包
去逛网下载压缩包,由于oracle官网更新,需要登录并同意协议才允许下载
https://www.oracle.com/cn/java/technologies/javase/javase-jdk8-downloads.html
将jdk压缩包拉取到Linux系统中
需要使用图形化界面的Sftp拖拽到Linux操作系统
Xterm的Sftp图 |
---|
将jdk的压缩包解压
后期大多软件都安装在/usr/local下,直接使用tar解压
1 | tar -zxvf jdk-8u261-linux-x64.tar.gz -C /usr/local |
将jdk的目录名修改一下
为了方便配置环境变量,修改一下目录名称
1 | cd /usr/local |
配置环境变量
Linux提供了两种环境变量的文件
- 第一个是用户级别的环境变量,存放在:~/.bashrc
- 第二个是系统级别的环境变量,存放在:/etc/profile
修改哪个文件都可以,毕竟虚拟机就我们自己使用
1 | # 在环境变量文件中,添加如下内容 |
测试效果 |
---|
安装MySQL
在MySQL下用yum的方式安装MySQL……
安装MySQL的YUM存储库
使用wget下载即可,不过需要先下载wget,再通过wget下载rpm包
1 | # 首先通过yum下载wget命令 |
安装下载好的rpm包
使用rpm包的命令直接安装
1 | # 安装rpm包 |
选择发行版本
由于默认安装8.0版本的MySQL,我们需要修改为5.7版本
1 | # 查看一下默认选择的发行版本 |
1 | # 通过编辑/etc/yum.repos.d/mysql-community.repo文件,去修改发行版本 |
1 | #再次查看 |
MySQL安装版本 |
---|
安装MySQL社区版服务
开始安装,这一步需要下载一段时间,下载失败就是网络较差了,学会科学上网
1 | yum -y install mysql-community-server |
启动MySQL服务,并连接
安装成功后,手动启动,并使用日志中的密码登陆,而且第一个操作必须是修改密码,才可后续正常操作
1 | # 启动MySQL服务 |
开启远程连接
默认MySQL禁止远程链接,需要单独创建一个用户开启远程链接,这样就可以在windows下使用图形化工具连接
1 | mysql> GRANT ALL PRIVILEGES ON *.* TO 'ghy'@'%' IDENTIFIED BY 'P@ssw0rd' WITH GRANT OPTION; |
安装Tomcat
在Linux下安装Tomcat,以便部署工程到Linux操作系统
下载Tomcat的压缩包
下载安装包
- http://tomcat.apache.org/
- 下载后,拖动到linux中即可
解压压缩包
一样解压到/usr/local目录下
1 | tar -zxvf apache-tomcat-8.5.53.tar.gz -C /usr/local |
启动Tomcat并监听日志
通过./执行可运行文件,并使用tail监控日志信息
1 | # 跳转到tomcat的bin目录 |
日志及Tomcat首页 |
---|
1 | <!-- 依赖 --> |