Linux 基本使用和web程序部署
Linux 是一个操作系统. 和Windows 是"并列" 的关系
使用云服务器
以阿里云为例,进入阿里云服务器官网,登录购买,选择操作系统CentOS 7 , 购买完成后 可以看到 ip 地址 , 设置 root 密码 ( 重置密码 防止黑客入侵)
使用终端软件连接到 Linux
这里以 Xshell 为例
在 XShell 终端下输入 ip 地址 , 提示输入用户名和密码 . 输入即可登录
Linux 常用命令
ls
语法: ls [选项] [目录或者文件]
功能: 对于目录,该命令列出该目录下的所有子目录与文件 . 对于文件 , 将列出文件名以及其他信息
常用选项:
-a 列出目录下的所有文件,包括以 . 开头的隐含文件
-d 将目录像文件一样显示 , 而不是显示其下的文件 . 如 : ls -d 指定目录
-k 以k 字节的形式表示文件的大小
-l 列出文件的详细信息
-r 对目录反向排序
-t 以时间排序
-R 列出所有子目录下的文件
pwd
语法: pwd
功能: 显示用户当前所在目录
cd
Linux 系统中 , 磁盘上的文件和目录被组成一棵目录树, 每个节点都是目录或文件
语法: cd 目录名
功能: 改变工作目录 . 将当前工作目录改变到指定的目录下
举例:
cd … : 返回上级目录
cd ~ : 进入用户目录
cd - : 返回最近访问的目录
Linux 目录结构
几个特殊目录 :
/ 称为根目录
. 称为当前目录
… 称为当前目录的上级目录
绝对路径 与 相对路径
- /user/share/tomcat/logs 以根目录开头的 , 称为绝对路径
- ./logs 以 . 或者 … 开头的称为相对路径
tab 键
我们敲的所有 Linux 命令, 都可以使用 tab 键来补全 , 加快效率
ctrl + c
如果命令或者目录输入错了 , 可以 ctrl + c 取消当前的命令
touch
语法 : touch [选项]… 文件…
功能 : touch 命令参数可更改文档或者目录的日期时间 , 包括存取时间和更改时间 , 或者新建一个不存在的文件
举例 :
touch test.txt
cat
语法 : cat [选项] [文件]
功能 : 查看目标文件的内容
举例:
cat test.txt
mkdir
语法 : mkdir [选项] dirname
功能 : 在当前目录下创建一个名为 : dirname 的目录
常用选项 :
-p , -parents 可以是一个路径的名称 . 此时若路径中的某些目录不存在 , 加上此选项后 , 系统将自动建立好那些尚不存在的目录 , 即一次可以建立多级目录
举例 :
mkdir -p test/test1 : 递归创建多个目录
rm
语法 : rm [-f-i-r-v] [dirName/dir]
功能 : 删除文件或者目录
常用选项 :
-f 即使文件属性为只读 , 直接删除
-i 删除前逐一询问确认
-r 删除目录及其下所有文件
举例 :
rm test.txt
注意: 不要运行 rm -rf /
cp
语法 : cp [选项] 源文件或目录文件或目录
功能 : 复制文件或目录
说明 : cp 指令用于赋值文件或目录 , 如同时指定两个以上的文件或者目录 , 且最后的目的地是一个已经存在的目录 , 则他会把前面指定的所有文件或目录复制到此目录中 , 若同时指定多个文件或目录 , 而最后的目的地并非是一个已经存在的目录 , 则会出现错误信息
常用选项 :
-f 或 -force 强行复制文件或目录 , 不论目的文件或目录是否已经存在
-i 或 -interactive 覆盖文件之前先询问用户
-r 递归处理 , 将指定目录下的文件与子目录一并处理 , 若源文件或目录的形态 , 不属于目录或符号链接 , 则一律视为普通文件处理
-R 或 -recursive 递归处理 , 将指定目录下的文件及子目录一并处理
举例 :
cp test1.txt test2.txt
mv
语法 : mv [选项] 源文件或目录 目标文件或目录
功能 :
1. 视 mv 命令中第二个参数类型的不同 ( 是目标文件还是目标目录 ) , mv 命令将文件重命名或将其移至一个新的目录中
2. 当第二个参数类型是文件时 , mv 命令完成文件重命名 , 此时 , 源文件只能有一个 , (也可以是源目录名 ) , 它将所给的源文件或目录重命名为给定的目录文件名
3. 当第二个参数是已存在的目录名称时 , 源文件或目录参数可以有多个 , mv 命令将各参数指定的源文件移至目标目录中
常用选项 :
-f : force 强制的意思 , 如果目标文件已经存在 , 不会询问而直接覆盖
-i : 若目标文件已经存在时 , 就会询问是否覆盖
举例 :
mv test1.txt test2.txt
man
语法 : man [选项] 命令
常用选项 :
-k 根据关键字搜索联机帮助
num 只在第 num 章节找
man man 能够看到 man 手册中的若干个章节及其含义
举例 :
man ls
vim
vim 是一个知名的文本编辑器 , 使用 vim 就可以进行编辑了
-
创建文件 / 打开文件
vim [文件名]
-
进入插入模式
vim 打开文件后默认是普通模式 , 普通模式下键盘的按键表示一些特殊的快捷键 ,
使用 i 键可以进入到插入模式 , (左下角提示 --INSERT-- ) 然后就可以像记事本一样正常编辑
-
保存
在插入模式下不能保存文件 , 需要先回到 普通模式 , 按下 ESC 回到普通模式
在普通模式下输入 :w , 再按下回车 , 即可保存文件
-
退出
在插入模式不能退出 , 需要先回到 普通模式
在普通模式下输入 :q ,再按下回车 , 即可退出
也可以使用 :wq 同时执行保存和退出
grep
语法 : grep [参数]… [文件]
功能 : 用于查找文件中是否包含指定字符串 , 并显示对应的行
选项 :
-n<行数> 显示的行数
-w 全字匹配. 要求整个单词都完全相同的结果才能匹配出来, 而不仅仅是一个单词的一部分.
-r 递归查找. 可以搜索多级目录下的所有文件.
–color 高亮查找到的结果
–include 指定查找某些文件
–exclude 指定排除某些文件
ps
语法 : ps [参数]…
功能 : 用于查看当前系统上运行的进程
选项 :
a 显示一个终端的所有进程
u 以用户为主的格式来显示程序状况
x 显示所有程序 , 不以终端机来区分
举例 :
ps aux #显示系统上所有的进程
ps aux | grep “进程名”
ps aux | grep “进程 id”
netstat
语法 : netstat [参数]…
功能 : 查看系统上的网络状态
选项 :
-a 显示所有正在或不在侦听的套接字
-n 显示数字形式地址而不是去解析主机 端口或者用户名
-p 显示套接字所属进程的 PID 和名称
搭建java部署环境
yum
使用 yum install java-1.8.0-openjdk.x86_64 下载JDK
使用 java -version 验证是否安装成功
Tomcat
直接将本机上的 tomcat.zip 拖拽到 XShell 中即可
然后 unzip tomcat.zip 解压缩
如果 unzip 找不到 , yum install unzip
进入 bin 目录 , 使用 chmod +x *.sh
给所有的 .sh 文件赋予可执行权限
启动 tmocat sh bin/startup.sh
验证启动成功
1 方法1 查看 tomcat 进程是否存在
ps aux | grep tomcat
2 方法2 查看端口 8080 是否被绑定
netstat -anp | grep 8080
3 方法3 使用 curl 命令访问默认 demo
curl 127.0.0.1:8080
Mysql
同样使用 yum 安装 , 需要手动配置
部署Web 项目到 Linux
-
数据库建表
-
构建项目并打包
使用 idea 的 maven 针对项目进行打包
-
拷贝到 Tomcat 中
将 war 包 拷贝到 Tomcat 的 Webapps 目录中
稍等片刻 , Tomcat就会 自动解压缩 war 包 , 完成部署
-
验证
在浏览器上访问项目的链接
是否被绑定
netstat -anp | grep 8080
3 方法3 使用 curl 命令访问默认 demo
curl 127.0.0.1:8080
Mysql
同样使用 yum 安装 , 需要手动配置
部署Web 项目到 Linux
-
数据库建表
-
构建项目并打包
使用 idea 的 maven 针对项目进行打包
-
拷贝到 Tomcat 中
将 war 包 拷贝到 Tomcat 的 Webapps 目录中
稍等片刻 , Tomcat就会 自动解压缩 war 包 , 完成部署
-
验证
在浏览器上访问项目的链接