当你学会开发完成一个项目之后,你就可以将项目进行上线,而且其实并不难,你需要先对Linux操作系统了解一下,博客下面的内容是基于CentOs7服务器。

购买服务器

参考链接

Linux宝塔面板

Linux宝塔安装教学

  1. 开放端口(阿里云安全组的配置规则中)

  2. yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh

    下载完毕之后,就可以得到一个地址:宝塔管理面板

    url username password

    --查看默认的入口和账号密码
    bt default
  3. linux服务器开启端口(注意阿里安全组也要开放)

  1. 可以在软件商店中安装Tomcat

  1. 包放入网站进行访问

比如tomcat就直接放到webapps目录下!

  1. 上传文件尽量使用XFTP

注意:网站如果访问失败,一定是防火墙的问题(Linux服务器,阿里云安全组面板 )

# 查看firewall服务状态
systemctl status firewalld #开启、关闭、重启firewalld.service服务
service firewalld start
service firewalld stop
service firewalld restart # 查看防火墙规则
firewall-cmd --list-ports #只看端口信息
# 开启端口(确保防火墙打开)
比如:开启80端口命令 firewall-cmd --zone=public --add-port=80/tcp --permanent
防火墙重新加载配置 firewall-cmd --reload 命令含义
--zone #作用域
--add-port=80/tcp #添加端口,格式为 端口/通讯协议
--permanent #永久生效,没有此参数重启后失效

Linux简介

操作系统:windows mac linux(比如CentOS 7)

一种类Unix系统,Unix系统商业化,Linux免费开源

继承了Unix以网络为核心的设计思想,用户可以轻松实现网页浏览、文件传输、远程登录等网络工作

一切皆文件

可靠安全:你听过过Linux病毒吗?Linux采用了很多的安全技术措施:对读写进行权限控制,审计跟踪、核心授权等等。

环境搭建

  1. 选择vmware安装虚拟机
  2. 选择阿里云服务器
    1. 购买服务器之后,

      • 获得公网IP地址
      • 修改自己的登录密码,就可以用xshell连接了

走近Linux系统

开机会启动许多程序,它们在windows叫做"服务"(service),在Linux上就叫做”守护进程“

系统目录结构

  1. 一切皆文件
  2. 根目录 / ,所有的文件都挂载在这个节点下

登录系统后,在当前命令窗口下输入命令:

ls /

看到如下图所示

数状目录结构:

对一些目录进行解释:

  • /home:用户的主目录,在Linux中,每一个用户都有一个自己的目录,一般该目录名是以用户的账号命名的
cd /home
mkdir dj
  • /etc:这个目录用来存放所有的系统管理所需要的配置文件和子目录
  • /opt:这是给主机额外安装软件所摆放的目录,比如安装一个Mysql数据库就可以放在这个目录下,默认是空的
  • /usr:这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似windows下的program files目录
  • /tmp:这个目录是用来存放一些临时文件,用完即丢的文件,可以放在这个目录下,比如安装包

Vim编辑器

三种使用模式:

  • 命令模式
  • 输入模式
  • 底线命令模式

用户输入vim,进入命令模式,输入i进入输入模式,按Esc 回到命令模式,输入:,进行底线模式

底线命令中我们会用wq,还有:set nu/nonu设置是否显示行号

常用的基本命令

目录管理

ls 列出目录

-a参数:all 查看全部的文件,包括隐藏文件

-l参数:列出所有的文件,包括文件的属性和权限,没有隐藏文件

所有的Linux可以组合使用。比如 ls al

cd 切换目录

cd 目录名(绝对路径都是以/开头,相对路径)

cd ../usr 相对路径进入usr
cd /home/dj 绝对路径
cd ~ 回到当前的用户目录

pwd 显示当前用户所在的目录

[root@iZwz93qi0mjvf9uc6yanngZ ~]# pwd
/root
[root@iZwz93qi0mjvf9uc6yanngZ ~]# cd /usr/local
[root@iZwz93qi0mjvf9uc6yanngZ local]# pwd
/usr/local

mkdir 创建目录

mkdir test0
mkdir -p test1/test2/test3 创建多级目录

rmdir 删除目录

rmdir test0 删除一个为空的文件夹
rmdir -p test1/test2/test3 删除test1、test2、test3

rmdir仅能删除空的目录,如果下面存在文件,需要先删除文件,递归删除多个目录 -p 参数即可。保证文件夹下面没有文件

cp 复制文件或目录

cp 原来地方 新地方

rm 移除文件或者目录

-f 忽略不存在的文件,不会出先警告,切强制删除

-r 递归删除目录

-l 互动,删除询问是否删除

rm -rf install.sh
rm -rf / #所谓的删库跑路

