你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

Linux系统个人学习笔记

[复制链接]
gaosmile 发布时间:2020-7-15 21:13
正文
! Z- S/ @9 Y$ x9 Q
  • 引言
    , O6 S  h* J4 P
    • 本文来自个人学习笔记,希望有帮助到你,未经授权,禁止复制修改
      / z  w/ G. Z' ~# z
Linux介绍
  • Windows的不足& e) R' ^) ~: o0 H2 A% K! y1 w
    • Windows是收费的
    • 系统长时间运行,安装多了,系统越来越慢,越来越不稳定。
    • 病毒和流氓软件很多
      4 d) a1 w. l( r* R' u& Z5 L  x/ @; O
  • Linux的优势
    1 _* P7 F& h' G6 t5 k
    • Linux系统是免费,很多还是开源的。
    • 长时间运行,很稳定的
    • 几乎没有病毒和流氓软件8 g8 n1 Q  Q! G) i' }# Z
学习Linux的好处

学会对Linux的基本操作是后端JavaEE程序员的必修课。做为一个后端JavaEE程序员,通常在Windows中开发完程序后,需要部署到一个相对比较安全,稳定的服务器中运行,这台服务器上安装的往往不是Windows操作系统,而是Linux操作系统。

windows默认安装完成软件就可以连外网,linux默认安装完软件是不可以连外网,必须防火墙放过才可以

linux的概述

Linux(linux is not unix)是基于Unix的开源、免费、多用户、多任务的操作系统,由于系统的稳定性和安全性。几乎成为程序代码运行的最佳系统环境。

