【Linux大神器】搭建网站必学的Linux的二十多条命令,老司机带你快速上手部署项目到网页,面试常考,万字解析,建议收藏 ! ! !
在当今数字化时代,搭建网站已成为一项重要技能。而要熟练搭建网站,Linux 指令是必不可少的工具。它们就像是打开网站建设大门的钥匙,能让你在数字世界中自由驰骋。让我们一起探索这些必学的 Linux 指令,开启精彩的网站搭建之旅吧!
本篇会加入个人的所谓鱼式疯言
❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言
而是理解过并总结出来通俗易懂的大白话,
小编会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的.
🤭🤭🤭可能说的不是那么严谨.但小编初心是能让更多人能接受我们这个概念 !!!
引言
在当今数字化时代,搭建网站已成为一项重要技能。而要熟练搭建网站,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"
- 安装mysql
命令: sudo apt install mysql-server
- 查看mysql 状态
命令: 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'
插入数据
-- 建表SQL
create 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并运行
,测试程序, 杀死进程。
如果觉得小编写的还不错的咱可支持 三连 下 (定有回访哦) , 不妥当的咱请评论区 指正
希望我的文章能给各位宝子们带来哪怕一点点的收获就是 小编创作 的最大 动力 💖 💖 💖
更多推荐
所有评论(0)