本篇会加入个人的所谓鱼式疯言
❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言
而是理解过并总结出来通俗易懂的大白话,
小编会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的.
???可能说的不是那么严谨.但小编初心是能让更多人能接受我们这个概念 !!!
引言
在当今数字化时代,搭建网站已成为一项重要技能。而要熟练搭建网站,Linux 指令是必不可少的工具。它们就像是打开网站建设大门的钥匙,能让你在数字世界中自由驰骋。让我们一起探索这些必学的 Linux 指令,开启精彩的网站搭建之旅吧!
目录
Linux 的初识以及使用云服务器
Linux的常用指令
部署项目
一. Linux 的初识以及使用云服务器
1. Linux 的初识
Linux
是和 window
并列的一种操作系统。
Linux是一种 自由和开发源
代码的 类 Unix 操作系统 ,具体 稳定性强,安全性高,多任务处理能力出色 的特点。
Linux创始人: Linus Torvalds
(林纳斯·托瓦兹)
我们知道 操作系统
= 操作系统
+ 应用程序
如上图:
上面这些图标就是 基于Linux 开发的应用程序,我们可以学习其中的一个 应用程序来操作Linux 。
而小编推荐的是如下图的 ubuntu
来操作我们 Linux系统。
那我们该怎么使用 ubuntu
呢? 其实啊!
在我们的 云服务器 上大部分就基于 Linux
创建了它的实例, 我们只要操作云服务器在这些 实例
上进行 部署项目 和 操作应用程序 。
下面就让小编带着小伙伴进行 云服务器的配置和使用教程 吧~
鱼式疯言
对于技术人员来说: 都会接触到 Linux
, 所以Linux 可以是开发人员中 最强大的操作系统,没有之一 。
2. 购买云服务器
不知道小伙伴们是不是学生呢? 如果是大学生的话就可以免费白嫖阿里云的云服务器哦~
下面小编将详细的讲解阿里云服务器的 购买
,配置
, 连接
, 以及最后 正常操作的一系列流程 。
<1>. 服务器的购买和配置
领取 300优惠券
寻找最便宜的云服务器
选择 Ubuntu
注意: 这里的 密码是连接密码 , 小伙伴们写的时候要记住哦~ 以免连接失败 ! ! !
最后 确定下单即可 。
控制台 打开服务器 确定公网ip鱼式疯言
确定要自己的 公网ip
,我们讲通过 终端程序 来 通过公网ip 和自己的账号和密码连接我们的云服务器 。
3. Xshell 连接服务器
Xshell
是什么? Xshell
就是一种用来连接服务器的终端, 相当于客户端的作用。 我们的云服务器的主机在千里之外的集群中,
而我们可以通过 Xshell
等这样的 应用程序的客户端来连接我们的服务器 ,对我们的服务器 操作部署项目和应用程序 。
下面小编将带着小伙伴们进行 下载安装 Xshell
, 并对上面我们 刚配置的云服务器进行连接 。
<1>. 下载Xshell 流程
寻找 Xshell 官网 下载
下载
并 默认安装 即可 安装成功页面 <2>. Xshell 建立连接
点击 : 文件-新建
输入 自身公网ip
输入密码建立连接 连接成功画面如上图, 如果是和小编一样是 ~#
结尾的, 就说明 连接成功 了
如上图,如果是 $
结尾的, 说明还 没有正常连接上 。
如果小伙伴们需要断开连接怎么办 ? ? ?
请看 下方分解
断开连接 重新连接这些都搭建好了, 下面,下面,下面就让小编带着小伙伴来酷炫的使用 命令
操作我们的 Linux
吧~
二. Linux的常用指令
Linux 是 目录树状结构
如上图: 当我们登录成功时, ~/java112/book
就表示当前用户的绝对路径: root/ java112/ book
鱼式疯言
/
表示 根目录
.
表示 当前目录
..
表示 上一级目录
1. 操作目录
<1>. 查看当下目录下的子目录
命令: ls
<2>. 查看当下目录下的详细子目录和文件
命令: ls -l
<3>. 进行下一级目录
命令: cd 子目录名/
鱼式疯言
当输入ja
时按下 tab 键,唯一的可自动生成目录名/文件名输入到不唯一的文件名/ 目录 不过会有提示 。
<4>. 查看当前目录
命令:pwd
鱼式疯言
快捷键
<5>. 返回上一级目录
命令: cd ../
如果是 返回多级目录 的话:
需要注意的是, cd
只能进入 下一级目录 , 而 不能进入文件
<6>. 创建目录
命令: mkdir 目录名
<7>. 删除目录
命令: rm -r 目录名
<8>. 复制目录/文件
命令
: cp [-r] 源目录名/源文件名 目标目录名/目标文件名
文件 -> 文件
文件 -> 文件
目录 -> 目录
鱼式疯言
注意事项:
文件可以不存在, 会自动创建并且填充 , 但是目录不存在就会报错哦~ 目录 拷贝到另外一个目录下 , 需要 在cp
的后面加上 -r
, 否则就会报错。 <9>. 移动文件/目录
命令
: mv 源目录名/源文件名 目标目录名/目标文件名
对于 存在的的目标目录名 , 会进行 移动源文件/源目录的操作 。
但是对于 不存在的目标目录名 , 会进行 重命名操作 。
<10>. 清空屏幕
命令: clear
鱼式疯言
补充说明:
cp
是 copy
的缩写, mv
是 move
的缩写 设置 配色方案 小编选择的配置如下;
颜色区分 :
一般而言: 绿色
为 目录, 红色
为 压缩包 , 黑色
一般为 普通文件 。
设置完这些, 小伙伴们可以自己去体验一下咯 ~ ~ ~
2. 文件操作
<1>. 创建文件
命令 : touch 文件名
<2>. 上传文件
命令: rz 选择指定文件
<3>. 下载文件
命令: sz 文件名
<4>. 查看文件内容
查看全文文件命令: cat 文件名
命令: head [-n] 文件名
-n
为 指定n行 , 未指定 -n 默认为前十行
命令: tail [-n] 文件名
-n
为 指定n行 , 未指定 -n 默认为尾部十行 。
命令: tail -f 文件名
crtl + c
表示 退出
鱼式疯言
总结概括:
常见退出的命令套路:
ctrl + c
exit
:q
:q!
小伙伴们当使用 一个命令不能退出 时,可以都尝试一下以上的这些全部 退出命令的套路 。
<5>. 编辑文件
命令: vi / vim 文件名
按下 i/ 任意字母键
开始编辑
编辑结束退出: 按下 ESC 键
: wq
鱼式疯言
分解说明:
q
表示退出
w
表示保持
!
表示强制
故: :wq
表示 保存退出 , :wq! 表示 强制保存退出 等… 这些都是以上 三个字符之间的相互组合 。
<6>. 查找指定文本内容
命令: grep 查找字符串 文件名
<7>. 删除文件
命令: rm 文件名
3. 其他操作
<1>. 查看进程
查看所有进程
命令: ps aux / -ef
管道查找目标进程
命令: ps aux / -ef | grep 进程名/进程ID
管道: |
用这个或字符表示 把前面那个命令当成后面那个命令的基础来执行 ,也就相当于 在前面的基础上进行了查询。
<2>. 查看网络状态
网络: netstat -anp | grep 进程名/ 端口号
鱼式疯言
a
表示显示所有的主机
n
表示显示端口号
p
表示显示进程
故: anp
就表示所有主机的 进程和端口号 。
三. 部署项目
1. 更新apt 数据包
命令:sudo apt-get update
apt
是高级管理软件包的一种工具, 可以 方便软件包的更新,删除,安装操作。
2. 安装openjdk
查看openjdk
命令: apt list | grep 软件包名
安装jdk
命令: sudo apt install 软件包名
一路点 Y
鱼式疯言
JDK
分为 : 有版权需要付费的 OracleJDK
和 开源免费的 OpenJDK
。
3. 安装数据库
查找mysql命令: apt list |grep "mysql-server"
命令: sudo apt install mysql-server
命令: sudo systemctl status mysql
Y
即可4. mysql 安全设置
安全设置
命令: sudo mysql_secure_installation
一路 y
即可
输入 2
确定
一路 y
即可
5. 设置mysql 密码
连接mysql
命令: sudo mysql
设置密码
命令: ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY 密码
6. 数据准备
准备好项目需要的 数据资源
重新连接mysql命令: ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'zcy@123456GO'
插入数据
-- 建表SQLcreate database if not exists java_blog_spring charset utf8mb4;use java_blog_spring;-- 用户表DROP TABLE IF EXISTS java_blog_spring.user_info;CREATE TABLE java_blog_spring.user_info( `id` INT NOT NULL AUTO_INCREMENT, `user_name` VARCHAR ( 128 ) NOT NULL, `password` VARCHAR ( 128 ) NOT NULL, `safe_password` VARCHAR ( 128 ) NOT NULL , `github_url` VARCHAR ( 128 ) NULL DEFAULT 'https://blog.csdn.net/mgzdwm?type=blog', `picture` VARCHAR(100) NULL DEFAULT 'pic/joke.jpg', `delete_flag` TINYINT ( 4 ) NULL DEFAULT 0, `create_time` DATETIME DEFAULT now(), `update_time` DATETIME DEFAULT now() ON UPDATE now(), PRIMARY KEY ( id ), UNIQUE INDEX user_name_UNIQUE ( user_name ASC )) ENGINE = INNODB DEFAULT CHARACTER SET = utf8mb4 COMMENT = '用户表';-- 博客表drop table if exists java_blog_spring.blog_info;CREATE TABLE java_blog_spring.blog_info ( `id` INT NOT NULL AUTO_INCREMENT, `title` VARCHAR(200) NULL, `content` TEXT NULL, `user_id` INT(11) NULL, `delete_flag` TINYINT(4) NULL DEFAULT 0, `create_time` DATETIME DEFAULT now(), `update_time` DATETIME DEFAULT now() ON UPDATE now(), PRIMARY KEY (id)) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT = '博客表';-- 新增用户信息insert into java_blog_spring.user_info (user_name, password, safe_password,picture,github_url)values('张三','123456','f9faff19a2fc4dc1a458a519dd124e2347fac6dd554c0163b43a8c9c2e7d929c', 'pic/doge.jpg','https://gitee.com/zcy456/test_java');insert into java_blog_spring.user_info (user_name, password,safe_password,picture,github_url)values('李四','123456', 'f9faff19a2fc4dc1a458a519dd124e2347fac6dd554c0163b43a8c9c2e7d929c' , 'pic/ku.jpg','https://gitee.com/zcy456/springdemo');insert into java_blog_spring.user_info (user_name, password,safe_password,picture,github_url)values('江写题','5201314','54925c871240423eb1e9e9293ec7f1229983cd0b451a356dd4f4c3869aa1be5c','pic/pig.jpg','https://gitee.com/zcy456/springdemo');insert into java_blog_spring.user_info (user_name, password,safe_password,picture,github_url)values('周吃鱼','5201314','54925c871240423eb1e9e9293ec7f1229983cd0b451a356dd4f4c3869aa1be5c','pic/man.jpg','https://gitee.com/zcy456/test_java');insert into java_blog_spring.blog_info (title,content,user_id) values('第一篇博客','111我是博客正文我是博客正文我是博客正文',1);insert into java_blog_spring.blog_info (title,content,user_id) values('第二篇博客','222我是博客正文我是博客正文我是博客正文',2);insert into java_blog_spring.blog_info (title,content,user_id) values('第三篇博客','333我是博客正文我是博客正文我是博客正文',3);insert into java_blog_spring.blog_info (title,content,user_id) values('第四篇博客','444我是博客正文我是博客正文我是博客正文',4);
7. 修改项目mysql密码和mysql密码统一
8. 打包项目jar包
关闭测试功能并点击 package
打 jar包
打包 成 jar 包
9. 上传 jar 包并运行
退出 mysql
命令: exit
上传 jar 包
方式一: 直接拖
从 idea
上选择 jar 包
鼠标摁住往 Xshell
拖动即可。
方式二:使用命令
命令 : rz
重命名一下
运行java包命令:
java -jar jar包名
程序正常运行
11. 添加端口号8080(防火墙 / 安全组添加)
打开安全组
10. 访问测试
使用:公网ip + 端口号8080 + URL 路径
访问 退出程序
命令: ctrl + c
11. 后台运行
命令: nohup java -jar jar包名 &
使用上面命令确定后, 出现了 下面这串数字就说明运行成功了, 10382
为 进程号
命令: tail -f nohup out
12. 结束后台运行,杀死进程
寻找进程号杀死进程
方式一: 直接寻找 java相关的进程号然后杀死对应进程
方式二: 通过端口号查找java进程号来杀死
出现上面 exit
就说明 进程 以及被杀死了 。
鱼式疯言
异常情况处理
如果对于 mysql 安装失败或者 mysql 密码错误的 和 openJDK安装失败 的小伙伴, 可以 卸载重装 哦~
卸载Open JDK
检查安装的是哪个OpenJDK dpkg --list | grep -i jdk
移除 openjdk包: apt-get purge openjdk
卸载 OpenJDK 相关包: apt-get purge icedtea-* openjdk-*
检查所有 OpenJDK包是否都已卸载完毕:
dpkg --list | grep -i jdk
mysql
停止mysql sudo systemctl stop mysql
卸载mysql sudo apt-get remove --purge mysql-server mysql-client mysql-common
删除 MySQL 配置文件和数据 sudo rm -rf /etc/mysql /var/lib/mysql
清理残留文件和目录 sudo apt-get autoremove
sudo apt-get autoclean
验证卸载结果 mysql --version
总结
Linux 的初识以及使用云服务器: 了解 Linux 操作系统
是 稳定性强,安全性高, 多任务处理能力出色 的和 window
并行的 操作系统 。
Linux的常用指令: 本篇中,介绍了平常 工作中常用的命令 , 通过命令主要围绕着对 目录
, 文件
, 进程
,以及 网络
四个方面进行的读写操作, 这些基础的常见的命名是小伙伴必须要掌握的哦~
部署项目: 跟着小编复制对应的命令即可, 只要熟悉大方向: 安装JDK和mysql , 设置mysql
, 数据准备
, 打包jar
, 上传jar并运行
,测试程序, 杀死进程。
如果觉得小编写的还不错的咱可支持 三连 下 (定有回访哦) , 不妥当的咱请评论区 指正
希望我的文章能给各位宝子们带来哪怕一点点的收获就是 小编创作 的最大 动力 ? ? ?