linux的分类
  • 按照市场的需求不同


    1 U+ ^3 Y1 d( d6 Q- A3 Z5 S' s
    • 图形界面
    • 字符界面(推荐),特点:性能最优
      9 V7 |( d0 H  j; A1 l, O
  • 按照原生程度不同

    5 B% Q/ v2 O6 m' X/ W. O( }+ v
    • 是第三方个人或组织在内核基础上进行二次开发(包装)
    • 特点:功能应用更多,偏向应用,大多数发行版都是免费的
    • 特点:免费

      功能:主要解决操作系统底层,操作内存,cpu,硬盘,网卡。。。

    • 内核版,linux之父(托瓦兹)团队开发

    • 发行版(推荐使用)


      1 t. P/ J7 f2 S$ h" @
Linux安装

两种安装方式

  • 在PC电脑上进行安装
  • 使用虚拟机安装# {! W9 q9 S$ D) ^1 R. }

常见虚拟机软件

  • VMWare 软件,威睿公司,收费的(推荐使用,可以试用)
  • VirtualBox软件,免费的,  最开始是sun公司,由于被oracle收购了,所以目前属于oracle: E$ [* s9 V8 X9 K# o* P) p9 ?+ w
windows主机连接linux虚拟机与虚拟机网卡介绍[td]
命令
含义
ifconfiglinux系统用于查看ip地址信息
ip addrlinux系统用于查看ip地址信息

在windows主机上使用dos命令ping进行拼通linux系统

ping www.mobaijun.com% v- o. E& z1 e( Y! U! {
使用客户端工具连接linux系统常见的客户端软件

SecureCRT(操作客户端命令),SecureFx(用于传输文件)

XShell(操作客户端命令),XFtp(用于传输文件)

目录操作1—目录结构

linux系统没有盘符,一切从根目录/开始,如下图

微信图片_20200715210342.png

根目录下所有子目录

微信图片_20200715210345.png image-20200525150911453
+ G0 T6 R2 \: N) e. J; s常见的目录配置[td]- u* ^" v# G4 a3 G1 u. C# `/ m! z
目录
含义
bin目录
存放着所有linux系统的命令
root目录
超级管理员root用户的主目录
home目录
存放所有普通用户主目录的位置
usr目录
(unix shared resources)资源共享目录,所有用户都可以操作的目录,以后我们安装软件就安装到这里usr/local,这样所有用户都可以使用软件
etc目录
存储配置文件的目录,以后网卡配置文件,权限配置文件都在这里
目录操作—切换—创建—查看[td]
作用
改变目录/CD和目录名直接需要空格
/切换到根目录
.当前目录
..上一级目录
~返回当前用户主目录
-返回上一次目录
创建目录[td]
mkdir 目录名称
创建一个目录
mkdir -p创建多级目录
mkdir -p /父目录名称/子目录名称
  Q* }/ M0 c+ X3 j$ t# [

-p,如果父目录不存在会先创建父目录再创建子目录

查看目录内容[td]
ls参数
显示当前目录下的文件和目录
-l以详细的方式显示当前目录下的文件和目录
-a显示当前目录下的所有文件和目录,包含隐藏目录,.XXX开头的文件和目录是隐藏的
目录操作搜索—重命名—复制—删除—帮助[td]
find
[目录名称] [-name'查询字符串']
无参数搜索当前目录和它的子目录所有文件和目录
目录名称搜索指定目录下和他的子目录所有的文件和目录
-name '查询字符串'指定具体查询字符串
# _% J" [" d# b, z
*匹配多个字符串
, Y6 d$ @& Y% L8 U6 t; D) C
?匹配一个字符
重命名与移动
  • 重命名
    , P+ z. E& ~# \' m2 U- b3 u
[td]
move=mv
mv 旧名称 新名称
4 v1 D# g! s! H7 A7 |9 e& X
mv既可以改文件也可以改目录
7 ^# {0 v' a) f+ R0 P/ W
  • 移动
    5 L) N  L. D; X9 E- X
[td]
mv 源目录 目标目录
mv将源目录移动到目标目录下
! K  D/ Y7 j. |- T
  • 复制
    " I+ l% X) r# M! O- D
[td]
cp [参数] 源文件或目录 目标目录 将源文件或整个目录复制到目标目录下
-r recursion连同子目录下所有文件全部复制
8 C/ h: q6 H2 Q  Q' o$ R+ f
  • 删除7 K6 Z/ f: S( s4 ^
[td]
rm
参数 文件或目录1                        文件或目录2可以同时指定多个文件或目录
-rrecursion 连同子目录一起删除,只用来删除目录
-f强制删除,删除之前会确认,需要回答yes/no

注意:千万不要rm -rf /*  会导致删除所有的文件或目录,导致系统崩溃

  • 查看帮助文档- O  ^- A  j$ i9 p
    • 命令  --help  查看英文文档手册,使用q退出
    • man 命令     查看中文文档手册【推荐方式】,使用q退出) ^( K. |6 J# H8 W: H
创建文件与查看文件内容[td]
touch 文件1 文件2
创建一个或多个文件0字节大小
cat 文件名查看文件所有内容
more 文件名查看文件所有的内容,可以分屏显示
head 文件名查看文件前10行
had -n 行数 文件名查看前面指定的行数
tail 文件名查看文件后10行
tail -n 行数 文件名查看文件后指定的行数
less 文件名查看文件所有内容
$ `; U# Q6 B" ], s: Q-n 显示行号; H/ i* t9 \& r
PageUp 向前翻页
3 J* T; i8 p  MPageDown 向后翻页
. n8 y- w( [6 g* |q:退出
编辑文件内容
. N# I' B1 e9 i: T  G+ X9 n/ R 微信图片_20200715210349.png + O4 T: e+ s/ p! q8 U9 D
( B8 R  h% r; [( M" |
image-20200525154146121+ }, I: f7 j- R+ ]
  • 命令模式下命令" k" h' }# @. O5 `6 @* w9 \1 B; q
[td]
命令
描述
i在当前光标的前面插入字符
a在当前光标的后面插入字符
o在当前光标的下一行插入字符
命令或底行模式下常用的编辑命令" e9 R( L! F$ h/ L
yy复制当前行
p如果前面已经复制了,在当前下面复制
dd删除当前行
u撤销
/字符串搜索文本内容
) }( E6 [. j& A1 in:向后搜索* }0 H: v4 _) I, h: ]; @
N:向前搜索
wp保存并退出
q!不保存强制退出
wp!强制保存退出(只读文件使用)
压缩与解压[td]
拓展名称
分类
.zip/.rarWindows系统压缩包
.tar在Linux下的打包文件
.gz在Linux下的压缩文件
.tar.gz在Linux下的打包压缩文件
  • 压缩文件8 b8 m5 i' T9 {  c/ o) \9 }2 \
[td]
tar
参数 压缩包名 一个或多个文件{对一个或多个文件进行打包并压缩}
-c创建一个打包的文件
-v显示打包的详细过程
-z压缩文件
-f<压缩文件名称>只当压缩包的文件名称,f后面跟着压缩的文件名,一般放在参数最后面
  • 解压文件
    ( ?9 F, v! f* }0 ?3 z% l2 B* Q( W
[td]
tar 参数 压缩文件名称
解压文件到当前目录
-x解压指定的文件
-v显示解压的详细过程
-f<压缩文件>指定要解压的文件
-C解压到指定的目录下
查看工作目录位置—查看进程—内存耗用—杀死进程
  • 查看进程- g- M0 G7 x( c4 A
[td]
pwd
查看当前工作目录
ps显示当前用户通过终端启动的进程
-a显示所有用户通过终端启动的进程
-u显示所有用户通过终端启动的进程详细信息
-x显示所有用户的所有进程
  • 杀死进程6 Q7 s, w1 _. e
[td]
kill 参数 进程号
通过ps可以查看到进程号
-9强制终止进程
  • 查看系统内存整体耗用
    5 Z9 f& H6 {  a
[td]
top
查看系统内存整体耗用
搜索文件内容

grep是一种强大的文本搜索工具,它能使用字符串搜索文本,并把匹配的行和行号打印出来。

  • 搜索# \) s  P6 ~/ W3 d
[td]
grep 参数 字符串 文件名
搜索指定文件中字符串内容
-n搜索结果中显示行号
-v显示不匹配的行
-i忽略大小写搜索
管道

管道就是“|”

  • 命令
    + g" R, M2 T$ ]& l6 A! e, z& N
[td]
语法
命令1 | 命令2
解释管道命令|,必须要有两条以上的命令参与运算
关机与重启
  • Linux/Windows
    # J. t: F4 b7 N. z" @7 v" Z9 |/ m
[td]
Linux
释义
shutdown now关闭服务器
-h  +参数指定**时间后关机
shutdown -n 16:05指定时间关机
shutdown -c清除定时命令
reboot重启Linux
Windows命令释义
shutdown -s立刻关机
shutdown -s -t 秒指定多少秒后关机
shutdown -a清除定时计划
shutdown -r系统重启
文件权限( ?" ?0 C, _  ^6 j. \
微信图片_20200715210352.png
1 H# ~7 S2 z8 O, X% L+ q5 K- \9 C
/ B5 B! q' T( D- Q6 A- `4 Q
image-202005251605500451 i/ n# H! z0 q" o; u3 M
  • 每一类用户都有3个权限
    4 j+ m+ J+ [/ f% f4 u* e1 J3 E
    • r:读取权限, 只读
    • w: 写入权限 , 可以编辑文件
    • x:  执行权限, 由于某些文件是可以执行的,如有有执行权限才可以执行
      / d: p$ K, d! \, v1 q
  • 操作权限
    + D% N; c: W! _5 _9 K- I2 u9 @
    • 添加权限:chmod 用户或组+权限  资源文件或目录
    • 删除权限:chmod 用户或组-权限  资源文件或目录
    • 修改权限:chmod 用户或组=权限  资源文件或目录
      # C. q- G& J; S. l7 s5 @, [1 N
crontab定时任务[td]
命令
含义
crontab -l查看当前用户的定时任务列表
crontab -e进入编辑当前用户定时任务编辑器
crontab -r删除当前用户的定时任务
* * * * * 命令每分钟执行一次命令
服务管理—自启动服务管理
7 ^6 g+ x8 s9 y7 ^# A/ M# ~2 \8 u2 b 微信图片_20200715210355.png % |* |) V; t# Q8 N. L* {

9 R; C" u' ]- s! H5 n& Y, s4 Z0 o% F6 fimage-20200525161016493
6 ^1 Q0 P1 t! {; j6 R, I
  • 服务管理的命令:systemctl start/stop/restart/status 服务名  操作服务启动/停止/重启/查看状态

  • 设置服务开机启动:systemctl enable 服务名.service

  • 设置服务开机不启动:systemctl disable 服务名.service

    : m* c# I9 y' A/ }) U  ]
网络管理1-主机名管理
  • 主机名称命令
    9 [; K. R+ U0 B
# 查看主机名/ X- F5 D7 Q. R, V, P
$ hostname. j! d# V2 a  \' K( ^
# 修改主机名称 永久修改计算机名字,需要重启或使用bash刷新
' ^. V2 x: U1 j$ p; g$ hostnamectl set-hostname [args]% B7 L; t; f7 u, e
# 刷新
$ V" `: z% j+ I6 c$ bash
3 m1 c8 G; E4 W
网络管理2-网络服务管理# 启动网络6 ^& ]; N" M! H. U
$ systemctl start network
( x! `1 h+ a& I$ i3 i7 U# 停止5 G/ @& Y5 z& g6 y( I- N
$ systemctl stop network
2 y7 F( i  m2 d3 h: R# 重启  f0 W  k$ V% Y& [
$ systemctl restart network
( L! _' i* `8 t1 L% _- W4 f1 m# 查看状态  V7 O, d* h; A' j) U  h
$ systemctl status network
2 W9 Q# _5 t' M/ b

如果linux系统不能上网(内网和外网),需要检查网络服务

网络管理3-网卡激活管理
  • 关闭网卡激活实现步骤% u1 S% `- ]. d/ ]7 [: s- Y
# 找到网卡配置文件ens32- `* O2 b% k4 F7 \# b
$ cd /etc/sysconfig/network-scripts/ # 网卡配置文件目录8 e6 G( ]- v3 p: x
# 查看目录文件0 \4 A' L  N4 |' E
$ ls
+ \$ N" ~2 L& `9 m# 修改配置文件
0 t7 y: H  f4 R! v! G$ vim ifcfg-ens32
1 \$ [6 H9 {. V! j, m# 修改配置,关闭网卡0 B9 L; x! D0 A4 O2 j! `
ONBOOT=no
5 y1 B3 [$ S2 b% h  X, e# 重启网络服务1 R( D! Q1 ~6 |
$ systemctl restart network0 @" J3 K2 @( Z$ M; \
# 测试是否可以联网
: ^* {) z5 j$ @$ ping www.mobaijun.com6 c0 `* K8 ]* C. E
# 修改配置/激活网卡 修片配置文件ifcfg-ens33,开启网卡! I' c% l) G9 x; i6 [: g- a
$ ONBOOT=yes2 b/ S- u! z7 t* T7 z8 ]1 q
# 重启网络服务) {! e+ N% }9 l0 l
$ systemctl restart network

$ K* `+ Z; \" A4 I5 u网络管理4-配置静态ip
  • IP配置类型
    ) C1 [: [& Z5 x
    • dhcp:动态IP
    • static:静态IP
      5 r, g2 n4 M7 P% M
  • 配置静态IP步骤, y" l3 B8 c' i  r1 ^# m
    • 域名服务器,根据域名获取对应的服务器ip地址,这样才可以访问外网
    • 用于区别不同的网络,网关可以解决不同的网络通信,需要硬件支持路由器
    • 用于标识ip地址的网络号是多少位
    • IP地址由网络号和主机号组成
    • 给linux系统设置ip必须确定ip的地址、子网掩码、网关
    • IP地址(互联网协议地址):
    • 子网掩码
    • 网关
    • DNS
      + `* d6 s* V/ ]+ \) Z( v/ T2 _; f6 Y
  • 修改网卡配置
    ! u0 A9 x+ I9 }9 u) F5 e
# 找到网卡配置文件ens32
& b# \) h) U( H/ s/ w$ cd /etc/sysconfig/network-scripts/ # 网卡配置文件目录2 k. J$ h( q: E
# 查看目录文件- `. ^# r, p" s. C+ e! `
$ ls8 Z7 h$ j2 }- k: a
# 修改配置文件' A! _3 ?6 y$ R2 K$ y. `' ~
$ vim ifcfg-ens32
/ t! o& R- A9 W# 修改配置,切换成静态模式
: B& r  \+ f7 V2 B/ uBOOTPROTO=static
( D3 u- J6 m. a0 E& c# 最下方添加相关内容3 ^" Z2 o6 x9 _! `
IPADDR=192.168.56.1358 Y3 ?" x; f) R: @
GATEWAY=192.168.123.83
5 |: g" B5 O# MNETMASK=255.255.255.0
# K0 Y0 G8 {, T+ z/ ODNS1=114.114.114.114( r: \$ F$ J% h
# 重启网络服务
0 O  P# C* G" u1 i. \& E9 u# S' Q$ [$ systemctl restart network+ O' I  w; X$ T$ e" b+ c
# 测试是否可以联网4 _" l4 }/ ^# t
$ ping www.mobaijun.com
3 c2 t; B. C2 V: s% t
网络管理5-克隆虚拟电脑
  • 克隆步骤
    : p5 C4 g2 v' J5 b
    • 关闭当前虚拟机linux系统
    • 选择当前虚拟机/管理/克隆/
    • 修改克隆出来的静态ip
    • 修改计算机的名字
      . i9 y. ]% t  N! T& g' @0 }
网络管理6-域名映射
  • url域名访问服务器通信原理7 p. G4 Q% q, h+ m3 n
微信图片_20200715210359.png image-20200528161737276
  • 本地域名映射文件位置
  • Windows系统本地域名映射位置:5 C# k. X! d3 d8 i
    • c:\windows\System32\drivers\etc\hosts
      % _2 j8 k0 X+ A% |2 `& J0 y
  • Linux系统本地域名映射位置:
    - w! H' @) u: E1 y1 k$ J0 Z
    • /etc/hosts
      ; V. D& h9 r  W( Q9 K* q; L( p
  • 修改本地域名映射实现步骤
    + ?, z, e( ^6 K2 @9 s
# 编辑本地etc/hosts域名映射文件1 |2 Q# J0 b) f4 C6 W- ^  ^
$ vim /etc/hosts
+ D) l) O. B+ w( X# 添加域名映射IP的配置3 H, I! i1 Q" Z! _$ S3 [& G
192.168.123.83 www.mobaijun.com  l5 @/ D7 W' ~9 e8 m7 P. h& U
# 保存退出* C( }7 E; {2 c" M6 G
$ wq
( O% H6 l4 D* H4 [+ D* Q/ z! U( d  ]) x# 测试效果2 O+ J5 c4 i1 u2 ?- [; }
$ ping www.mobaijun.com
9 w; W% h! j& x+ n9 _
网络管理7-查询网络进程使用端口号

常用命令

[td]
netstat [args]
null
显示网络状态
-nnumber显示程序的IP地址和端口号
-tTCP只显示TCP协议链接的程序
-llistener显示监听中的Socket
-pPrograms显示程序的名称
-uUDP查询udp协议通信的程序
# 查看端口、udp、tcp、正在监听、显示程序名的所有程序7 _, ]" F! h. X; T3 v# x
$ netstat -nutlp
, u  k* X2 I1 \, p# B4 x2 i
防火墙管理
  • 防火墙作用
    0 I! X& e7 v- |# d3 u# Z  \

是防止外界访问系统内部的程序,防火墙允许哪个软件访问外网,这个软件才可以进行网络通信

[td]
命令
简介
systemctl status firewalld查看状态
systemctl start firewalld启动防火墙
systemctl stop firewalld关闭防火墙
systemctl enable firewalld开机自启
systemctl disable firewalld让防火墙开机不自启
SSH有密登录和免密登录
  • SSH实现免密登录步骤
    6 ^* L- Q$ S" d# E9 B5 m
# 在本地生成一对公钥和私钥
7 z' ]: ~# v3 g) H! H3 L$ ssh-keygen# u! [- f6 g  G9 K+ R1 E7 G
# 将公钥发送给远程服务器,必须给出远程服务器的密码本地才接收公钥( ^6 p/ |& r; Z/ b4 S3 c
$ ssh-copy-id address
# g. X. v; l9 }# 查看公钥% k. h8 r4 V8 b! ?$ \
$ cat authorized_keys8 ]) X1 w8 p/ P# j- Z
# 发送登录请求,实现免密登录' x7 Q$ h; Z& C, }) j  G' b
$ ssh address

! j% X/ k* O2 K" V% x, k; V部署项目1-本地软件安装命令rpm

RedHat Package Manager(RPM), 擅长安装本地的软件

  • rpm的作用
    ! G3 C' x; O/ @1 \7 q* A
    • 查询已安装的软件
    • 安装软件
    • 卸载软件2 |# r" _5 M% ^. |! u  M
  • 常用命令
    - a# h- `9 d, M/ Y1 i+ |9 W
[td]
rpm [args] [包名]
类似软件管家{添加,卸载,查询}
-v显示安装的详细过程
-q查询某个软件是否安装
-a查询所有软件
-h列出软件安装时的标记
-iinstall 安装指定的软件
--nodeps不验证软件相关关联性,常于-e一起使用,表示强制卸载
  • 测试7 K8 f1 H2 A9 o8 P# Q( l0 F& Y
# 查询所有已安装软件
% @' N* W# d" u( G) f4 i, i# `$ rpm -qa4 Q! Y  D3 `3 f
# 安装指定的软件包' \; b) u1 {, p, A5 a+ X
$ rpm -ivh <包名>
9 g4 E$ e5 h+ L( O# x# 强制卸载指定软件包
; d2 P$ E- O" U  R, t, |. b$ rpm -e --nodeps <包名>
# d' [# ~. l* |
RPM_jdk安装# 查询本地是否有JDK/ j8 `9 C% K) U  P; `0 G3 p
$ rpm -qa | grep java
  k! `- o) Z+ \, V# 查询是否安装JDK
, o$ H+ o( l' u2 M; t  r2 i$ rpm -qR jdk
$ Z  w2 ?+ ~% ~7 D# 新建soft包存放未解压的安装包# w) |9 [2 [* Q1 P
$ mkdir soft4 }' }9 E, U* _3 g# [
# 将jdk软件上传到linux系统/soft目录下并解压到指定目录7 d' ?/ [2 T' T" q! b  J
$ tar -xvf jdk-8u251-linux-x64.tar.gz -C /usr/local4 r' `. [4 m+ u; ]3 t
# 配置linux的jdk环境变量,操作一个/etc/profile环境变量配置文件. X" D& O+ ~4 R  F, w+ c
$ vim /etc/profile
% j2 S& f, f) |2 M# 配置环境变量
1 s& d! r0 Q% ~. }6 `#set java environment$ Y6 D2 }1 v4 Q7 E
JAVA_HOME=/usr/local/jdk1.8.0_251- Z2 J* r9 N# w9 Q" }: w
CLASSPATH=.JAVA_HOME/lib6 s5 H" g- R  z# @( P# z7 d
PATH=$JAVA_HOME/binPATH
8 q! H1 g5 T+ k/ E; N. ?export JAVA_HOME CLASSPATH PATH+ y5 k% Z- F! J9 D8 a
# 重载环境变量配置文件
5 V" G& i, k8 V# O: c$ source /etc/profile
1 Q+ |. x# Z+ @0 o+ d# 查看jdk环境变量是否配置成功
3 R5 q6 X9 s4 o2 i$ java -version

- @8 |1 ]) r5 V# `' M. @更换YUM源# 安装wget
& L: H! I2 E7 j/ a$ yum install -y wget
6 r. R' G- o8 S  R3 X' S# 下载CentOS 7的repo文件
+ w8 u8 u4 W" ?$ y9 X$ wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo" J1 d# Y9 k5 N9 m! K# Q
# 清除缓存
. H. K) t7 U% d$ yum clean all
2 ?7 S' F! q: p$ Z) T# 生成缓存
- |5 _" p4 s6 @+ Z) X/ z$ yum makecache
. \1 n& _  Z' {8 A& ~5 w* H7 f0 g1 s/ t1 `# 备份CentOS 7系统自带yum源配置文件
4 H; C5 h5 M* l) ^$ mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
* P1 i, I) g: [; }$ Z8 j# 打开CentOS-Base.repo文件,将文件中的所有http开头的地址更改为https+ z; b8 \: h$ f
$ vim /etc/yum.repos.d/CentOS-Base.repo
: d7 S8 G5 Z% f$ \- `# 更新YUM
" ^% x0 C5 R. Q! P$ yum update
. F  C% l1 a0 q5 V& ?4 h9 c% S
部署项目3-mysql安装-启动-远程授权
  • MySQL安装
    0 U9 J- w8 s3 {5 d( F1 S
# 查看CentOS是否自带的MySQL,如果已经安装需要卸载。如果没有找到,则表示没有安装
$ H* y6 V5 q. N4 K  e$ rpm -qa | grep mysql& a) p2 a! ^  N$ @
# 在线获取CentOS7的mysql的rpm安装文件,直接执行如下命令:8 m+ n2 o. ]" a' P
$ wget http://repo.mysql.com//mysql80- ... se-el7-1.noarch.rpm
5 @' v$ W7 z6 d$ U# i- n. I# 执行安装命令
! |' J5 _/ N; w2 i5 M$ rpm -ivh mysql80-community-release-el7-1.noarch.rpm
" o% i# t0 V4 C# 得到两个配置文件,进入/etc/yum.repos.d目录下查询
( J( G. W/ Y5 i- `, O2 `$ cd /etc/yum.repos.d 5 F8 U7 m- d0 K
# 编辑mysql-community.repo文件,配置资源库下载版本选择
6 T: ^1 _9 w) p" W4 C; y/ M$ vim mysql-community.repo: y  C9 ]( ]2 ~  T0 O
# 编辑需要下载的MySQL版本将`enable=0`改为`enable=1`
) O7 z: a- X" Q1 j- z9 ?6 [% ]{. j) b* _3 p! k
[mysql55-community]
  b5 v0 \& E7 h# b8 l2 H0 B" a7 Fname=MySQL 5.5 Community Server
+ Y0 C+ k, i9 g; \, Vbaseurl=http://repo.mysql.com/yum/mysql-5.5-community/el/7/$basearch/3 D/ g/ L; R& j! s0 ]
enabled=16 O" t& a+ m# b9 }$ l2 F% s) ^
gpgcheck=1
/ G; m- X. s* n( S$ v! Fgpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
7 ], Y8 a- `& z( h: ?, A' A}: \3 l" I1 u; q5 H/ Z5 ?* Z
# 下载安装客户端、服务器端、工具包% t& S  a' c: L# J, @
$ yum -y install mysql-community-client mysql-community-server mysql-community-devel

1 Y5 O9 o, _8 O2 |
  • 启动
    0 |& r" p& p, r# Z0 J
# 启动MySQL
5 q- w* F' C" v, Q  }; |$ systemctl start mysqld  G' n) `. F4 M( t+ m
# 将mysql加到系统服务中并设置开机启动) d/ H) l5 _. S0 o* B7 o3 D
$ systemctl enable mysqld
5 G7 {; X7 Y: Y9 u" A# 登录mysql,root用户默认没有密码. I, z' [* G4 L- j& z' y! w; s
$ mysql -uroot5 T, `4 i! @2 v6 I2 G, m! U
# 在mysql中修改自己的密码
( K4 K; A& [# @, B, _$ set password = password('root');2 T8 N4 u" Z7 y/ N! L
# 退出
" t8 A+ }, n: d; i4 ?3 g6 `$ exit1 _4 p* b4 H0 E9 e4 Q
# 重新登录% u' x0 B% a" F0 s, K
$ mysql -uroot -proot

% o- W3 \. g, ~! ~
  • 设置远程连接权限、开放端口号

    开启mysql的远程登录权限,默认情况下mysql为安全起见,不支持远程登录mysql,所以需要设置开启,并且刷新权限缓存。远程登录mysql的权限登录mysql后输入如下命令

    # 开启mysql的远程登录权限' l' A8 r( I0 T* r8 D$ |) h3 y
    $ grant all privileges on *.* to 'root'@'%' identified by 'root';
    ' R* ^* t# i, w7 P" L: z7 K/ ?# 刷新权限缓存: |0 @5 E3 o- R2 _
    $ flush privileges;
  • 开放Linux的对外访问的端口3306


    6 O8 z( z7 |- s. Y3 y; H
# 开放的端口永久保存到防火墙
. {) l+ V" V# c+ H$ firewall-cmd --zone=public --add-port=3306/tcp --permanent4 s& W8 W$ m) L" o" J
# 重启防火墙) _* R$ q1 @* F7 j6 o6 R! a9 G
$ systemctl restart firewalld
! ^$ [5 N* Z5 j3 b- u$ b
  • Navicat测试
    2 i& _0 r: o3 t3 x: v3 [
部署项目4-tomcat安装-启动
  • 下载Tomcat. X; ]1 F8 {4 h7 L9 J
微信图片_20200715210402.png image-20200529105935993# 将软件上传到linux系统/soft目录下并解压
9 c, ^, E1 n% o" T* r& w$ tar -xvf apache-tomcat-8.5.55-src.tar.gz  -C /usr/local/
) U  M3 d% v( [# 改名& X3 v# n, p% V. m% q
$ mv apache-tomcat-8.5.55-src tomcat8
( D9 t) P9 X6 R( z# 进入bin目录: x% [3 I$ D: H" b( z" K: w  y
$ cd /usr/local/apache-tomcat-8.5.55-src/bin
5 B  h- I3 e4 c0 C# 启动tomcat服务器/ G  v- O" P; ^5 |
$ ./startup.sh! ~5 V: f5 p# F
# 提示权限不够解决方案
. ?1 O( H. P( Q* E" R$ chmod u+x *.sh; b  R' I) u: C. y
# 重启应用服务& M7 l2 m; k1 g5 g0 T
$ ./startup.sh
% P% j8 b- n) ]2 V5 I# 开放linux系统防火墙8080端口6 P' f% F; d) u( o# q8 Q8 D& Q
$ firewall-cmd --zone=public --add-port=8080/tcp --permanent
) a; b$ T* U3 y$ k# 检查是否生效) v4 a# I0 d1 h$ U% Y0 d/ p% ?
$ firewall-cmd --zone=public --query-port=8080/tcp
2 P+ [2 {4 i+ g( Q# F# 重启防火墙4 ~( U$ l  O7 [. n: n" G: g
$ systemctl restart firewalld) L4 N: \* |! e3 S3 m
# windows客户端使用浏览器访问linux的8080端口tomcat
, u1 U+ E$ f. c: B$ 192.168.123.83:8080
; O. z  M& j6 ], _* ^, D8 b% C# tomcat无法找到JAVA_HOME解决方案# z% O8 N; c  [5 v* X) O
# 查看环境变量是否有问题2 j3 G0 J+ Z1 S, W/ C
$ echo $JAVA_HOME9 d9 k- Q. I2 i* w
$ echo $JRE_HOME( Y! G% I  S, D8 H- X+ ^6 ~% d
# 定位到tomcat/bin/setclasspath.sh目录下,文件开头添加环境变量6 ?* P; P- U+ r/ T0 h& R5 Q
JAVA_HOME=/usr/local/jdk1.8.0_251% v: _4 S$ F" b$ F
JRE_HOME=/usr/local/jdk1.8.0_251/jre
: s7 X* p! D0 P# 删除tomcat和日志文件
4 y4 L. h1 t$ t: W' Q/ H: G$ rm -rf /usr/local/tomcat: z) f3 _' X& L+ B" Y3 X  @
$ rm -rf /usr/local/logs/*.txt &
  w/ z& H+ l. L5 ], n$ rm -rf /usr/local/logs/*.log &

# f# U2 R) k) h9 c7 { 微信图片_20200715210405.png image-20200529110825215
% |3 s0 ^. F. a( g部署项目5-项目发布! T; C& Y7 U5 A  N6 E1 p- U
  • 链接Linux数据库(导入数据库)
  • 在IDEA中导出war包
  • 将war包部署到linux里面的tomcat里面的webapps里面
  • 浏览器访问  f6 z% A) ?( R+ T$ O6 e
解决mysql底层乱码问题
  • 修改druid.properties配置文件,设置mysql使用utf-8解码,添加?characterEncoding=utf8
    ) I& _! {1 s3 N& y6 _" H7 B
driverClassName=com.mysql.jdbc.Driver
7 B% W# P) P* N/ X7 |; m; [url=jdbc:mysql://127.0.0.1:3306/linux?characterEncoding=utf8& Q% W& L' I/ [" |4 E
username=root
: @) t. K8 Z3 U* q% B) J( Rpassword=root7 G( I9 |# [/ z# R/ u* c
initialSize=5
" l1 k: {! k# S* LmaxActive=50
( V2 y1 L' j1 kmaxWait=30000' i  ]+ j; u1 B8 k3 ]$ u8 U* d, n
minIdle=3
( h) m( s- y) H4 l- B" s# N2 ^
  • 将当前项目需要重新打包,再部署到linux上tomcat的webapps里面
  • 关闭tomcat,执行shutdown.sh
  • 启动tomcat,执行startup.sh
    " _/ _: V( N: F% a7 R6 M
用户管理1-用户的管理
  • 添加用户" G) z1 e! i  h! ?! _* o
# 添加用户,进入/home文件夹/创建用户和主目录
* V% J" [$ ?/ W) N$ cd /home
9 l3 [, G4 ~# K; |8 s' Z  v# 查看
% L6 ?7 i8 a0 z$ ll5 b$ R. k/ n$ T" T3 I" U0 n
# 创建组名
3 P+ `4 ^: K. e( i" ?$ useradd -m mobaijun( {4 |9 s' |; j2 y- F
# 查看, C  `8 g% O* p5 L
$ ll
2 C, e! O1 j( I2 @& k+ U- Z8 l# 创建用户名, Q$ D+ Z6 j0 I0 e7 r5 T8 d
$ useradd -mg mobaijun tom
$ |' o* |0 A8 }1 @# 查看
, G' h8 V6 k9 t7 R  C[root@mobai home]# ll
) y( a' O5 L4 i3 X总用量 0
2 n% D" l, U) jdrwx------. 2 mobaijun mobaijun 62 5月  29 11:25 mobaijun" c6 {2 i5 `( m; y3 ]) R
drwx------. 2 tom      mobaijun 62 5月  29 11:25 tom% t5 |( }4 o0 K8 E. X2 U
# 查看/etc/passwd用户内容
3 f/ I* V1 w: A3 }. c4 `! p$ cat /etc/passwd' E+ S0 a5 O/ X
# passwd文件用户内容6 M5 y. Y8 q; y+ Z, R, {
mobaijun:x:1000:1000::/home/mobaijun:/bin/bash
4 w. o$ K8 q, W  W& n0 stom:x:1001:1000::/home/tom:/bin/bash

) G/ f) i1 m: w2 z 微信图片_20200715210408.png image-20200529113324846
  • 给用户设置密码并切换用户$ F5 S6 _: U* Y2 e
# 设置密码" l  Q# Q# l' w6 W2 A
$ passwd mobaijun
* K7 G6 ]7 P; z1 T# 切换用户9 ?* T) [  p9 D2 W
$ su mobaijun+ G4 O& _: T" \0 H% F: ^
微信图片_20200715210411.png
% q1 T1 A" z4 y0 v- k* f: K& T3 K
8 p) i, {7 ~/ o8 {image-20200529113602453
  • 删除用户
    + m# c! G! M/ t3 Y9 o
# 切换回主目录
# B8 b% `/ P6 ]  \: k$ su root 7 Z4 k  t/ F! l$ l' s* r5 l
# 删除用户组
6 Q5 p- ?' a1 {1 a( L; c$ userdel -r tom
; i# ~  t4 P+ E, t
微信图片_20200715210413.png image-20200529114209310
  • 修改登录名& Z+ \+ k- _. `4 `- ]
# 修改登录名称  i- p% _/ g. P1 E# q# x6 G
$ usermod -1 Rose mobaijun

) r" E, k9 i2 |7 @, F6 Y$ z$ w

总结

  • useradd:添加用户
  • passwd:给用户设置密码
  • su:切换用户
  • userdel:删除用户
  • usermod:修改用户登录名' H0 T9 w; v8 I9 A0 r* ?9 G9 y
用户管理2-组与用户的管理
  • 添加组* ~9 u, X2 u- O: G" J  X
# 添加组/ s% E# M3 [' L' V
$ groupadd [组名]$ P: _2 Q/ V: h5 n1 f5 k) }5 a4 e
# 查看组
) G. `: H/ m8 T; Q1 h$ cat /etc/group

0 C9 }9 H- O% K6 s0 |& `& Y5 F5 b
  • 用户添加指定组
    9 a/ y; b" o& W& m, o( w) S8 D
# 进入主目录) M; M" @7 s. O. V) b! T  c- T
$ cd /home- X" q; M& \. c7 R6 w5 q
# 修改用户组名称9 W. a" f+ b7 t% ~' r" y
$ usermod -g [新组名] [组名]

5 J# Y' u5 T1 O, j. Y" Q, }
  • 用户从指定组中删除
    % y3 d+ _3 S$ \& b- I
# 用户从指定组中删除
$ d  [) p% G) O' w" m. k& ~$ gpasswd -d 用户 组名
5 ~, P% r2 `5 x; r* x; |7 q+ Z( z' l# 查看1 E8 o: q, p6 |+ J5 `+ T+ X
$ ll
& Z& }/ B# F* P8 E$ j# 查看配置文件
- P% u# K) m4 o$ cat /etc/group
% a* H! p& ]0 ^8 {* p8 t+ [# D2 U
  • 修改组名
    / c3 K* P9 Y! K. o- r
# 修改组名4 }& ?! h5 t2 }5 X1 t  s
$ groupmod -n 新组名 组名
$ x% \" @  d& O4 A+ [) w2 B# q
  • 删除组/ N2 W  r' q+ M6 B( u
# 删除组8 k0 f# g. k# S  p1 j
$ groupdel 组名  Q- p8 W* W" a' H7 w9 L  q
# 查看8 G+ c% J; S& }  _) o5 M9 V
$ cat /etc/group
/ \* h/ `1 K( h5 K

总结

  • groupadd:添加组
  • gpaddwd:将用户从组中删除
  • groupmod:修改组名
  • groupdel:删除组. V$ o$ @3 N* P$ B1 \$ ~
用户管理3-给普通用户设置 sudo超级管理权限# 编辑配置文件
' |3 P$ ~4 c/ h5 X$ vim /etc/sudoers4 [( w: d! {, Y+ o+ o) r  S3 g
# 切换用户) p5 Z( Y2 y! o9 w
$ su mobaijun. ]! W: o, c1 Z3 J, b
# 设置权限* y9 S- l1 S5 f. P4 J
$ sudo useradd -m 用户名
9 X# k3 {' @% Z" a4 w# 查看
% {. b& }* Q$ p% P# n7 a$ cd /home

# P) j2 A" }) S# W% |5 p' D+ [
% v& o- @' d  I
: m8 V# h6 ]( n: T! G* E' \  L3 b
收藏 评论0 发布时间:2020-7-15 21:13

举报

0个回答

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版