Linux入门笔记(附jdk的rpm安装、tomcat的解压缩安装、docker的yum在线安装)

参考视频资料:武晟然(很全面很详细)

工具:Xshell Xftp 阿里云服务器

Xftp:
Linux入门笔记(附jdk的rpm安装、tomcat的解压缩安装、docker的yum在线安装)_第1张图片

Linux入门笔记(附jdk的rpm安装、tomcat的解压缩安装、docker的yum在线安装)_第2张图片

Xshell:

Linux入门笔记(附jdk的rpm安装、tomcat的解压缩安装、docker的yum在线安装)_第3张图片
这里的
root:当前用户名
renyu:主机名
server:当前所在的目录
#:超级用户 (普通用户符号是$)
Linux入门笔记(附jdk的rpm安装、tomcat的解压缩安装、docker的yum在线安装)_第4张图片
以下是对这些目录的解释:

/bin:bin是Binary的缩写, 这个目录存放着最经常使用的命令。(基本命令)

/boot: 这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。(不要动)

/dev : dev是Device(设备)的缩写, 存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。

/etc: 这个目录用来存放所有的系统管理所需要的配置文件和子目录。(配置文件)

/home:用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。(相当于windows里面的Adeministrator)

/lib:这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。(不要动)

/lost+found:这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。(存放突然关机的一些文件)

/media:linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。

/mnt:系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。(本地文件挂载在这个目录下)

/opt:这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。(安装软件)

/proc:这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。(不要动)

/root:该目录为系统管理员,也称作超级权限者的用户主目录。

/sbin:s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。

/srv:该目录存放一些服务启动之后需要提取的数据。

/sys:这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。

/tmp:这个目录是用来存放一些临时文件的。(用完即丢的文件 如安装包)

/usr:这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。(普通用户)

/usr/bin: 系统用户使用的应用程序。

/usr/sbin: 超级用户使用的比较高级的管理程序和系统守护程序。

/usr/src: 内核源代码默认的放置目录。

/var:这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。

/run: 是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。

/www: 存放服务器网站相关资源(环境,网站的项目)

eg:
Linux入门笔记(附jdk的rpm安装、tomcat的解压缩安装、docker的yum在线安装)_第5张图片
cd之后什么都不加:回到最初始的目录
root用户回到root目录
其他用户(利用su切换用户)回到home下的用户子目录(虽然显示的也是~)

1.处理目录常用命令

内置命令:一部分基础功能的系统命令是直接嵌在shell里的,系统加载时一起加载并常驻系统内存中。
外部命令:其他的是外部命令。
eg:内部显示…是内嵌 显示别的就是外部
Linux入门笔记(附jdk的rpm安装、tomcat的解压缩安装、docker的yum在线安装)_第6张图片

ls (list)列出目录:

选项与参数:
-a :全部的文件,连同隐藏文件( 开头为 . 的文件) 一起列出来(常用)
-l :长数据串列出,包含文件的属性与权限等等数据;(常用)
将目录下的所有文件列出来(含属性与隐藏档):

[root@renyu /]# ls -al

ls-l 和 ll效果是一样的
在这里插入图片描述

cd (change directory)变换工作目录:

# 回到上一级
[root@renyu home]# cd ..

#同级目录切换
[root@renyu home]# ../

# 回到根目录
[root@renyu home]# cd /

# 表示回到自己的家目录,即 /root 这个目录
[root@renyu home]# cd ~

pwd (print working directory)显示目前所在目录:

# 单纯显示出目前的工作目录
[root@renyu ~]# pwd
/root

# 如果是链接,要显示真实地址,可以使用 -P参数
[root@renyu /]# cd bin
[root@renyu bin]# pwd -P
/usr/bin

mkdir (Make directory)创建新目录:

选项与参数:
-m :配置文件的权限喔!直接配置,不需要看默认权限 (umask) 的脸色
-p :直接将所需要的目录(包含上一级目录)递归创建

# 加了这个 -p 的选项,可以自行帮你创建多层目录!
[root@renyu home]# mkdir -p test1/test2/test3/test4

