1 Liunx

【狂神说Java】服务器购买及宝塔部署环境说明:https://www.bilibili.com/video/BV177411K7bH/
【狂神说Java】Linux最通俗易懂的教程阿里云真实环境学习:https://www.bilibili.com/video/BV187411y7hF/

服务器相关知识

【为什么程序员都需要一个自己的服务器】
1.作为一个程序员,必须要发布自己的网站和项目
2.练习Linux操作
3.自己的远程仓库、远程数据库、远程Tomcat……搭建在服务器上
4.练习,Linux进行任意的环境部署操作。Windows下开发,不熟悉Liunx。
5.……

【购买服务器】
趁打折买
香港服务器可以避免备案,但是尽量不要挂VPN,容易被封。

【操作服务器】
1.在阿里云购买的,需要开通安全组设置
开启端口,否则外部无法访问。
2.获取服务器的公网IP地址,修改实例名称和密码,修改后需要重启
使用xshell远程连接,开启22端口

【搭建环境】
1.傻瓜式(宝塔面板)
宝塔面板安装教学:https://www.bt.cn/
下载完毕,得到一个地址:宝塔的管理面板
url地址
username随机账号
password随机密码
自定义安装环境,一键部署应用。
开启端口

放入网站进行访问,比如tomcat直接放到webapps目录下。
特殊的网站:开源项目,按照自己操作来。
(上传文件尽量使用xftp)
网站如果访问失败,一定是防火墙。(Linux服务器,阿里云安全组)

2.命令式(原生)
从零入门Linux

说Linux

我们为什么要在这个点学习Linux?Java全栈开发需要掌握哪些知识?要准备什么工作?
Java开发之路:JavaSE、MySQL、前端(HTML、CSS、JS)、JavaWeb、SSM框架(可以开始找工作)、SpringBoot、Vue、SpringCloud、MyBatisPlus、Git
Linux(CentOS 7)
消息队列(Kafka、RabbitMQ、RockeetMQ),缓存(Redis)、搜素引擎(ES)
集群分布式(需要购买多台服务器,如果没有多台只能使用虚拟机)

学习方式:
Linux一切皆文件:读、写、控制权限
基于Java全栈开发的Linux,不是运维级别。
1.认识Linux
2.基本的命令(重点):文件操作、目录管理、文件属性、Vim编辑器、账号管理、磁盘管理
3.软件的安装和部署:Java、Tomcat、Docker

入门概述

环境搭建

走近Linux系统

系统目录结构

/bin:bin是Binary的缩写, 这个目录存放着最经常使用的命令。
/boot: 这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。
/dev : dev是Device(设备)的缩写, 存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。
/etc: 这个目录用来存放所有的系统管理所需要的配置文件和子目录。
/home:用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
/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:是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。

常用的基本命令

目录管理

cd 切换目录
./ 当前目录
cd .. 返回上一级目录
cd 目录名(绝对路径,相对路径)
ls 列出目录
-a 显示隐藏目录all
-l 显示全部文件,包括属性和权限
-al 参数组合使用
pwd 显示用户当前目录
mkdir 创建目录
-p 递归创建目录
rmdir 移除目录
-p 递归删除目录
cp 复制文件或目录
如果文件存在提示是否overwride,y或n
rm 移除文件或目录
-f 忽略不存在的文件,不会出现警告,强制删除
-r 递归删除
-i 删除询问是否删除
rm -rf / 删除系统中全部文件,删库跑路,千万不能用
mv 移动文件或目录,重命名文件
-f 强制移动
-u 只替换已经更新的文件

基本属性

权限共10位
第1位字母代表文件类型,是目录、文件或链接文件等等:
d 目录
- 文件
l 链接文档link file
b 可供存储的接口设备
c 串行端口设备,例如键盘、鼠标

后9位字母,每3个一组,每个字母读写操作可执行,r可读read,w可写write,x可执行execute,-代表没有权限
属主权限、属组权限、其他用户权限

1、chgrp更改文件属组
chgrp -R 属组名 文件名
2、chown更改文件属主,也可以同时更改文件属组
chown -R 属主名 文件名
chown -R 属主名:属组名 文件名
3、chmod更改文件9个属性(必须要掌握)
chmod -R xyz 文件或目录
Linux文件属性有两种设置方法,一种是数字(常用),一种是符号
r:4 w:2 x:1
可读可写不可执行 rw- 6

文件内容查看

Linux系统中使用以下命令来查看文件的内容:
经常使用cat 由第一行开始显示文件内容,看配置文件
tac 从最后一行开始显示,可以看出tac是cat的倒着写
经常使用nl 显示的时候,顺道输出行号,看代码时显示行号
经常使用more 一页一页的显示文件内容(空格代表翻页,enter向下看一行,:f行号)
经常使用less 与more类似,但是比more更好的是,可以往前翻页(空格翻页,上下键上下翻页,退出q命令,查找字符串/要查询的字符向下查询,向上查询?要查询的字符串,n向下查找下一个,N向上查找下一个)
head 只看前几行,通过-n参数控制查看几行
tail 只看后几行,通过-n参数控制查看几行
可以使用man[命令]来查看各个命令的使用文档,如:man cp

网络配置目录CentOS7系统:cd /etc/sysconfig/network-scripts/
默认网络配置文件ifcfg-eth0
ping命令(Windows相同)
ifconfig命令(Windows不同ipconfig)

拓展:硬链接和软链接(了解)

