Linux

一、Linux简述

明确一下:Linux是一个操作系统,和window是并列的关系.

我们平时使用的是window系统,但是服务器使用的是Linux系统.(所以在这里我们学习Linux就是使用在我们的服务器端上)

另外,在移动端,Linux也是绝对中的王者android系统本质上就是个Linux再创造.

                        ios虽然不算是Linux,但是是表兄弟.

                        嵌入式设备(冰箱洗衣机路由器之类的),Linux依旧是一支独秀

所以说Linux是当今的第一大操作系统是当之无愧的.

window主要是通过图形化界面进行操作

而Linux是通过命令行进行操作:

1.服务器虽然配置高但是上面跑的任务量大,没有额外的资源给你运行图形界面.服务器要求稳定Linux图形化界面经常有bug

2.嵌入式设备配置低,云心界面比较费劲

3.android本身有图形化,也稳定好用(但是现在我们不考虑学习)

通过网络操作服务器,此时通过命令也比较高效.

二、如何有一个Linux环境

1.使用虚拟机

在电脑上装一个虚拟机软件(使用软件模拟硬件)

在虚拟机上装Linux.但是不推荐:1.没有外网ip 2.bug比较多

2.使用物理机

把Linux装到电脑上(不要window了)

bug太多,而且需要图形化界面.

3.使用wsl.  window最近几年搞的一个能牛逼的功能

早window系统里面内置了Linux内核.

很厉害但是不能作为生产环境

4.(推荐方案)云服务器

阿里,腾讯,华为等大厂出的,买了就能用!!!但是贵

但是如果你是学生,你可以从各大厂的学生如果进去,特别便宜!!!(这也是大厂给学生们的优惠)

5.实体服务器

更香一点但是要求比较高,你得有一些基本的服务器维护的技能,但是比较麻烦.

Linux_第1张图片

这就是一个腾讯云服务器.

将其中的公网ip复制到我们的Xshell 7中Linux_第2张图片

输入密码用户名以及公网ip,此时就可以使用了.

这就相当于在腾讯的机房租了一台电脑,只不过它保存在了别的地方,你只是可以使用网络进行操控. 

 看到上面的提示符就说明连接成功了!!!Linux_第3张图片

如果出现这个标识就说明连接成功了!!! 

三、Linux命令行

Linux命令行看着多,其实平时要用的也就是20来条,记住这20条命令行后,就足够我们日常的生产与维护了!!!

1.操控目录的的命令

ls:查看指定目录中,都有哪些内容.

直接输入ls是查看当前目录中国的内容,还可以给Is后面加上一个路径(绝对/相对),就可以查看指定目录中的内容了!!! 

(此处' / ')后面跟着的是路径,但如果不加东西,就如上述图片,此时就表示的是根目录,也就是window的此电脑.(目录文件在机器上构成了一个N叉树),而根目录就是树根节点. Linux_第4张图片

另外,我们还可以通过ls -l(中间得有空格)的方式查看更详细的目录信息:

然后就是直接使用' ll / '进行访问操作:

Linux_第5张图片

其实这种使用方法比上面更加常用一些.

另外,ctrl+L可以一键清屏.

pwd:查看目录当前完整的绝对路径

如果此时我们不知道访问的是哪一个目录,就可以使用pwd进行查看当前路径

这就是root目录的意思 Linux_第6张图片

刚刚也看到了,其实root目录就在这里 

cd:切换目录

这就相当于双击了某个目录进入到了目录当中了!!!

此时' .. '是指切换到根目录的上一级目录中去.

另外还可以按tab键进行我们文件的补全操作,快速按两下tab就会把需要补全的内容都给显示出来.

(解释一下这的' / ',这个' / '这有在目录的开头才表示根目录,在中间或者末尾只是表示分割符来用) 

注意:这里的ls与cd是我们开发环境中最最高频的命令!!!

mkdir:创建目录

也就是make directory的缩写

Linux_第7张图片另外,利用mkdir -p可以同时访问多级目录:

rm:删除文件/目录

remove

就是使用rm可以直接删除目录.

也可以进行文件的删除:

 

另外,还可以rm -r就是递归删除文件夹中的所有内容 

这样就删除了一个文件夹中的所有内容了!!! 

注意:rm -rf/是个不可逆的删除所有东西的操作,是极度危险的!!!不亚于删库操作(drop database ...)绝对不能尝试这个命令行

2.文件相关的命令

touch:创建空的文件

注意:在Linux中,没有任何提示,说明你的操作成功了!!!

你的文件在哪里,取决于你当前在哪个目录下.

通过ll可以看到,当前我们的文件就被创建在了这里:

Linux_第8张图片

cat:查看文件内容

使用cat可以查看文件,但是此时的文件里面没有任何内容,所以显示为空!!! 

所以要先写文件

echo:写文件

这里的echo我们都知道是什么意思:回显的意思

就相当于把这段字符串写到了屏幕上,没有进行任何操作.

但是我们可以使用"重定向"这样一个功能,将字符串内容写入到文件中:

 

此时我们再进行查看:

这个字符串就写入进去了!!! 

这里的' > '就是有一个呼叫转移的效果,就是把原本回显的字符串写到文件中去!!!

另外,一个' > '是覆盖,而两个' >> '是拼接:

此时是覆盖,(在Xshell中使用上面方向键可以进行历史命令记录的引用) 

此时就是拼接