# 创建权限为 rwx--x--x 的目录。
[root@renyu home]# mkdir -m 711 test2
[root@renyu home]# ls -l
drwxr-xr-x 2 root root  4096 Mar 12 21:55 test
drwxr-xr-x 3 root root  4096 Mar 12 21:56 test1
drwx--x--x 2 root root  4096 Mar 12 21:58 test2

rmdir (remove directory)删除空的目录:

参数:-p :连同上一级(空)目录一起删除

# 看看有多少目录存在?
[root@renyu home]# ls -l
drwxr-xr-x 2 root root  4096 Mar 12 21:55 test
drwxr-xr-x 3 root root  4096 Mar 12 21:56 test1
drwx--x--x 2 root root  4096 Mar 12 21:58 test2

# 可直接删除掉,没问题
[root@renyu home]# rmdir test

# 因为尚有内容,所以无法删除!
[root@renyu home]# rmdir test1
rmdir: failed to remove ‘test1’: Directory not empty

# 利用 -p 这个选项,立刻就可以将 test1/test2/test3/test4 依次删除。
[root@renyu home]# rmdir -p test1/test2/test3/test4

cp (copy)复制文件或目录:

选项与参数:
-a:相当於 -pdr 的意思,至於 pdr 请参考下列说明;(常用)
-p:连同文件的属性一起复制过去,而非使用默认属性(备份常用);
-d:若来源档为连结档的属性(link file),则复制连结档属性而非文件本身;
-r:递归持续复制,用於目录的复制行为;(常用)
-f:为强制(force)的意思,若目标文件已经存在且无法开启,则移除后再尝试一次;
-i:若目标档(destination)已经存在时,在覆盖时会先询问动作的进行(常用)
-l:进行硬式连结(hard link)的连结档创建,而非复制文件本身。
-s:复制成为符号连结档 (symbolic link),即[捷径]文件;
-u:若 destination 比 source 旧才升级 destination !

# 找一个有文件的目录,我这里找到 root目录
[root@renyu home]# cd /root
[root@renyu ~]# ls
install.sh
[root@renyu ~]# cd /home

# 复制 root目录下的install.sh 到 home目录下
[root@renyu home]# cp /root/install.sh /home
[root@renyu home]# ls
install.sh

# 再次复制,加上-i参数,增加覆盖询问?
[root@renyu home]# cp -i /root/install.sh /home
cp: overwrite ‘/home/install.sh’? y # n不覆盖,y为覆盖

rm (remove)移除文件或目录:

选项与参数:
-f :就是 force ,忽略不存在的文件,不会出现警告信息
-i :互动模式,在删除前会询问使用者是否动作
-r :递归删除 非常危险的选项
尽量不要在服务器上使用 rm -rf /

# 将刚刚在 cp 的实例中创建的 install.sh删除掉
# 如果加上 -i 的选项就会主动询问,避免删除错误
[root@renyu home]# rm -i install.sh
rm: remove regular file ‘install.sh’? y

mv (move)移动文件与目录,或修改名称:

选项与参数:
-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖
-u :若目标文件已经存在,且 source 比较新,才会升级 (update)

# 复制一个文件到当前目录
[root@renyu home]# cp /root/install.sh /home

# 创建一个文件夹 test
[root@renyu home]# mkdir test

# 将复制过来的文件移动到我们创建的目录,并查看
[root@renyu home]# mv install.sh test
[root@renyu home]# ls
test
[root@renyu home]# cd test
[root@renyu test]# ls
install.sh

# 将文件夹重命名,然后再次查看!
[root@renyu test]# cd ..
[root@renyu home]# mv test mvtest
[root@renyu home]# ls
mvtest

2.基本属性

在Linux中第一个字符:
当为[ d ]则是目录
当为[ - ]则是文件
若是[ l ]则表示为链接文档 ( link file )
若是[ b ]则表示为装置文件里面的可供储存的接口设备 ( 可随机存取装置 )
若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标 ( 一次性读取装置 )

