• Linux常见命令与Java环境部署


    在这里插入图片描述

    请添加图片描述

    ⭐️前言⭐️

    🍉博客主页: 🍁【如风暖阳】🍁
    🍉精品Java专栏【JavaSE】【备战蓝桥】、【JavaEE初阶】【MySQL】【数据结构】
    🍉欢迎点赞 👍 收藏留言评论 📝私信必回哟😁

    🍉本文由 【如风暖阳】 原创,首发于 CSDN🙉

    🍉博主将持续更新学习记录收获,友友们有任何问题可以在评论区留言

    🍉博客中涉及源码及博主日常练习代码均已上传码云(gitee)GitHub


    请添加图片描述

    请添加图片描述

    🍅1.Linux常见命令

    1.1 ls

    ls: 列出当前目录中包含的文件和目录
    (类似于在windows上双击某个目录,把它打开看看目录里有什么)。

    ls->list

    ls [路径](注意中间有空格):查看目标路径下的目录和文件,比如.表示当前目录,/表示根目录。

    在这里插入图片描述

    ls [选项](注意中间有空格): 通过在命令后加上-,以及一些特殊的字母/单词,来开启不同的功能。

    例如最常用的ls -l,表示用列表的方式来列出目录中的内容(ls -l<=>ll
    在这里插入图片描述

    1.2 pwd

    pwd: 告知我们当前在哪个目录中
    (显示出当前目录所对应的绝对路径)

    (在使用命令的时候,如果目录结构比较复杂,就很容易不知道自己在哪个目录中了)
    这里是引用

    1.3 cd

    cd: 切换到指定的目录
    (cd后面加上一个路径,这个路径可以是绝对路径,也可以是相对路径;cd就相当于鼠标双击目录进行切换)

    cd->change directory
    在这里插入图片描述

    1.4 touch

    touch: 创建一个空文件

    这里是引用

    1.5 cat

    cat: 查看文件内容

    这里是引用

    1.6 echo

    echo: 打印内容到控制台,也可用于写文件

    这里是引用

    1.7 mkdir

    mkdir: 创建目录

    mkdir<=>make directory
    在这里插入图片描述
    蓝色的表示目录,且开头有字母d

    当创建出较为复杂的目录结构后,可以通过命令tree来查看目录结构,但该命令需要通过包管理器yum进行下载(如下完成下载)
    在这里插入图片描述
    进行测试:
    在这里插入图片描述
    在这里插入图片描述

    1.8 rm

    rm:删除
    (既可以用于删除文件,也可以用于删除目录)

    rm<=>remove

    删除文件
    输入rm [文件名]后会有提示,输入y后敲回车完成删除。
    在这里插入图片描述
    删除目录
    在这里插入图片描述
    可以在提示中发现不能完成删除,这是因为目录中可能还有目录和文件,需要递归删除。则需要加入选项-r
    在这里插入图片描述

    在上边的删除操作中,我们可以发现无论是删除文件还是目录,都会有提示来进一步确定是否要删除,这也说明了删除操作的危险性,如果想要直接删除,可以加上-f选项。
    在这里插入图片描述

    注意!!!
    切记不能进行危险操作
    rm -rf /,该操作会把整个磁盘上的所有文件都删除,包括系统文件

    1.9 cp

    cp: 复制文件或目录(注意:复制目录要加上-r选项)

    cp<=>copy

    cp [文件名或目录] [路径]
    例:
    cp test.txt aaa/
    在这里插入图片描述

    1.10 mv

    mv: 移动目录或文件(或者给文件重命名)

    mv<=>move

    mv [要移动的目录或文件] [要移动到的位置]
    (这两个参数都是绝对路径或者相对路径均可)
    例:
    mv aaa/test.txt bbb/在这里插入图片描述
    此外mv还有重命名的功能
    mv aaa/ ccc在这里插入图片描述

    1.11 man

    man: 查看联机手册

    因为每个命令,都可以支持很多的参数选项,要想全都记住这些选项有些不现实,就可以通过man随时来查看帮助。

    man ls.

    1.12 less

    less : 读取文件内容(内置翻页功能)

    该命令与cat命令不同的是,less通过懒加载的方式来读取文件内容,每次读取的只是一小部分(比屏幕略大),向下翻时才会再继续加载。

    通过这种方式可以实现大文件的秒开

    less [文件名]

    1.13 vim

    vim既能读取文件内容,也能编辑文件(类似于一个文件编辑器)

    其使用常常有以下几种情景:

    1.使用vim创建或者打开文件

    文件如果存在则直接打开,如果不存在就会直接创建空文件
    在这里插入图片描述
    2.使用vim编辑文件内容

    在我们通过第一步打开文件后,发现无论在键盘上敲什么,屏幕上都不会发生变动。这是因为我们用vim打开文件后,默认进入的是“普通模式”,普通模式下,键盘按键不是表示编辑框输入的内容,而是表示特殊含义的快捷键;
    如果想要编辑,就需要先进入“插入模式”,这时键盘按键才是输入内容。

    vim中,使用小写字母i来从普通模式进入插入模式
    xshell窗口左下角出现如下所示字样时,说明已经进入了插入模式,这时就可以进行文本编辑了。
    在这里插入图片描述
    3.使用vim进行保存退出

    当我们完成文件内容编辑,想要保存退出时,需要进行如下两步操作

    1)先从插入模式回到普通模式,按esc

    2)输入:wq(与其有等价效果的还有:x

    w=>write(写 保存)
    q=>quit(退出)

    1.14 xshell快捷键

    ctrl+c =》取消当前命令
    ctrl+insert=>复制(如果电脑有fn键,快捷键不生效可尝试连同fn键一起按)
    shift+insert=>粘贴(如果电脑有fn键,快捷键不生效可尝试连同fn键一起按)
    ctrl+l=》清屏
    tab=》所有的Linux命令,可以尝试使用tab键来补全。

    常用操作查看进程的命令

    netstat -anp | grep 8080
    
    • 1

    查看8080端口的进程

    ps aux | grep java
    
    • 1

    查看所有Java进程

    🍅2.Linux权限

    权限就是对操作的限制,Linux的权限主要是围绕文件和目录来展开的。

    列出的文件列表如下图:
    在这里插入图片描述
    红框框住的部分就描述了文件/目录的权限。

    在这一组字母中,涉及到三种操作和三类角色
    r 表示可读
    w 表示可写
    x 表示可执行
    - 表示没有对应的权限

    每行字母的第一个字符,-表示普通文件,d表示目录文件,第一个字符与权限无关,表示文件类型。

    后面的9个字符,分成三个三个一组,共三组,分别表示文件拥有者的权限同组用户的权限其他用户的权限

    在这里插入图片描述

    🍅3.在Linux环境下搭建Java部署环境

    这一部分我们主要完成,在Linux系统下搭建Java的运行环境,并且能够部署Java Web程序。
    下边就是在Linux上安装的必要程序:

    3.1 JDK的安装

    基于yum(包管理器)来进行安装即可。

    通过yum list命令,就可以列出在应用商店服务器上所有的软件包的名字,我们只需要与JDK有关的软件包,就需要grep命令来进行过滤

    grep:进行字符串过滤

    yum list | grep jdk
    |叫做管道,功能是把前一个命令的输出,作为后一个命令的输入;grep jdk就是根据yum list输出的结果,来匹配包含jdk这三个字母的文本行。

    在这里插入图片描述
    认准红框中的软件包通过yum install [软件包名]来进行安装。
    在这里插入图片描述
    敲上图命令即可,博主已经完成了安装。

    可以通过在命令行中敲javac来验证是否完成了安装:
    在这里插入图片描述

    3.2 Tomcat的安装与打开

    由于在yum包管理器中,Tomcat的版本太老,所以我们需要到官网进行下载。
    在这里插入图片描述

    1.进入Tomcat官网,完成压缩包.zip的下载
    在这里插入图片描述

    2.压缩包下载后,直接拖拽到xshell中即可
    在这里插入图片描述
    拖拽操作用到命令rz,如果无法完成拖拽则手动下载yum install lrzsz

    3.使用unzip命令解压缩压缩包
    在这里插入图片描述
    如果无法直接使用unzip命令,则手动下载yum install unzip

    4.切换到bin目录中,给所有的.sh加上可执行权限
    输入命令chmod + x *.sh
    在这里插入图片描述

    5.输入sh startup.sh启动tomcat

    验证tomcat是否真正启动有以下三种验证方式:

    1)查看Tomcat进程
    命令ps aux|grep tomcat
    在这里插入图片描述
    ps命令该命令相当于Linux上的任务管理器,会打印出当前主机的所有进程,grep tomcat按照tomcat关键字来进行匹配

    2)查看tomcat的端口,默认是8080
    命令netstat -anp|grep 8080
    在这里插入图片描述
    3)查看能否访问tomcat的欢迎页面

    导航栏输入http://162.14.74.192:8080/ 端口号前的是自己的外网IP地址。
    输入后发现并不能直接访问,还需要我们在服务器后台进行手动配置
    在这里插入图片描述
    我们需要在服务器的防火墙设置8080端口可访问
    1.在这里插入图片描述
    2.在这里插入图片描述

    成功!!!
    在这里插入图片描述

    3.3 MySQL的安装与配置

    在Linux上的MySQL的安装较为复杂,可以安装MySQL的平替版本MariaDB。MariaDB和MySQL是孪生兄弟,两者的SQL语句命令都可兼容。

    具体安装流程见文章【CentOS 7 通过 yum 安装 MariaDB】

    按照文章流程进行安装后,默认的数据库是没有密码的,这就需要我们在部署程序时,连接数据库的JDBC部分需要做出微调,把密码设置为空。

    注意建库时自行指定编码方式,为了支持中文,统一使用 utf8mb4 字符集

    MariaDB [(none)]> create database databaseName charset utf8mb4;
    
    • 1

    掌握两个基础命令:
    打开数据库:mysql -uroot
    退出数据库:quit

    🍅4.部署博客系统

    到这一步,就是我们通过云服务搭建Linux操作系统的核心所在——部署程序,在前边的文章中,博主已经带领大家完成了本地的个人博客系统的搭建。【手把手带你搭建个人博客系统(一)】【手把手带你搭建个人博客系统(二)】

    下边,我们就把本地的个人博客系统部署到云服务器上,这样,我们就可以通过外网IP来访问自己搭建的博客系统了。

    4.1 在服务器上准备好依赖的数据

    因为我们之前在本地建库建表,插入数据,操作的都是windows系统下的MySQL数据库,要想把程序部署到服务器上,也就需要在服务器上准备好所依赖的数据。

    找到我们之前编写sql语句的文件db.sql,直接进行复制,然后在Linux系统的数据库中粘贴,完成数据的准备。
    在这里插入图片描述

    4.2 微调JDBC代码

    将密码改为空
    在这里插入图片描述
    url地址并不需要变动,因为127.0.0.1是环回IP,表示服务器本身。

    4.3 打包部署

    1)在pom.xml文件中编写代码,确定打包格式及包名
    在这里插入图片描述
    2)在idea中打包,双击package
    在这里插入图片描述
    3)切换到tomcat/webapps目录下,直接把war包拖拽过去。
    在这里插入图片描述

    4.4 验证

    接下来,我们就可以通过外网IPhttp://162.14.74.192:8080/blog_system/blog_login.html来访问我们搭建的个人博客了,IP地址的一级路径注意是我们打包的包名。
    在这里插入图片描述


    ⭐️最后的话⭐️
    总结不易,希望uu们不要吝啬你们的👍哟(^U^)ノ~YO!!如有问题,欢迎评论区批评指正😁

    请添加图片描述

  • 相关阅读:
    Sketch是什么软件,如何收费和获得免费版
    Python中通过socketserver库创建服务端
    数字IC前端学习笔记:数字乘法器的优化设计(Dadda Tree乘法器)
    20 个提升效率的 JS 简写技巧
    JDBC概述
    SpringBoot自动装配原理
    YOLOv7训练:_pickle.UnpicklingError: STACK_GLOBAL requires str
    SELinux规则添加进阶
    kubernetes进阶 (三) 基础练习
    红黑树,B树、B+树、MySQL索引面试题
  • 原文地址:https://blog.csdn.net/qq_60856948/article/details/127888462