mv 移动文件或者目录 | 重命名文件

-f 强制

-u 只替换已经更新过的文件

--重命名
[root@iZwz93qi0mjvf9uc6yanngZ ~]# ls
install.sh
[root@iZwz93qi0mjvf9uc6yanngZ ~]# mv install.sh install1.sh
[root@iZwz93qi0mjvf9uc6yanngZ ~]# ls
install1.sh

基本属性

看懂文件属性

Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,有不同的权限,为了保护系统的安全性,Linux系统对不同的用户访问同一文件(目录文件)的权限做了不同的规定。

在Linux中我们可以使用ll或者ls -l命令来显示一个文件的属性以及文件所属的用户和组

第一个字符代表这个文件是目录、文件 或链接文件等等

  • d 则是目录
  • l则是链接文档(link file)
  • -则是文件

接下来的字符中,以三个为一组,且均为[rwx]的三个参数组合

其中,r表示可读,w表示可写,x表示可执行

要注意这三个权限的位置不会发生改变,如果没有权限就是出现[-]而已

更改文件的9个属性(掌握)

chmod [-R] xyz 文件或目录

Linux文件属性有两种设置方式,一种是数字(常用),一种是符号

chmod 777 www

硬链接和软连接

Linux的链接分为两种:硬链接、软链接

硬链接:假设B是A的硬链接,那么他们两个指向同一个文件!允许一个文件拥有多个路径 。用户可以通过这种机制建立硬链接到一些重要文件上,防止误删。

硬链接和复制还是有点不一样的,因为复制之后,修改源文件是不会影响到复制的文件。但是可以理解成同步备份

软链接:类似Windows下的快捷方式,删除源文件,快捷方式也无法访问。

ln 创建链接

touch 命令创建文件

echo 输入字符串,也可以输入到文件中

[root@iZwz93qi0mjvf9uc6yanngZ etc]# cd /home
[root@iZwz93qi0mjvf9uc6yanngZ home]# ls
dj redis www
[root@iZwz93qi0mjvf9uc6yanngZ home]# touch f1 #创建一个f1文件
[root@iZwz93qi0mjvf9uc6yanngZ home]# ls
dj f1 redis www
[root@iZwz93qi0mjvf9uc6yanngZ home]# ln f1 f2 #创建一个f2硬链接
[root@iZwz93qi0mjvf9uc6yanngZ home]# ln -s f1 f3 #创建一个f3软链接
[root@iZwz93qi0mjvf9uc6yanngZ home]# ls
dj f1 f2 f3 redis www
[root@iZwz93qi0mjvf9uc6yanngZ home]# ll
total 12
drwxr-xr-x 2 root root 4096 Sep 26 22:32 dj
-rw-r--r-- 2 root root 0 Sep 27 10:07 f1
-rw-r--r-- 2 root root 0 Sep 27 10:07 f2
lrwxrwxrwx 1 root root 2 Sep 27 10:08 f3 -> f1
drwx------ 2 redis redis 4096 Sep 25 08:24 redis
drwx------ 3 www www 4096 Sep 25 08:24 www
[root@iZwz93qi0mjvf9uc6yanngZ home]# echo "I love java" >> f1 #向f1中写入字符串
[root@iZwz93qi0mjvf9uc6yanngZ home]# ls
dj f1 f2 f3 redis www
[root@iZwz93qi0mjvf9uc6yanngZ home]# cat f1
I love java
[root@iZwz93qi0mjvf9uc6yanngZ home]# cat f2
I love java
[root@iZwz93qi0mjvf9uc6yanngZ home]# cat f3
I love java

理解软链接和硬链接实例

删除f1之后,查看f2和f3的区别

[root@iZwz93qi0mjvf9uc6yanngZ home]# rm -rf f1
[root@iZwz93qi0mjvf9uc6yanngZ home]# cat f3
cat: f3: No such file or directory
[root@iZwz93qi0mjvf9uc6yanngZ home]# cat f2
I love java

文件内容查看

LInux系统中使用以下命令来查看文件的内容:

  • cat由第一行开始显示文件的内容
  • tac由最后一行开始显示,可以看出tac是cat的倒着写
  • nl显示的时候,顺道输出行号 看代码的时候
  • more 一页一页的显示文件内容(空格翻页,enter代表向下看一行)
  • less和more类似,但是比more更好的是,他可以往前翻页(空格代表向下翻页,上下键翻动页面,q退出命令)

账户管理

添加用户 useradd

useradd -选项 用户名

-m 会自动创建这个用户的主目录 /home/dj

useradd -m dj

理解本质:Linux中一切都是文件,这里的添加用户说白了就是向某一个文件中写入用户信息。位置:/etc/passwd