接下来的字符中,三个为一组,且均为rwx的三个参数的组合
其中,[ r ]代表可读(read)、[ w ]代表可写(write)、[ x ]代表可执行(execute)
属主(该文件的所有者)属组(所有者的同组用户)
Linux入门笔记(附jdk的rpm安装、tomcat的解压缩安装、docker的yum在线安装)_第7张图片

chmod (change mode)修改文件属性:

数字设置法
每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的(r:4 w:2 x:1)
例如

可读可写不可执行:   rw-     6
只读:  r--    4

例如当权限为:[- rwx rwx - - -] 分数则是:
owner = rwx = 4+2+1 = 7
group = rwx = 4+2+1 = 7
others= — = 0+0+0 = 0

#www文件赋予所有用户可读可写可执行
[root@renyu home]# chmod 777 www
[root@renyu home]# ls -ll
total 12
drwx------ 2 redis redis 4096 Apr 12 16:56 redis
drwxr-xr-x 2 root  root  4096 Apr 13 10:15 renyu
drwxrwxrwx 3 www   www   4096 Apr 12 16:56 www

#改回去
[root@renyu home]# chmod 700 www
[root@renyu home]# ls -ll
total 12
drwx------ 2 redis redis 4096 Apr 12 16:56 redis
drwxr-xr-x 2 root  root  4096 Apr 13 10:15 renyu
drwx------ 3 www   www   4096 Apr 12 16:56 www

3.文件内容查看

cat (Concatenate)由第一行开始显示文件内容(读文章,读配置文件):

