当前位置:首页 » 《关于电脑》 » 正文

【Linux大神器】搭建网站必学的Linux的二十多条命令,老司机带你快速上手部署项目到网页,面试常考,万字解析,建议收藏 ! ! !

2 人参与  2024年12月22日 12:00  分类 : 《关于电脑》  评论

点击全文阅读


本篇会加入个人的所谓鱼式疯言

❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言

而是理解过并总结出来通俗易懂的大白话,

小编会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的.

???可能说的不是那么严谨.但小编初心是能让更多人能接受我们这个概念 !!!

在这里插入图片描述

引言

在当今数字化时代,搭建网站已成为一项重要技能。而要熟练搭建网站,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

在这里插入图片描述

在这里插入图片描述

鱼式疯言

补充说明

cpcopy 的缩写, mvmove 的缩写 设置 配色方案

在这里插入图片描述

小编选择的配置如下

在这里插入图片描述

颜色区分 :

在这里插入图片描述

一般而言: 绿色 为 目录, 红色 为 压缩包 , 黑色 一般为 普通文件 。

设置复制粘贴快捷键

在这里插入图片描述

在这里插入图片描述

设置完这些, 小伙伴们可以自己去体验一下咯 ~ ~ ~

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'

在这里插入图片描述

插入数据
-- 建表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包

关闭测试功能并点击 packagejar包
在这里插入图片描述

打包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并运行测试程序杀死进程。

如果觉得小编写的还不错的咱可支持 三连 下 (定有回访哦) , 不妥当的咱请评论区 指正

希望我的文章能给各位宝子们带来哪怕一点点的收获就是 小编创作 的最大 动力 ? ? ?

在这里插入图片描述


点击全文阅读


本文链接:http://m.zhangshiyu.com/post/205112.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1