[root@iZwz93qi0mjvf9uc6yanngZ home]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
...
dj:x:1003:1003::/home/dj:/bin/bash

删除用户 userdel

userdel -r dj 删除用户的时候将他的目录页一并删除

切换用户

root用户

  1. 切换用户的命令:su username
  2. 从普通用户切换到 root用户,还可以使用sudo su
  3. 补充:修改主机名

用户的密码设置问题

我们一般通过root创建用户的时候,要配置密码

如果你是超级用户

passwd username
new password
password

如果你是普通用户

passwd
(current) UNIX password
new password
re password

锁定用户(lock)

场景:张三辞职,需要冻结账号,不让张三的账号再次登录成功。

passwd -l zhangsan #锁定

进程管理

基本概念

  1. 在linux中,每一个程序都有自己的一个进程,每一个进程都有一个id号
  2. 进程可以有两种存在方式:前台,后台运行
  3. 一般的话服务都是在后台运行的,基本程序都是前台运行的。

命令

ps 查看当前系统中正在执行的各种进程信息

ps -xx:

  • -a 显示当前终端运行的所有进程信息
  • -u 以用户的信息显示进程
  • -x 显示后台运行进程的参数
#ps -aux 查看所有的进程
ps -aux|grep mysql #| 在 linux这个叫管道符
#grep 查找文件中符合条件的字符串

对于我们来说,这里目前只需要记住一个命令即可 ps -xx|grep 进程名字

结束进程:杀掉进程,等价于windows结束任务

但是啊,我们平时写的一个java代码死循环了,就可以选择强制结束进程。

kill -9 进程id

环境安装

安装软件一般有三种方式:

  • rpm(jdk:在线发布一个Springboot项目)、
  • 解压缩(tomcat,启动并通过外网访问,发布网站)、
  • 【推荐】yum在线安装(docker:直接安装运行跑起来docker就可以)

JDK安装

开发java程序必要的环境

  1. 下载JDK rpm
  2. 安装java环境