# 查看网络配置: 文件地址 /etc/sysconfig/network-scripts/
[root@renyu ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=dhcp
ONBOOT=yes

tac (concatenate and print files in reverse)由最后一行开始显示文件内容:

[root@renyu ~]# tac /etc/sysconfig/network-scripts/ifcfg-eth0
ONBOOT=yes
BOOTPROTO=dhcp
DEVICE=eth0

nl (Number of Lines)显示行号:

选项与参数:
-b :指定行号指定的方式,主要有两种:
-b a :表示不论是否为空行,也同样列出行号(类 似 cat -n)
-b t :如果有空行,空的那一行不要列出行号(默认值)

-n :列出行号表示的方法,主要有三种:
-n ln :行号在荧幕的最左方显示
-n rn :行号在自己栏位的最右方显示,且不加0
-n rz :行号在自己栏位的最右方显示,且加0

-w :行号栏位的占用的位数

[root@renyu ~]# nl /etc/sysconfig/network-scripts/ifcfg-eth0
     1DEVICE=eth0
     2BOOTPROTO=dhcp
     3ONBOOT=yes

more 一页一页的显示文件内容:

选项与参数:
空格键即可翻页
回车向下翻一行
:f :立刻显示出档名以及行数
q :代表退出,不再显示该文件内容
/ : 代表当前路径 向下查询字符(串)
? :代表当前路径 向上查询字符(串)
n : 重复前一个搜寻 (与 / 或 ? 有关!)
N : 反向的重复前一个搜寻 (与 / 或 ? 有关!)

[root@renyu etc]# more /etc/csh.login
....(中间省略)....
--More--(28%) # 光标会在这里等待你的命令

less 和more类似但比more多一个向前翻页的功能(上下方向键代表上下翻页)

head 取出文件前面几行 、tail 取出文件后面几行

-n 后面加数字表示要显示几行(默认显示10行)

注:CentOS7网络配置目录: cd/etc/sysconfig/network-scripts(查看网络配置命令ifconfig)

4. 拓展:Linux 链接

1.硬链接 (Hard Link):
指通过索引节点链接。在 Linux 中,允许多个文件名指向同一索引节点。例如A 是 B 的硬链接(A 和 B 都是文件名),则 A 的目录项中的 inode 节点号与 B 的目录项中的 inode 节点号相同,即一个 inode 节点对应两个不同的文件名,两个文件名指向同一个文件。
硬连接的作用是允许一个文件拥有多个有效路径名,删除其中任何一个都不会影响另外一个的访问。(保护重要文件)
2.软链接 / 符号链接(Symbolic Link):
类似windows的快捷方式。A 和 B 之间是“主从”关系,如果 B 被删除了,A 仍然存在(因为两个是不同的文件),但指向的是一个无效的链接。

创建链接: ln
创建文件: touch
输入字符串: echo

[root@renyu /]# cd /home
[root@renyu home]# touch f1 # 创建一个测试文件f1
[root@renyu home]# ls
f1
[root@renyu home]# ln f1 f2     # 创建f1的一个硬链接文件f2
[root@renyu home]# ln -s f1 f3   # 创建f1的一个软链接文件f3
[root@renyu home]# ls -li       # -i参数显示文件的inode节点信息
397247 -rw-r--r-- 2 root root     0 Mar 13 00:50 f1
397247 -rw-r--r-- 2 root root     0 Mar 13 00:50 f2
397248 lrwxrwxrwx 1 root root     2 Mar 13 00:50 f3 -> f1
# echo 字符串输出 >> f1 输出到 f1文件
[root@renyu home]# echo "I am f1 file" >>f1
[root@renyu home]# cat f1
I am f1 file
[root@renyu home]# cat f2
I am f1 file
[root@renyu home]# cat f3
I am f1 file
[root@renyu home]# rm -f f1   #删掉f1文件
[root@renyu home]# cat f2
I am f1 file
[root@renyu home]# cat f3
cat: f3: No such file or directory

5. Vim编辑器

vim 新建或者编辑文件(没有就是新建 有就是编辑)分为三种模式:
命令模式(Command mode)启动vim便进入了命令模式
i 切换到输入模式以输入字符(insert)
: 切换到底线命令模式 在最底一行输入命令
x 删除当前光标所在处的字符

移动光标

操作 效果
h 或向左键(←) 光标向左移动一个字符
j 或向下键(↓) 光标向下移动一个字符
k 或向上键(↑) 光标向上移动一个字符
l 或向右键(→) 光标向右移动一个字符
Ctrl f 屏幕向下移动一页,相当于Page Down
Ctrl b 屏幕向上移动一页,相当于Page Up
Ctrl d 屏幕向下移动半页
Ctrl u 屏幕向上移动半页
加号 光标移动到非空格符的下一行
减号 光标移动到非空格符的上一行
n 空格 光标向右移动这一行的 n 个字符
0 或功能键[Home] 移动到这一行的最前面字符处
$ 或功能键[End] 移动到这一行的最后面字符处
H 光标移动到这个屏幕的最上方那一行的第一个字符
M 光标移动到这个屏幕的中央那一行的第一个字符
L 光标移动到这个屏幕的最下方那一行的第一个字符
G 光标移动到这个档案的最后一行
nG 光标移动到这个档案的第 n 行
gg 光标移动到这个档案的第一行(相当于1G)
n 回车 光标向下移动 n 行

搜索替换

操作 效果
/word 向光标之下寻找一个名称为 word 的字符串
?word 向光标之上寻找一个字符串名称为 word 的字符串
n键 重复前一个搜寻动作(如执行 /word后,按下 n 则会向下继续搜寻名称为word的字符串)
N键 反向进行前一个搜寻动作(如执行 /word 后,按下 N 则会向上搜寻名称为word的字符串)

删除、复制、粘贴(一般用鼠标操作)

操作 效果
x 向后删除一个字符 (相当于 [del] 按键)
**X 向前删除一个字符(相当于 [backspace])
nx 连续向后删除 n 个字符
dd 删除光标所在的一整行
ndd 删除光标所在的向下 n 行
d1G 删除光标到第一行的所有数据
dG 删除光标到最后一行的所有数据
d$ 删除光标到该行的最后一个字符
d0 删除光标到该行的最前面一个字符
yy 复制游标所在的那一行
nyy 复制光标所在的向下 n 行
y1G 复制游标所在行到第一行的所有数据
yG 复制游标所在行到最后一行的所有数据
y0 复制光标所在的那个字符到该行行首的所有数据
y$ 复制光标所在的那个字符到该行行尾的所有数据
p 将已复制的数据在光标下一行贴上
P 将已复制的数据在光标上一行贴上
J 将光标所在行与下一行的数据结合成同一行
c 重复删除多个数据
u 复原前一个动作(相当于windows里的撤销)
Ctrl r 重做上一个动作(相当于windows里的重做)

输入模式(Insert mode)在命令模式下按下i就进入了输入模式
ESC退出输入模式进入命令模式

底线命令模式(Last line mode)在命令模式下按:就进入了底线命令模式
ESC退出底线命令模式
存储、离开等

操作 效果
:w 将编辑的数据写入硬盘档案中
:q! 强制离开不储存档案
:wq 储存后离开
:wq! 强制储存后离开
:w filename 将编辑的数据储存成另一个档案(类似另存新档)
:r filename 在编辑的数据中,读入另一个档案的数据
:n1,n2 w filename 将 n1 到 n2 的内容储存成 filename 这个档案
:! command 暂时离开 vi 到指令行模式下执行 command 的显示结果 例如 :! ls /home即可在 vi 中看 /home 以 ls 输出的档案信息
:set nu 显示行号
:set nonu 取消行号

6. 账号管理

添加用户:useradd

本质增加用户账号就是在/etc/passwd文件中为新用户增加一条记录,同时更新其他系统文件如/etc/shadow, /etc/group等(linux中 一切皆文件)

-m: 主动创建这个用户的主目录(也就是在/home目录下创建一个当前用户的目录)
-c : 指定一段注释性描述
-d : 目录 指定用户主目录,如果此目录不存在,则要同时使用-m选项
-G : 给用户分配组
-s : Shell文件 指定用户的登录Shell
-u 用户号 (如果同时有-o选项,则可以重复使用其他用户的标识号)

[root@renyu home]# useradd -m ry   #创建一个ry用户
[root@renyu home]# ls
redis  renyu  ry  www

删除用户:userdel (删除用户记录和主目录)

-r:同时删除用户的主目录

[root@renyu home]# userdel -r ry
[root@renyu home]# ls
redis  renyu  www

修改用户:usermod

[root@renyu home]# usermod -d /home/z –g developer renyu    #主目录改为/home/z,用户组改为developer

修改完查看配置文件即可(/etc/passwd)

切换用户:su

在终端输入exit 或logout 或使用ctrl+d,可以退回到原来用户

给用户账号设置密码:passwd

一般通过root创建用户的时候要配置密码
-l :禁用账号

[root@renyu /]# passwd -l ry  #锁定ry用户

7.用户组管理

本质组的增加,删除和修改,实际上就是对/etc/group文件的更新

增加用户组:groupadd

-g :指定新用户组的组标识号(GID) (若不指定就是自增1)

删除用户组:groupdel

修改用户组:groupmod

-g :为用户组指定新的组标识号
-n :将用户组的名字改为新名字

# 将组group2的标识号改为10000,组名修改为group3。
[root@renyu /]# groupmod –g 10000 -n group3 group2

切换组:newgrp

如果一个用户同时属于多个用户组,那么用户可以在用户组之间切换,以便具有其他用户组的权限。

$ newgrp root  #将当前普通用户切换到root用户组,前提条件是root用户组确实是该用户的主组或附加组

8.拓展

/etc/passwd文件:用户管理工作

每一行都代表一个用户
Linux入门笔记(附jdk的rpm安装、tomcat的解压缩安装、docker的yum在线安装)_第8张图片
这些字段是:
用户名:口令(即密码):用户标识号:组标识号(所属用户组):注释性描述(记录用户个人情况):主目录(用户的起始工作目录):登录Shell(用户与Linux系统之间的接口)

/etc/shadow文件:存放加密后的用户密码 保证密码安全性

Linux入门笔记(附jdk的rpm安装、tomcat的解压缩安装、docker的yum在线安装)_第9张图片
这些字段是:
登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志

/etc/group文件:存放用户组的所有信息

9.磁盘管理

df :列出文件系统的整体磁盘使用量
选项与参数:
-a :列出所有的文件系统,包括系统特有的 /proc 等文件系统
-k :以 KBytes 的容量显示各文件系统
-m :以 MBytes 的容量显示各文件系统
-h :以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示
-H :以 M=1000K 取代 M=1024K 的进位方式
-T :显示文件系统类型, 连同该 partition 的 filesystem 名称 (例如 ext3) 也列出
-i :不用硬盘容量,而以 inode 的数量来显示
Linux入门笔记(附jdk的rpm安装、tomcat的解压缩安装、docker的yum在线安装)_第10张图片
du:检查磁盘空间使用量
选项与参数:
-a :列出所有的文件与目录容量(默认仅统计目录底下的文件量)
-h :以人们较易读的容量格式 (G/M) 显示
-s :列出总量,而不列出每个各别的目录占用容量
-S :和-s相比不包括子目录下的总计
-k :以 KBytes 列出容量显示
-m :以 MBytes 列出容量显示

# 检查根目录底下每个目录所占用的容量
[root@renyu home]# du -sm /*     # 通配符 * 来代表每个目录。
0/bin
146/boot
.....中间省略....
0/proc
.....中间省略....
1/tmp
3026/usr  # 系统初期最大的
513/var
2666/www

10.进程、服务管理

在这里插入图片描述
整个系统运行时需要很多后台服务进行支撑(这些服务往往是系统一启动的时候就启动,直到系统关闭时终止)。这种服务统称为系统服务。而具体执行这些系统服务的进程叫做 守护进程(daemon)例如很多进程后面带d的结尾 代表守护进程

systemctl start | stop | restart | status 服务名
查看服务的方法: ls /usr/lib/systemd/systemLinux入门笔记(附jdk的rpm安装、tomcat的解压缩安装、docker的yum在线安装)_第11张图片
配置开机自启动服务:
在这里插入图片描述
Linux入门笔记(附jdk的rpm安装、tomcat的解压缩安装、docker的yum在线安装)_第12张图片
Linux入门笔记(附jdk的rpm安装、tomcat的解压缩安装、docker的yum在线安装)_第13张图片

ps:查看当前系统正在执行的进程信息
参数:
-a:显示当前终端运行的所有的进程信息
-u:以用户的信息显示进程
-x:显示后台运行进程的参数

#  |   在Linux中,竖线代表管道符    A|B  即左边命令的输出当作右边命令的输入
#  grep  查找文件中符合条件的字符串

[root@renyu /]# ps -aux|grep mysql    #看mysql进程信息
pstree -pu     #进程树
    #-p  显示父id
    #-u  显示用户组
    
ps -ef   #可以查看到父进程的信息(每一个进程都有一个父进程)

kill -9 进程id :结束进程(平时一些java代码死循环了 就可以结束进程)

JDK 安装(rpm)

http://www.oracle.com/technetwork/java/javase/downloads/index.html
1.先检测当前系统是否有java环境

[root@renyu ~]# java -version
java version "1.8.0_121"
Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)
# 检查
[root@renyu ~]# rpm -qa|grep jdk
jdk1.8.0_121-1.8.0_121-fcs.x86_64
# 卸载 -e --nodeps 强制删除
[root@renyu ~]# rpm -e --nodeps jdk1.8.0_121-1.8.0_121-fcs.x86_64  #复制上面查到的jdk
[root@renyu ~]# java -version
-bash: /usr/bin/java: No such file or directory

