当你学会开发完成一个项目之后,你就可以将项目进行上线,而且其实并不难,你需要先对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. hessian简单介绍

    Hessian是基于HTTP的轻量级远程服务解决方案,Hessian像Rmi一样,使用二进制消息进行客户端和服务器端交互.但与其他二进制远程调用技术(例如Rmi)不同的是,它的二进制消息可以移植其他非 ...

  2. FZU_1608 Huge Mission 【线段树区间更新】

    一.题目 Huge Mission 二.分析 区间更新,用线段树的懒标记即可.需要注意的时,由于是在最后才查询的,没有必要每次更新都对$sum$进行求和.还有一点就是初始化的问题,一定记得线段树上每个 ...

  3. FIL怎么获得?FIL在哪里购买?

    从一些交易网站可以看到,FIL 这几天有一个比较大的涨幅,这让许多投资 FIL 的朋友大松一口气:FIL,你终于不装睡了.估计许多关注区块链的小伙伴看到消息又要问了:FIL 怎么获得?FIL 在哪里购 ...

  4. Java中遍历集合的常用方法

    一.List 1.普通for循环 for (int i = 0; i < list.size(); i++)){ String temp = (String)list.get(i); Syste ...

  5. Git 上传项目到 Github

    Git 上传项目到 Github 该文章主要讲解Git 上传项目到 Github,Gitee同理 配置Git 下载.安装Git 下载后一路(傻瓜式安装)直接安装即可 如果第一次使用git的话,需要设置 ...

  6. 免费开源的客服系统 Linux 服务器环境安装部署过程

    最近因为项目需要,要找一款在线客服系统集成在 APP 中使用,而且涉及到生意开单,客服系统必须稳定可靠.另外甲方要求,必须支持 Linux 服务器环境. 我们以 Ubuntu 18.04 为例把安装部 ...

  7. Python使用sql语句对mysql数据库多条件模糊查询

    1 def find_worldByName(c_name,continent): 2 print(c_name) 3 print(continent) 4 sql = " SELECT * ...

  8. 北航OO第二单元作业总结(2.1~2.3)

    在经过第一单元初步认识面向对象编程思想后,本蒟蒻开始了第二单元--多线程部分的学习.本单元的作业是构造符合条件的"目的选层电梯"模型,自行设计调度算法,进行合理调度,完成所有乘客的 ...

  9. Two point

    利用问题的本身与序列的特新,使用两个下标i, j对序列进行扫描(可以同向扫描,也可以反向扫描),以较低的时间复杂度解决问题,一般是O(n) 例1:给定一个递增的正整数序列和一个正整数M,求序列中的两个 ...

  10. 一般实现分布式锁都有哪些方式?使用redis如何设计分布式锁?使用zk来设计分布式锁可以吗?这两种分布式锁的实现方式哪种效率比较高?

    #(1)redis分布式锁 官方叫做RedLock算法,是redis官方支持的分布式锁算法. 这个分布式锁有3个重要的考量点,互斥(只能有一个客户端获取锁),不能死锁,容错(大部分redis节点创建了 ...