1、认知Linux
与Windows的不同:
-
Linux是严格区分大小写的,Windows无所谓。
-
Linux中一切皆是文件。
-
Linux中文件是没有后缀的,但是他有一些约定俗成的后缀。
-
Windows下的软件一般是无法直接运行的Linux中。
2、安装Linux
【注意】本教程采用虚拟机的方式进行安装(虚拟机为VirtualBox)
【注意】
1、如果有同学的电脑,只能选择32位的版本,需要改电脑的BIOS设置不同电脑设置方式不同,需要查询改正:品牌+型号不能安装Linux的64位系统
2、Linux系统的硬件要求:内存至少4个G,硬盘20个G
如果鼠标进入虚拟机,在实体机下找不到鼠标的光标,按又Ctrl,鼠标就从虚拟机下切出
【强调】开发在公司本地,但是用户的Linux服务器时远程的,本地需要安装一个远程控制Linux服 务器的软件
需要知道远程服务器的IP地址
在Linux系统下,应用程序----》终端-----》输入命令ifconfig
3、Linux的目录结构
linux不分盘,没有盘符的概念
根目录:/
查看根目录下有哪些子目录:ls /
bin dev home lib64 mnt proc run srv tmp var boot etc lib media opt root sbin sys usr
目录结构解析:
-
root:该目录为系统管理员HOME目录
-
bin:这个目录下放着经常使用的命令
-
boot:这里存放的是启动Linux时的一些核心文件
-
etc:存放系统管理所需要的配置文件和子目录
-
home:普通用户的HOME目录
-
usr:默认安装软件的目录,类似Windows中的Program Files目录
-
opt:是主机额外安装软件拜访的目录
【说明】
1、在Linux系统中,只要创建一个用户,就会在home文件夹下创建一个和用户名同名的文件夹这个文件夹中,默认就会包含8个文件夹:公共 模板 视频 图片 文档 下载 音乐 桌面
2、用户之间没有权限去访问彼此的目录结构
3、root是管理员用户,有权查看所有目录
4、Linux常用命令
【说明】安装、配置软件所需要的命令
基本命令:
1、who am i 查看当前用户
2、pwd 查看当前所在目录
3、 ip a 或者ip address 查看IP地址
4、clear 清屏幕
5、ping ip地址 检查两台机器的网络是否连通
【说明】在Linux系统中通过ctrl+c 强制结束命令的执行
6、查看目录命令
ls 查看当前目录的文件
ls -a 查看当前目录下的所有文件,包括隐藏文件(Linux下的隐藏文件以.开头)
ls -l 列举出当前目录下文件的详细信息:文件类型 权限 所属用户 所属用户所在组 大小 时 间等信息
ls -d 仅查看目录本身
7、切换目录命令
cd 具体路径 进入到对应的目录下
cd .. 返回到上一级目录
cd . 进入当前目录
cd / 进入到根目录
cd ~ 进入到当前用户的主目录 /home/用户名的目录
8、创建目录命令
mkdir 目录名 创建单个目录
mkdir -p 目录1/目录2 创建多级目录
9、删除目录
rmdir 目录名 删除空目录
rm -rf 目录名 删除非空目录
-r 递归删除目录下的全部内容
-f 不询问,直接删除
10、复制目录
cp -r 来源目录 目标目录 把来源目录里的内容复制到目标目录中
-r 递归复制
11、目录的移动、重命名 找不到就给它改名 找到了就给它移过去
mv 目录名 新目录名或路径
mv zhangsan ~/下载 把zhangsan及其子文件夹移动到当前用户的主目录的下载文件夹下
12、创建空文件
touch 文件名1 文件名2 ... 创建空文件
13、编辑文件
vi 文件名 相当于打开文件,还不能编辑
输入 i a o 可以进入到文件的编辑状态
i: 在当前光标进入编辑模式
a: 在当前光标后一格进入编辑模式
o: 在当前光标的下一行进入编辑模式
编辑完成后,摁esc键退出编辑状态
:wq 保存并退出
:q! 不保存并退出
【说明】vi命令,如果文件存在则打开这个文件
如果文件不存在,则创建文件,然后打开
14、vi打开文件后的操作命令
set nu 给每行文本添加行号
to 行号 光标定位在指定行号的这一行
set nonu 取消行号的显示
/ 要查找的文字或词语 把查找到的文字或词语使用背景色给标识出----重要
G 光标跳转到最后一行
gg 光标跳转到第一行
15、查看文件 重要
cat 文件名 把文件的内容按正常的顺序显示在命令窗口中
tac 文件名 把文件的内容按倒序的顺序显示在命令窗口中
nl 文件名 添加行号的形式显示文件内容
more 文件名 以分页的形式来显示文件(文件内容较多时使用)
按 空格键 space 进行翻页---向下翻页
q 取消翻页操作,直接到命令行
less 文件名 大文件显示内容时,以分页形式显示,支持向上、向下翻页
pageup / fn + pageup 向上翻页
pagedown / fn + pagedown 向下翻页
q 取消翻页操作,回到命令行
head 文件名 只显示文件的前几行
tail 文件名 只显示文件的最后几行
16、复制文件
cp 源文件 目标文件
可以起别名
17、移动文件
mv 源文件 目标文件
18、文件重命名
mv 源文件名 新文件名
19、删除文件
rm ./文件名
20、打包
tar -zcvf 打包后的文件名 打包哪些文件
压缩:
z:打包后的文件格式.gz
c: 压缩
v: 显示打包过程
f:放在最后,指定打包文件名
-C 指定路径
【说明】压缩多个文件 tar -vcvf 压缩后的文件名 文件1 目录1 文件2 目录2
tar -zvxf 压缩文件的名字
解压:
x: 解压缩
【说明】解压到某个路径下
tar -zvxf jiaobaofile -C ./teacher
21、zip的压缩格式
安装zip程序,能够把文件打包成zip格式
yum -y install zip
安装unzip程序,能够把zip格式的压缩文件进行解压
yum -y install unzip
【说明】yum在线安装
需要管理员权限才能执行install操作,切换到root中
su 切换到root用户
zip 压缩包的名称 文件1 文件2 目录1 目录2
unzip 压缩包 [-d 解压缩路径]
22、创建用户---了解
useradd -cgd 用户名
c:表示对用户的说明
g:用户所在组
d:用户的home目录
23、修改密码---了解
passwd 用户名 修改用户的密码
24、切换用户---重要
su ---切换到root用户
su 用户名 ---切换到指定用户
exit ---退出当前用户
25、删除用户
userdel -r 用户名 ---删除用户需要root管理员的权限
26、修改用户---了解
usermod -cgd 用户名
组:是用来管理用户的,类似于权限中的角色
27、创建用户组---了解
groupadd 组名
28、修改组的名称---了解
groupmod -n 用户组名
groupmod -n 新名字 原组名
29、删除组---了解
groupdel 组名
在使用 ls -l 进行文件或目录的查看时
30、关于权限:
r:读取内容
w:写入内容
x:执行
第一个字母: d 标识目录 -标识文件
接下来的三个字符:当前用户的权限 rw-
再接下来的三个字符:同组的用户对此文件的权限
再接下来的三个字符: 不在同一组的用户的权限
所属用户:root
所属用户所在组 root组
文件大小:53
最后修改时间
文件名
改变权限:
方式1:符号方式,比较麻烦
chmod o=rw- baobao.bb 给和root用户不在同一组的其他用户分配对baobao.bb文件的读、写权限
chmod g=rw- baobao.bb 给和当前用户同一组的用户分配堆baobao.bb文件的读、写权限
chmod u=rw- baobao.bb 给当前用户分配对baobao.bb文件的读、写权限
chmod a=rw- baobao.bb 给所有用户分配对baobao.bb文件的读、写权限
方式2:数字方式,推荐使用
r:4 r-- 0100 4
w:2 -w- 0010 2
x:1 --x 0001 1
同时具备 读、写、执行权限的值就是7
chmod -R 777 文件或目录
第一个7:当前用户
第二个7:同组用户
第三个7:不同组用户
31、关于进程的命令
ps -ef 查看正在运行的进程
ps -grep 搜索的内容 搜索进程
kill -9 进程ID 杀死对应的进行
32、关于服务的命令
systemctl stop (关) start (开) status (状态) enable (可用) disable (不可用) 服务名
防火墙:firewalld
stop
status
enable
disable
33、端口号查看命令
安装一个工具:netstat,能够查看某个端口是否被占用
yum -y install net-tools
netstat -naop 8080 查看 使用8080的网络服务
34、访问网址的命令、类似浏览器、
curl http://www.baidu.com
5、安装JDK
1、把软件从windows下需要上传到Linux系统下 (存入到了 下载 的文件夹里)
2、需要把jdk 移动到 /usr/local目录下
【注意】由于/usr及其子目录只有root、管理员才可以操作,所以需要切换用户
3、解压jdk
4、删除掉原来的压缩包
5、通过java -version 发现使用的是安装系统时自带的开发工具jdk,需要通过配置环境变量来使用自己的jdk
6、进入到/etc中
7、通过vi编辑profile文件
【注意】java环境变量的配置放置在此文件的最后进行 不要删除、修改原有文件内容
在最后一行 unset -f pathmunge下进行编写
将Linux系统进行重启
重启后登录 输入java -version看是否进行更改
创建java程序
通过javac Hello.java进行编译
通过java Hello 进行运行
6、部署tomcat服务器
1、上传软件到Linux系统下
2、解压Tomcat
3、可以修改端口号---目录结构同windows下相同
4、启动服务
cd ./bin 进入到bin目录下
./startup.sh 执行此文件启动服务
5、测试服务:Linux本机方法---成功
Windows远程访问---访问不了,因为Linux的防火墙
解决办法:关掉防火墙 systemctl stop firewalld
在防火墙中开发8080端口
7、打包、部署程序
模拟远程操作:程序在windows系统下,打包、部署到Linux系统下
和云服务器的操作方式都相同
1、ssm项目,经过测试,在Windows下好用
2、在项目下,添加 编译、打包部署的maven插件
<build>
<plugins>
<!--编译插件-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<!--配置Tomcat插件-->
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<path>/</path>
<port>8082</port>
</configuration>
</plugin>
</plugins>
</build>
可以进行编译
3、进入到Linux系统中,确保tomcat关闭
测试
4、进入到conf目录下,编辑tomcat-users.xml文件
最后添加
manager-gui 代表图形用户管理
manager-script 脚本
username:用户名
password:密码
roles中将 manager-gui 和 manager-script 用逗号分隔开
作用:为了安全,在此文件中配置账号、密码,当部署到tomcat服务器里的程序时,必须提供账号、密码
5、重新启动服务
测试是否好使
6、进入到部署的管理页面---登录
输入IP地址 + 端口号 + manager text
192.168.10.107:8080/manager/text
输入账号和密码
第四步中的账号和密码
7、登录成功后,访问:http://192.168.10.107:8080/manager/html,进入到了部署管理页面
出现此页面说明用户配置成功
8、回到Windows下,准备打包部署,修改项目运行的maven中的settings配置文件,
新的tomcat服务器打开settings.xml文件是没有的需要自己写
9、回到项目的pom文件中,配置要部署项目服务器的url,账号、密码
<configuration>
<!--linux中的ip地址 第六步的网址 -->
<url>http://192.168.10.107:8080/manager/text</url>
<!--linux中的tomcat版本号-->
<server>tomcat7</server>
<!--用户名 第四步中的用户名 -->
<username>admin</username>
<!--密码 第四步中的密码 -->
<password>password</password>
<!--设为true-->
<ignorePackaging>true</ignorePackaging>
</configuration>
10、双击maven的编译命令compiler:compile进行编译
11、使用mven的tomcat插件打包、部署 双击tomcat7:deploy
热部署:linux中的tomcat不重启的情况下部署到服务器中
12、测试
false是因为没有在linux下安装数据库
true时才可以去运行
连接上数据库之后
8、Linux下安装MySql数据库
1、su命令替换为管理员
2、进入到opt文件夹下
3、下载mysql5.7版本
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
4、安装mysql
yum -y install mysql57-community-release-el7-10.noarch.rpm
5、查看是否安装上
rpm -qa | grep mysql
6、安装sqlSever
yum install -y mysql-community-server --nogpgcheck
7、启动mysql
systemctl status mysqld.service
8、设置为自启动
systemctl enable mysqld.service
9、查看mysql默认密码
grep "password" /var/log/mysqld.log
10、进入数据库
mysql -uroot -p
密码为第九步查到的密码
11、设置新密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '设置的密码';
密码包括大小写字母数字及特殊符号(! , / : )
12、设置远程连接
grant all privileges on *.* to 'root'@'%' identified by '设置的密码' with grant option;
13、刷新权限
flush privileges;
14、退出
exit
15、去etc下修改mySql的语言
vim /etc/my.cnf
[client]
default-character-set=utf8
character-set-server=utf8
collation-server=utf8_general_ci
16、重启mysql
service mysqld restart
17、查看是否修改成功
status
9、Navicat连接Linux的MySql
常规下:
连接名 为自己起的
主机名或 IP 地址 linux的ip地址
端口为 linux中MySQL的端口号,默认为3306
用户名 linux中MySQL的用户名
密码 linux中MySQL的密码
SSH下:
点击使用 SSH 通道
主机名或 IP 地址 linux的IP地址
端口 不用变
用户名 linux系统的账户名
验证方法 不用变
密码 linux系统的密码
点击连接测试
10、项目部署后对java文件的更改
db。properties中进行url的改动
jdbc.driverClass=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&useSSL=false
jdbc.username=root
jdbc.password=root
jdbc.init=1
jdbc.minIdle=1
jdbc.maxActive=3
url中添加此句
之后进行编译,编译之后进行部署
部署成功之后 查看tomcat的webapps文件夹下有没有部署上来的项目
在项目中找到db.properties文件 如果没有证明编译时出现错误
修改db.properties
username为linux中MySQL的用户名
password为linux中MySQL的密码
进行保存
点击start变为Expire sessions
此时Running为true
这时便可以进行访问了