2.安装(安装包通过Xftp放到/home/renyu下)
Linux入门笔记(附jdk的rpm安装、tomcat的解压缩安装、docker的yum在线安装)_第14张图片

[root@renyu renyu]# rpm -ivh jdk-18_linux-x64_bin.rpm

3.配置环境变量(/etc/profile) 进来之后就是Vim的使用了。在最后添加和jdk相关的配置
寻找JAVA_HOME路径:

[root@renyu local]# cd /usr
[root@renyu usr]# ls
bin  games    java  lib64    local  share  tmp
etc  include  lib   libexec  sbin   src    tomcat

[root@renyu usr]# cd java
[root@renyu java]# ls
default  jdk-18  latest

[root@renyu java]# cd jdk-18/        #JAVA_HOME路径
[root@renyu jdk-18]# ls
bin   include  legal  LICENSE  README
conf  jmods    lib    man      release
JAVA_HOME=/usr/java/jdk-18
CLASSPATH=%JAVA_HOME%/lib:%JAVA_HOME%/jre/lib
PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
export PATH CLASSPATH JAVA_HOME   #导出 让系统识别

保存并退出

# 让新增的环境变量生效!
source /etc/profile
# 测试 java -version
[root@renyu java]# java -version
java version "18" 2022-03-22
Java(TM) SE Runtime Environment (build 18+36-2087)
Java HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)