Linux的链接分为两种:硬链接、软链接(也称符合链接)
硬链接:A---B,假设B是A的硬链接,那么指向同一个文件,允许一个文件拥有多个路径,用户可以通过硬链接到一些重要的文件。
软链接:类似Windows下的快捷方式,删除了源文件,快捷方式也访问不了。
创建链接ln 源文件 目标文件(不加参数硬链接,-s软链接)
touch命令创建文件
echo输入字符串,也可以输出到文件中echo “abc字符串” >> 文件

Vim编辑器

Vim是从vi发展出来的一个文本编辑器。vim通过一些插件可以实现和IDE一样的功能。
Linux中,必须学会使用Vim(查看内容、编辑内容、保存内容)。
基本上vi/vim共分为三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Lastline mode)。
命令模式:
用户启动vi/vim,便进入了命令模式。
i 切换到输入模式,以输入字符
x 删除当前光标所在处的字符
: 切换到底线命令模式,以在最底一行输入命令
输入模式:
在命令模式输入按下i就进入了输入模式。
字符按键以及Shift组合,输入字符
enter,回车键,换行
backspace,退格键,删除光标前一个字符
del,删除键,删除光标后一个字符
方向键,在文本中移动光标
home/end,移动光标到行首/行尾
pageup/pagedown,上/下翻页
insert,切换光标为输入/替换模式,光标将变成竖线/下划线
esc,退出输入模式,切换到命令模式
底线命令模式:
在命令模式下按下:(英文冒号)进入到了底线命令模式。
底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。
q 退出程序
w 保存文件
wq 保存并退出
按esc键可随时退出底线命令模式。
完整的流程:vim新建或编辑文件,按i进入编辑模式,编写完成esc退出编辑模式,退出之后进入底线命令模式,:wq保存退出。

除了上面简易范例的i,esc,:wq之外,vim还有非常多的按键可以使用。
上下左右 移动光标
数字space 横向移动光标
数字enter 纵向移动光标
/word 搜素字符串
n 向上搜素
N 向下搜素
:set nu 设置行号
:set nonu 与set nu相反,取消行号

账号管理

【添加用户useradd】
useradd -选项 用户名
-m 自动创建这个用户的主目录
-G 给用户分配组

【删除用户userdel】
userdel -选项 用户名
-r 同时删除主目录

【修改用户usermod】
-d参数
修改完毕查看配置文件

【切换用户】
1.切换用户的命令是su uername
2.从普通用户切换到root用户,可以使用命令sudo su
3.在终端输入exit或logout或使用快捷方式ctrl+d,退回到原来用户
4.想在切换用户之后使用新用户的工作环境,可以再su和username之间加-
$表示普通用户
#表示超级用户,就是root用户
hostname 查看主机名,hostname 名称 修改主机名,修改后重新连接

【用户的密码设置】
root可以修改任何用户密码:
passwd 用户名,输入1次密码
普通用户修改自己密码:
passwd,输入2次密码

【锁定账号】
passwd -l 用户名,锁定之后这个用户就不能登录了
passwd -d 用户名,清空密码了也不能登录

用户组管理

用户组的管理涉及用户组的添加、删除和修改。
组的添加、删除和修改实际上就是对/etc/group文件的更新。
【创建用户组】
groupadd 组名,添加用户组,可以得到一个组的id,自增的id
groupadd -g 520 组名,设置组的id
【删除用户组】
groupdel 组名
【修改用户组的权限信息和名字】
-g 修改id
-n 修改名称
【切换用户组】
newgrp
【拓展:文件的查看】
/etc/passwd
用户名:口令(登录密码,不可见):用户标识号:组标识号:注释性描述:主目录:登录shell
加密后的用户口令存放在/etc/shadow文件中,保证密码安全性。
用户组的所有信息都存放在/etc/group文件中。

磁盘管理

df列出文件系统整体的磁盘使用量,默认磁盘字节
df -h磁盘M
du检查磁盘空间使用量,不显示隐藏文件
du -a显示隐藏文件,可以看到子文件夹
du -sm /*检查根目录下每个目录所占用的容量

Mac或者使用Linux挂载本地磁盘或文件:
挂载mount /dev/u盘 /mnt/目录
卸载unmout,-f强制卸载

进程管理

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

ps查看当前正在执行的各种进场的信息
-a显示当前终端显示所有进程信息
-u以用户的信息显示进程
-x显示后台运行进场的信息
|在linux中叫做管道符, A|B,A命令的结果作为输出操作B命令
ps -aux|grep java查找java进程
ps -aux|grep mysql查找mysql进场
ps -ef可以查看到父进程
pstree -pu进程树,-p显示父id,-u显示用户组

结束进程kill -9 id号
如果写的程序死循环了,可以选择结束进程/杀进程。
nohup,代表后台执行程序。

Linux中一切皆文件。
文件:读写执行(查看、创建、删除、移动、复制、编辑),权限(用户、用户组)。
系统:磁盘、进程。

环境安装

安装软件一般有三种方式:
rpm(jdk)、解压缩(tomcat)、yum在线安装(docker)

JDK安装

Tomcat安装

Docker安装

第四种方式,宝塔安装

扩展:Vmware使用

快照

本地网络配置

需要保证Linux虚拟机和本机在同一个网段。
ifcfg-eno16777736文件

posted @ 2023-03-31 16:15  LiWeixiao  阅读(20)  评论(0编辑  收藏  举报