注意:cat和echo这是简单粗暴的读写文件,如果读写的东西简单,但可以勉强操作,但是如果内容庞大,就需要使用更加强大的编辑器了:vi/vim这就是Linux上自带的"记事本". 

现在我们使用vim编辑这里的文件:

输入命令行:就可以进入vim操作界面

此时我们就使用vim打开了2023.txt这个文件.

退出就是用先输入' : ',然后打印q,回车就退出去了!!!Linux_第9张图片

wq就是退出并保存的意思.(这里的w就是write 的意思) 

在这里,我们想要使用vim进行编程,首先要明白"模式"这个概念:

默认进去,是普通模式(mormal mode)

普通模式下,键盘的大部分按键,都是有特殊含义的快捷键

真正进行编辑需要进入到插入模式(insert mode)

输入小写字母i,就能进入插入模式

 在inset模式下就可以进行各种各样的编辑了:

其实如果要保存退出首先要点击esc,回到普通模式:

Linux_第10张图片

然后:wq回到文件夹页面

如果vim没有正确关闭,在下次启动的时候就会报错,提示你上次没正确关闭,此时可以直接按d(就是删除未保存的内容),按r(就是回复之前的编辑内容). 

关于vim我们掌握上述内容就够用了!!

1.打开文件

2.编辑文件

3.保存退出

我们使用vim编辑服务器上的配置文件或者是查看服务器的日志文件.

vim其实也是可以写代码的配合插件也是可以完成一些复杂的操作的.(但是总的功能还不如idea的一半,所以说作为Java程序员没必要抛弃好的去选择差的)

3.常用命令行

mv

move移动=剪切+粘贴

而这个操作就是把1.txt移动到aa这个文件夹里面,就是发挥了它move的功能.

另外,如果使用mv 1.txt bb就是将改文件进行改名操作: 

这就相当于把1.txt改名为了bb 

cp

copy 复制=复制+粘贴文件

Linux_第11张图片

此时编写1.txt然后利用cp进行文件的复制这样就有两个里面有hello world的文件了(1.txt,2.txt) 

如果要拷贝的是一个目录,那么要使用 cp -r操作,否则就会报错:

Linux_第12张图片

grep是字符串查找

ps是查看进程

netstat是查看网络信息

四、搭建Java部署环境

此处咱们要把写的java web程序放到Linux上面,首先要把环境搭好

需要安装的软件:

1.JDK

2.Tomcat

3.mysql数据库

1.JDK的安装(直接使用包管理器进行安装也就是基于yum安装)

输入yum list | grep jdk就可以进行基于yum云的jdk的安装了!

这里的' | '叫做管道,效果就是把第一个命令的输出作为第二个命令的输入了.

yum list本身就是列出来所有的可以安装的包.但是太多了

所以此时我们使用grep筛选出包含jdk关键字的结果.Linux_第13张图片 这是所有jdk的软件包,我们要安装的是这个:

Linux_第14张图片

 

使用复制粘贴要下载的包然后使用yum install进行下载. 

输入javac,有这样一串提示,就说明成功安装了!!!Linux_第15张图片 

2.Tomcat的安装Linux_第16张图片

 我们要下载的是这个:

 Linux_第17张图片

 为了保证我们安装的Tomcat和Servlet的版本是一致的,我们要确保tomcat 的保本是8系列的,所以需要手动安装我们的Linux环境下的Tomcat:(直接进行拖拽即可)

此时我们发现tomcat就拷贝成功了!!! 

然后使用unzip命令进行解压缩:

Linux_第18张图片

此时会得到一个tomcat目录,就和之前讲的一模一样了!!! 

另外我们还需要使用chmod +x *.sh给所有的文件赋予一个可执行权限

Linux_第19张图片

此时才成为可执行文件. 

然后使用sh shartup.sh就可以启动tomcat了!!!

3.MySQL数据库的安装

具体的安装过程见这个博客:

CentOS 7 通过 yum 安装 MariaDB - 知乎 (zhihu.com)

接下来就是程序的部署了:

1.在云服务器的mysql中,建库建表了:

Linux_第20张图片

注意:此时你的云服务器上的博客系统访问的一定是云服务器的数据库而不是你的本地电脑!!! 

2.微调代码

注意:你本地的数据库,端口号,用户名,密码和云服务器的数据库,可能是不同的!(本地数据库是你安装的时候设置了密码,而云数据库默认是没有密码的)

 这里的mysqld就是mysql的服务器(d->daemon守护线程的意思)这里默认就是3306!!!

使用netstat就可以查看哪个进程占用了哪个端口

3.打包

使用maven打包即可.打成war包

在打包之前的准备工作:

Linux_第21张图片

之后就是打包了:

Linux_第22张图片 

这就是打好的war包了!!! 

4.把war包拷贝到云服务器上的webapps目录即可

进入到webapps里面然后将这个war包拖入其中:

Linux_第23张图片

 之后记得启动Tomcat服务器:

执行之前都得是绿色的:如果不是绿色的就需要添加可执行权限(chmod  +x    *.sh) 

我们此时可以通过端口查看的方式观察tomcat是否启动成功了:

 此时就是启动成功了!!!如果未启动成功可以查看日志:

也就是在logs目录上

牢记一句话:本地能够正常运行,部署到云服务器上不一定能够运行.

之后还需要设定一下我们的防火墙:

Linux_第24张图片

此时就可以通过浏览器去访问我们的页面了:Linux_第25张图片 

你可能感兴趣的:(linux,运维,服务器)