JDK安装完毕

发布项目:
打包springboot项目(先确定能在本地正常运行)并把jar包通过Xftp丢到renyu目录下(注意开放防火墙端口 同时阿里云服务器还需要配置安全组规则)java -jar直接执行即可(公网访问)上线网站的话,只需把域名解析即可
域名解析后,如果端口是80(http)、443(https)可以直接访问 如果是其他的就需要通过Apache或者Nginx反向代理(配置文件)。
Linux入门笔记(附jdk的rpm安装、tomcat的解压缩安装、docker的yum在线安装)_第15张图片

# 查看firewall服务状态
systemctl status firewalld

# 开启、重启、关闭、firewalld.service服务
# 开启
service firewalld start
# 重启
service firewalld restart
# 关闭
service firewalld stop

# 查看防火墙规则
firewall-cmd --list-all    # 查看全部信息
firewall-cmd --list-ports  # 只看端口信息

# 开启端口
firewall-cmd --zone=public --add-port=xx/tcp --permanent
#--zone作用域  --add-port=xx/tcp添加端口(格式为:端口/通讯协议)  --permanent永久生效

#重启防火墙
systemctl restart firewalld.service


Tomcat 安装(解压缩)

https://tomcat.apache.org/download-90.cgi
例如ssm ssh javaweb的war包项目就需要放到tomcat中运行

