文章目录
第一章、Linux介绍
1.1 Linux是什么
1.2 Linux主要的发行版本
第二章、Linux的安装
2.1下载软件
2.1.1 虚拟机软件下载
2.1.2 CentOS下载
- 网易镜像:http://mirrors.163.com/centos/6/isos/
- 搜狐镜像:http://mirrors.sohu.com/centos/6/isos
2.2 安装虚拟机
2.2.1 虚拟机介绍
2.2.2 安装Vmware虚拟机步骤
2.3 安装CentOS
2.3.1 CenOS介绍
2.3.2 安装CentOS步骤
查看Linux系统的ip地址:ifconfig
第三章、Linux的目录结构
3.1 Linux目录结构概述
3.2 Linux具体目录结构
第四章、Linux的远程操作工具
4.1 Linux的远程操作
一些公司可能把Linux系统放在别的地区或者别的公司,这时我们想操作就得用远程连接去完成
4.2 Xshell
4.2.1 简介
下载:https://www.netsarang.com
4.2.2 Xshell安装
1.解压Xshell文件
2.**Xshell,一次点击1.2即可**
4.2.3 Xshell的使用
1.双击图标
2.新建连接,连接远程Linux系统
3.启动连接
4.输入用户名
5.输入密码
6. 使用Xshell远程操作
在Xshell上操作就相当于在远程的Linux上操作
4.3 Xftp
4.3.1 Xftp简介
Xshell可以模拟终端远程操作Linux,但是不能用它往远程Linux上传或下载文件
下载:https://www.netsarang.com
4.3.2 Xftp安装
1.解压Xftp文件
2.**Xftp文件
4.3.3 Xftp的使用
1.打开Xftp
2.新建连接
3.启动连接
4.输入密码
5.使用Xftp上传和下载文件
第五章、Linux系统管理
5.1 vi和vim的使用
5.1.1 vi和vim简介
5.1.2 Vi和vim三种常见模式
5.1.3 Vi和vim常用快捷键
5.2 Linux用户管理
5.2.1 Linux用户简介
Linux系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。root用户是系统默认创建的管理员账号。
5.2.2 添加用户
5.2.3 删除用户
5.2.4 切换、查询用户
5.3 Linux组管理
5.3.1 Linux的组简介
Linux的组类似于角色,系统可以对有共性的多个用户进行统一的管理。每一个用户都至少属于一个组,创建用户时如果不指定组,会默认创建一个跟用户名相同的组,并且把新创建的用户分配到组中,root用户默认属于root组。
5.3.2 添加组
5.3.3 删除组
5.3.4 添加用户时指定一个组
5.3.5 将用户添加到组/从组中移除
5.4 Linux的系统操作
第六章、Linux实操指令
6.1帮助指令
在使用Linux过程中,如果遇到不熟悉的指令,一个是可以到网络上去查找,当没网的时候可以使用帮助指令。
6.1.1帮助指令man
语法:man [命令或配置文件]
功能描述:获得Linux系统帮助手册上的信息
案例:查看命令ls的用法:
分屏显示、按回车翻一行、按空格翻一页,按q退出查看
6.1.2 帮助指令help
语法:help [命令]
功能描述:获得命令内置的帮助信息,就是开发Linux的开发人员写的注释信息
案例:查看命令cd的用法:
6.2 文件目录指令
6.2.1 pwd指令
语法:pwd
用于显示当前目录的路径
案例:查看testDir包的路径
6.2.2 ls指令
语法:ls [选项] [目录或是文件]
常用选项
-a :显示当前目录所有的文件和子目录,包括隐藏的。
-l :以列表的方式显示信息
6.2.3 cd指令
语法:cd [参数]
功能描述:切换到指定目录
绝对目录:以盘符开始的目录叫绝对目录,从盘符开始查找目标目录
cd/opt/testDir
相对目录:以目录名开始的目录叫相对目录,从当前目录开始查找目标目录
cd testDir
~:当前用户的根目录。在任何目录下执行:cd ~,回到当前用户的根目录
. . : 当前目录的上一级目录,从当前目录开始查找它的上一级目录
.: 当前目录
如果要执行某个文件,不能直接执行xxx.sh===>只能./xxx.sh
6.2.4 mkdir命令
语法:mkdir [选项] 要创建的目录
常用选项
-p :创建多级目录
6.2.5 rmdir指令
语法:rmdir 目录
功能描述:删除一个空目录
-rf: 删除一个非空目录
6.2.6 touch指令
语法:touch 文件名称列表
功能描述:创建一个或多个空文件
这个指令比用vim好,vim一次只能创建一个,主要是用来编写文件内容,用touch创建好文件后,用vim来编写就行
6.2.7 cp指令
语法:cp [选项] source(源) dest(目标)
常用选项:
-r:递归复制整个文件夹
6.2.8 rm指令
语法:rm [选项] 要删除的文件或目录
常用选项:
-r :递归删除整个文件夹
-f :强制删除不提示
6.2.9 mv指令
移动目录或文件
语法:mv source(源) dest(目标)
文件重命名
mv oldname newname :把oldname目录,重命名为newname
6.2.10 cat指令
语法:cat [选项] 要查看的文件名
常用选项
-n :显示行号
6.2.11 more指令
语法:more 要查看的文件名
功能说明:more指令是一个基于VI编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容。
快捷键
6.2.12 less指令
语法:less 要查看的文件名
功能说明:less指令用来分屏查看文件内容,它的功能与more指令类似,但是比more指令更加强大,支持各种显示终端。less指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示需要加载内容,对于显示大型文件具有较高的效率。
快捷键
6.2.13 head指令
head 文件(功能描述:默认查看文件头10行内容)
head -n 5 文件(功能描述:查看文件头5行内容,5可以是任意行数)
6.2.14 tail指令
tail 文件(功能描述:默认查看文件尾10行内容)
tail -n 5 文件(功能描述:查看文件尾5行内容,5可以是任意行数)
6.2.15 echo指令
语法:echo [选项] [输出内容]
功能介绍:输出变量或常量内容到控制台
6.2.16 >指令
语法:查看指令 > 目标文件
功能说明:将前一个查看指令中的结果覆盖写入到目标文件中,如果目标文件不存在,则新建。
如果目标文件不存在,就会自动创建目标文件,然后把结果写入文件
如果目标文件已存在,再次导入结果,就会对以前文件中所有的内容进行覆盖
6.2.17>>指令
语法:查看指令 >> 目标文件
功能说明:将前一个查看指令中的结果追加写入到目标文件中
如果目标文件不存在,则新建。
如果目标文件存在,则在文件原来内容的基础上进行追加
6.3 时间日期指令
6.3.1 date指令
6.3.2 cal指令
语法:cal [选项](功能描述:不加选项,显示本月日历)
6.4 搜索查找指令
6.4.1 find指令
语法:find [搜索范围] [选项]
find指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件或者目录显示在终端。
选项说明:
-name:按名称查找,支持通配符。
-user:按用户名查找
-size:按文件大小查找
6.4.2 locate指令
语法:locate 要搜索的文件名
说明:locate指令可以快速在整个系统中定位文件路径。locate指令利用事先建立的系统中所有文件名称及路径的locate数据库实现快速定位给定的文件。locate指令无需遍历整个文件系统,是在整棵目录树中搜索,查询速度较快。为了保证查询结果的准确度,管理员必须定期更新locate时刻(updatedb)。
6.4.3 grep指令
语法:grep [选项] 查找的源文件内容
常用选项:
-n:显示匹配行和行号
-i:忽略大小写
说明:grep 过滤查找,管道符,“|”,表示将前一个搜索命令的处理结果按名称进行过滤,比如前面的结果查询出100条数据,但是我只想看其中包含beijing的,那么就可以用grep
6.5 压缩和解压缩指令
6.5.1 压缩或者解压单个文件:gzip、gunzip指令
语法:gzip 文件名
功能说明:压缩文件,将文件压缩为*.gz文件存放在原文件所在目录,压缩成功后会把原文件删除。用于压缩单个文件
语法:gunzip 文件名
功能说明:解压缩文件命令,解压成功后存放在原压缩文件所在目录,并且把原压缩文件删除。
6.5.2压缩(打包)或者解压多个文件或目录:zip、unzip指令
语法:zip [选项] XXX.zip 文件或者目录
功能描述:将是指定文件或目录压缩成XXX.zip文件,用于压缩所有文件结构。压缩成功后不会删除原有文件或目录
选项说明:
-r:递归压缩,即压缩目录
语法:unzip [选项] 压缩包名(.zip)
功能描述: 将解压后的文件放到当前目录
常用选项:
-d 目录:指定解压后文件的存放目录
6.5.3压缩(打包)或者解压多个文件或目录:tar指令
语法:tar [选项] 目标压缩包名称(XXX.tar.gz) 文件或目录
功能描述:打包或者解压文件
选项说明:
-c:打包或压缩
-v:显示详细信息
-f:指定压缩后的文件名
-z:打包同时压缩
-x:解压.tar.gz文件
-C: 指定解压到哪个目录
固定格式:tar –zcvf xxx.tar.gz 文件或目录列表 压缩打包
tar –zxvf xxx.tar.gz –C 解压目录名
6.6 组管理指令
6.6.1 Linux组的基本介绍
6.6.2文件/目录的所有者
一般为文件的创建者,谁创建了该文件,就自然的成为该文件的所有者,默认情况下所有者所在的组也即使文件所在的组。
6.6.2.1 查看文件所有者和所在组指令
语法:ls –ahl 文件名
(a- all,h-human,l-list)
ls -l 也可以
6.6.2.2 修改文件所有者指令
语法:chown 新所有者 文件名
chown newowner:newgroup file 同时修改用户的所有者和所有组
-R 如果是目录则使其下所有子文件或目录递归生效
功能说明:把文件所有者修改为指定的用户。
6.6.2.3 修改文件所在组指令
语法:chgrp 新组名 文件名
-R 如果是目录则使其下所有子文件或目录递归生效
功能描述:把文件所在组改为指定组
6.7 权限管理指令
6.7.1 权限基本介绍
这里所说的权限都是文件和目录的权限。在Linux中,每一个文件和目录都有自己的访问权限,通过文件列表可以查看到。
6.7.2 RWX权限详解
Root对文件和目录的rwx和普通用户一样,但是root没有w权限也能对文件的权限进行修改
6.7.3 权限管理指令
6.7.3.1 修改文件/目录权限的指令chmod
只有对文件有写权限,才能对文件修改权限,但是文件所有者和root没有写权限也能对文件修改权限
权限分配:文件所有者是7,同组其他用户是5,其他组用户是1
第七章、网络配置
7.1 查看和配置网络
7.1.1 查看虚拟网络编辑器
7.1.2 查看IP和网关
7.2 配置Linux网络
修改文件:/etc/sysconfig/network-scripts/ifcfg-eth33
重启网络服务(service network restart)或者重启linux(reboot)即可。
第八章.进程管理
8.1 进程介绍
在Linux中,每个执行的程序(代码)都称为一个进程。每一个进程都分配一个ID号。每一个进程,都会对应一个父进程。
进程有两种运行方式:前台和后台。前台方式是目前用户可以在前台操作的,后台方式是实际在运行,但用户在前台看不见。
一般系统的服务都是以后台进程的方式存在,而且都会常驻在系统中。直到关机才结束
8.2 查看系统运行的进程
语法:ps 参数
参数说明:
ps –a:显示当前终端下的所有进程信息
ps –u:以用户的格式显示进程信息
ps –x:显示后台进程运行的参数
ps –e:显示所有进程信息
ps –ef:以全格式显示进程信息 --通常用于查看linux系统中某些软件或者应用是否处于开启状态
也可以用|prep来过滤
8.3 终止进程
语法:kill 选项 进程ID
killall 进程名称(支持通配符)
选项说明:
-9:表示强迫进程立即停止。
使用ps命令来查看进程的PID,使用kill命令来根据PID终止进程
8.4 服务管理
8.4.1 服务介绍
服务是支持Linux运行的一些必要程序,本质上也是进程,叫守护进程。守护进程通常默默地运行在后台,为应用程序提供必要支撑,比如sshd、防火墙等。
8.4.2服务管理指令
语法:systemctl [start、stop、restart、reload、status、enable] 服务名称
CentOS7之前,使用命令service 服务名称 [start、stop、restart、reload、status、enable]
功能描述:开启、关闭、重启、重新加载、查看服务状态、开机启动
8.4.3 查看网路服务(了解)
8.4.3.1 netstat命令
语法:netstat 选项
选项说明:
-an 按一定顺序排列输出
-p 显示哪个进程在调用
8.4.3.2 ping命令
语法:ping 选项 目标主机
功能描述:是一种网络检测工具,它主要是用检测远程主机是否正常,或是两部主机间的介质是否为断、网线是否脱落或网卡故障。
第九章、Linux软件包管理
9.1 RPM包的管理(了解)
9.1.1 RPM介绍
一种用于互联网下载包的打包及安装工具,它包含在某些Linux分发版中。它生成具有.RPM扩展名的文件。RPM是RedHat Package Manager(RedHat软件包管理工具)的缩写,类似windows的setup.exe,这一文件格式名称虽然打上了RedHat的标志,但理念是通用的。Linux的分发版本都有采用(suse,redhat, centos等等),可以算是公认的行业标准了。
缺点:如果安装的rpm包中依赖于别的rpm,那么必须先下载那个依赖的rpm才行,如果有很多的依赖rpm包,那么我们都要自己去手动找到那些rpm包,并安装才行
9.1.2 RPM包的查询指令
rpm –qa :查询所安装的所有软件包
rpm –qa|more:分页查询所安装的所有软件包
rmp –qa|grep xxx:过滤查询安装的指定软件包
9.1.3 RPM包的卸载指令
语法:rpm –e 选项 软件包名称
选项说明:
–nodeps 表示强制删除,用于被删除的软件包有依赖的情况
9.1.4 RPM包的安装指令
语法:rpm 选项 RPM包全路径名
选项说明:
-i=install 安装
-v=verbose 提示
-h=hash 进度条
比如要安装火狐浏览器
1.在目录/run/media/root/CentOS 7 x86_64/Packages下找到firefox安装包:如果CentOS光驱下没有你要的安装包,那么就得去网上下载.rpm结尾的安装包
2.拷贝安装包到/opt目录下
3.安装firefox
9.2 YUM包的管理
9.2.1 YUM介绍
Yum 是一个Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器(在公网上)自动下载RPM包并且安装,相当于maven,可以自动处理依赖性关系,并且一次安装所有依赖的软件包。
注意:使用YUM的前提是可以连接外网。
9.2.2 YUM包的查询指令
语法:yum list[ installed]|grep xx
功能描述:查询YUM服务器上已经安装到本地的软件包
9.2.3 YUM包的安装指令
语法:yum install 包名
下载安装,会去YUM的服务器上下载指定的包,如果本地有,就会用本地的
9.2.4 YUM包的卸载指令
比如:卸载firefox
第十章、搭建JAVAEE开发环境
我们在Linux上只是来执行项目,而不是去开发项目,在window中把项目做好了,打成一个包给Linux中运行,所以我们需要安装一些开发环境,用于运行项目
10.1安装JDK
第一步:先将软件通过xftp 从windows上传到linux的/opt 下
第二步:解压缩到/opt目录下,Linux中的软件包都是免安装的
第三步:配置环境变量的配置文件vim /etc/profile
第四步:使配置文件生效
第五步:测试安装是否成功
10.2 安装tomcat
第一步:先将软件通过xftp 从windows上传到linux的/opt 下
第二步:解压到/opt
第三步:启动tomcat
第四步:Linux上访问tomcat
第五步:Linux上开启Tomcat,windows上访问tomcat
注意:从其它机器上访问需要关闭linux的防火墙。
10.3 安装mysql
第一步:查看是否已经安装了mariadb
检查linux是否安装了mariadb数据库,mariadb数据库是mysql的分支。是免费开源的。mariadb和msyql会有冲突。首先要检查安装了mariadb, 如果有就卸载掉。
检查命令:yum list installed | grep mariadb
卸载命令:yum –y remove xxxx
*如果卸载不成功,需要去掉参数-y,手动确认卸载。
第二步:上传mysql安装包到/opt下
第四步:解压mysql安装包到目录/opt
第五步:修改解压后的根目录名
第六步:创建数据文件夹data
data文件夹是mysql用来存放数据库文件的,数据库的表数据都放在data目录。
默认没有data目录,可以手工创建data目录,在mysql-5.7.18文件夹目录下创建一个data文件夹。
第七步:创建用来执行mysqld 命令的Linux用户
创建mysql用户,用来执行MySQL的命令mysqld ,此命令用来初始化msyql基础信息。可以使用其他用户,例如叫做 mydb.等,但不推荐。
第八步:初始化mysql
使用mysql的 mysqld 命令初始化数据库的基本信息。切换到mysql-5.7.18/bin目录下执行。
命令:./mysqld --initialize --user=mysql --datadir=/opt/mysql-5.7.18/data --basedir=/opt/mysql-5.7.18
参数说明:
–initialize 初始化mysql,创建mysql的root, 随机生成密码。记住密码,登录msyql使用。
–user执行msyqld 命令的linux用户名
–datadir : mysql数据文件的存放位置,目录位置参照本机的设置。
–basedir : msyql安装程序的目录,目录位置参照本机的设置。
该命令执行后,会生成一个临时的mysql数据库root用户的密码,请先拷贝出来记住,后续第一次登录mysql需要使用
密码:vZloTj(d%5q)
第九步:启用安全功能
在服务器与客户机之间来回传输的所有数据进行加密。通过证书提供了身份验证机制,mysql命令程序mysql_ssl_rsa_setup提供了开启数据加密功能,生成数字证书。
在mysql-5.7.18/bin目录下执行命令:
./mysql_ssl_rsa_setup --datadir=/opt/mysql-5.7.18/data
第十步:修改mysql安装目录权限
mysql安装后,需要更改mysql-5.7.18整个文件夹目录权限,因为一开始root是所有者,需要更改所属的用户和组为之前创建的mysql用户及其所在组。在mysql安装目录的上级(/opt)位置,执行命令chown .
例如:chown -R mysql:mysql /opt/mysql-5.7.18/
chmod 777 /opt/mysql-5.7.18/
第十一步:启动mysql
启动MySQL服务,mysql-5.7.18/bin目录下执行命令:./mysqld_safe &(其中&符号表示后台启动)如果不加&,那么mysql启动后,自己会占用目前的终端页面,我们无法再进行操作。然后,输入命令后按Enter。
确认msyql是否启动,查看进程 ,使用ps -ef | grep mysql
第十二步:客户端登录mysql
登录进入mysql,mysql-5.7.18/bin目录下执行命令:./mysql -uroot -p
-u表示使用root用户登录系统,使用第7步生成的密码。
-p表示使用密码登录
第十三步:修改root密码
第8步的root用户密码是临时密码,要修改才能使用。
执行sql语句 show databases; 第一次使用将会提示修改mysql的root用户密码:
修改mysql的密码,命令语法:alter user ‘用户名’@‘主机域名或ip’ identified by ‘新密码’
例如:alter user ‘root’@‘localhost’ identified by ‘19990218’;
第十四步:授权远程访问
授权远程访问,在没有授权之前只能在本机访问msyql,远程授权就是让其他计算机通过网络访问mysql(这样远程客户端才能访问)。
授权命令:grant
语法:grant all privileges on . to [email protected]’%’ identified by ‘19990218’;
参数:
其中*.* 的第一个表示所有数据库名,第二个表示所有的数据库表;
[email protected]’%’ 中的root表示用户名,%表示ip地址,%也可以指定具体的ip地址,比如[email protected],[email protected]等。
执行授权命令:grant all privileges on . to [email protected]’%’ identified by ‘19990218’;
更新权限信息,执行flush刷新权限: flush privileges;
按exit退出mysql语句
关闭防火墙:systemctl stop firewalld
远程连接数据库,用window下用Navicat连接
第十二步:关闭mysql服务
mysql-5.7.18/bin目录下执行:./mysqladmin -uroot -p shutdown输入密码关闭
查看mysql进程,已经没有mysqld_safe
第十一章、将CRM项目部署到Linux服务器上
11.1 将Windows中数据库的数据表放到Linux中的数据库中
1.将数据表打包成sql脚本
2.在Linux的服务器上运行SQL脚本
11.2 将CRM项目打包成war包
1.更改数据库连接信息
我们需要去Linux的数据库中运行,所以要把这些信息变成Linux中的数据库的信息,有改变就改变,没有就不用
2.用Idea打包项目
3.找到war包所在的目录
11.3 将war包传到Linux的Tomcat目录下
1.通过xftp软件上传到Linux中
2.开启Tomcat服务器
3.在Linux中访问CRM项目
4.在windows中访问部署在Linux中的CRM项目