# 检查当前系统是否存在java环境	java-version
# 如果有的话就需要卸载
# rpm -qa|grep jdk # 检查JDK的版本信息
# rpm -e --nodeps jdk8_.... #卸载 #卸载完毕后即可安装jdk
#rpm -ivh rpm包 #配置环境变量
#使用yum 和rpm方式安装jdk不用配置环境变量,使用解压缩的方式需要配置环境
  1. 安装

  1. 配置环境变量(解压缩方式安装需要
vim /etc/profile

在文件的最后增加java配置和windows安装环境变量一样

JAVA_HOME=/usr/java/jdk1.8.0_221-amd64
PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin
export PATH JAVA_HOME

但java版本1.5之后不用再设置classpath了

CLASSPATH=%JAVA_HOME%/lib:%JAVA_HOME%/jre/lib
  1. 让这个配置文件生效(解压缩方式安装需要source /etc/profile

测试发布一个springboot项目

本地clean后,package打包成jar,在linux上输入java -jar dj.jar

Tomcat安装

ssm的war 就需要放在tomcat中运行

  1. 下载tomcat8 apache-tomcat-8.5.58.tar.gz
  2. 解压这个文件
tar -zxvf apache-tomcat-8.5.58.tar.gz
  1. 启动tomcat测试 ./xxx.sh脚本即可运行
#执行	./startup.sh
#停止 ./stop.sh cd /www/server/tomcat/bin
./startup.sh

Linux基本内容的更多相关文章

  1. Linux 文件内容查看工具介绍-cat,less,more,tail,head

    Linux 文件内容查看工具介绍 作者:北南南北来自:LinuxSir.Org摘要: 本文讲述几种常用文件内容的查看工具,比如cat.more.less.head.tail等,把这些工具最常用的参数. ...

  2. (一)Linux相关内容的简介

    1.Linux内核官网:www.kernel.org 2.Linux主要发行版本: (1)redhat  服务器中常见(部分功能收费); (2)Ubuntu  图形界面较好,但是服务器中很少用: (3 ...

  3. linux基础内容学习一:linux下的分区及安装

    linux看系统版本信息 uname -a 如果显示为i386,i686则为32位系统,如果为x86_64则为64位 一块硬盘最多可以有四个主分区其中一个主分区可以用一个扩展分区替换,在这个扩展分区中 ...

  4. Linux文件内容查阅 - cat, tac, nl, more, less, head, tail, od

    cat 由第一行开始显示文件内容 tac 从最后一行开始显示,可以看出 tac 是 cat 的倒著写! nl 显示的时候,顺道输出行号! more 一页一页的显示文件内容 less 与 more 类似 ...

  5. Linux 文件内容查看(cat、tac、nl 、more 、less、head、tail )

    Linux系统中使用以下命令来查看文件的内容: cat:  由第一行开始显示文件内容tac :从最后一行开始显示,可以看出 tac 是 cat 的倒著写!nl:   显示的时候,顺道输出行号!more ...

  6. LINUX文件内容处理及文本编辑器vim

    Linux基本操作命令 echo命令 echo命令: 把echo后面的内容显示到屏幕. -n 显示内容的时候不显示每行结尾的回车 echo 内容 >> 文件名 表示把内容加到一个文件的末尾 ...

  7. linux tail 命令详解!Linux 文件内容查看工具介绍

    转:http://blog.csdn.net/carzyer/article/details/4759593 1.cat 显示文件连接文件内容的工具: cat 是一个文本文件查看和连接工具.查看一个文 ...

  8. Linux文件内容查阅

    直接查阅一个文件的内容:cat/tac/nl命令 cat (concatenate) # cat [-AbEnTv] 选项与參数: -A  :相当於 -vET 的整合选项.可列出一些特殊字符而不是空白 ...

  9. LINUX基础内容

    在Linux中,有三种基本的文件类型: 1) 普通文件 普通文件是以字节为单位的数据流,包括文本文件.源码文件.可执行文件等.文本和二进制对Linux来说并无区别,对普通文件的解释由处理该文件的应用程 ...

  10. Linux文件内容查看相关命令

    1.more命令 在Linux中,more命令是一个基于vi编辑器的文本过滤器,它能以全屏的方式按页显示文本文件的内容,more里面内置了一些快捷键. (1)命令语法 more(选项)(参数) (2) ...

随机推荐

  1. 解决VM 与 Device/Credential Guard 不兼容(全网有效解决思路)

    为什么要写这篇文章先说背景:前段时间因为学习Linux系统需要,自己本机用的是Windows系统,那这里就需要用到虚拟机来创建虚拟环境用来支持Linux系统 1: 于是乎,自己很激动的下载了vm虚拟机 ...

  2. java集合框架部分相关接口与类的介绍

    集合基础 接口 Iterable //Implementing this interface allows an object to be the target of the "for-ea ...

  3. Dart 学习

    语言特性 Dart所有的东西都是对象, 即使是数字numbers.函数function.null也都是对象,所有的对象都继承自Object类. Dart动态类型语言, 尽量给变量定义一个类型,会更安全 ...

  4. 程序员必须搞懂的20个Java类库和API

    本文总结了日志.JSON解析.单测.XML解析.字节码处理.数据库连接池.集合类.邮件.加密.嵌入式SQL数据库.JDBC故障诊断以及序列化等20个方面的常用类库.都是你日常开发经常可能要用到的,现在 ...

  5. (2)MySQL进阶篇SQL优化(show status、explain分析)

    1.概述 在应用系统开发过程中,由于初期数据量小,开发人员写SQL语句时更重视功能上的实现,但是当应用系统正式上线后,随着生产数据量的急剧增长,很多SQL语句开始逐渐显露出性能问题,对生产环境的影响也 ...

  6. 阿里二面:什么是mmap?

    平时在面试中你肯定会经常碰见的问题就是:RocketMQ为什么快?Kafka为什么快?什么是mmap? 这一类的问题都逃不过的一个点就是零拷贝,虽然还有一些其他的原因,但是今天我们的话题主要就是零拷贝 ...

  7. 使用Azure API Management, Functions, Power Apps和Logic App构建应用

    ASP.NET OpenAPI 可以非常方便的将我们的Web API项目自动文档化,除了自动文档化以外,我们还可以利用Azure API Management将Open API自动文档化了的Web A ...

  8. 清明节特辑 |记忆存储、声音还原、性格模仿……AI可以让人类永生吗?

    摘要:如果能用AI "复活"逝去的亲人 你愿意吗? 清明节,很少有人会去特地想这样一个问题:我们为什么要给过世的人修墓,然后每年固定的时间去扫墓?当农耕文化的色彩褪去,清明节的祭祀 ...

  9. 前端 | 使用 ECharts 绘制关系图

    0 需求 做的项目需要画一个关系图,主要需求如下: 需要展示6种对象之间的关系:数据机构 数据 合约 模型 计算机构 应用 支持突出显示6种对象中的某一种的所有对象 支持Top x子图功能.top x ...

  10. [状压DP]子矩阵

    子 矩 阵 子矩阵 子矩阵 题目描述 给出如下定义: 子矩阵:从一个矩阵当中选取某些行和某些列交叉位置所组成的新矩阵(保持行与列的相对顺序)被称为原矩阵的一个子矩阵 如,下面左图中选取第 2 . 4 ...