1.压缩包放到/usr/tomcat/下(可Xftp可命令)并解压

[root@renyu kuangshen]# mv apache-tomcat-9.0.62.tar.gz /usr
[root@renyu kuangshen]# cd /usr
[root@renyu usr]# ls
apache-tomcat-9.0.62.tar.gz
[root@renyu usr]# tar -zxvf apache-tomcat-9.0.62.tar.gz   # 解压

2.运行Tomcat,进入bin目录
windows是.bat linux是.sh

ps aux | grep tomcat   #查看tomcat进程
./startup.sh    #启动tomcat
./shutdown.sh    #关闭tomcat

3.开启端口 8080

firewall-cmd --zone=public --add-port=8080/tcp --permanent

Docker(yum安装)在线安装(最推荐)

参考:https://docs.docker.com/install/linux/docker-ce/centos/

1.此处只演示CentOS7版本的

[root@renyu /]# cat /etc/redhat-release
CentOS Linux release 7.7.1908 (Core)

2.yum安装gcc相关(准备环境)

yum -y install gcc    #-y表示 自动确认所有提示都为y
yum -y install gcc-c++

3.卸载旧版本

yum -y remove docker docker-common docker-selinux docker-engine
# 官网版本
yum remove docker \
          docker-client \
          docker-client-latest \
          docker-common \
          docker-latest \
          docker-latest-logrotate \
          docker-logrotate \
          docker-engine

4.安装需要的软件包

yum install -y yum-utils device-mapper-persistent-data lvm2

5.下载stable镜像仓库(官网上是国外的 此处我们使用阿里云的)

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

6.更新yum软件包索引

yum makecache fast

7.安装Docker CE

yum -y install docker-ce docker-ce-cli containerd.io

8.启动docker并测试

systemctl start docker   #没有报错 则启动成功

 ps -ef|grep docker    #查看docker进程

docker version

docker run hello-world   #测试
docker images

附宝塔面板教程:
https://www.bt.cn/bbs/thread-79460-1-1.html
宝塔面板入口:

/etc/init.d/bt default

centos安装脚本:

yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh ed8484bec
                                                                  参考资料:狂神说

你可能感兴趣的:(linux)