前端迅速上手Linux基础教程

Linux操作系统

icon

一、Linux介绍

1.1 引言

开发、生产、测试环境的概念
	1.开发环境:一般情况下我们都是在Windows/MacOS环境下进行开发。但在开发环境中安装大量的软件,会导致环境的稳定性和安全性降低。
	2.生产环境:运行可供用户访问的服务程序的环境。由专业人员去维护,一般人无权操作。
	3.测试环境:一般会克隆一份生产环境,将开发环境中的程序部署到测试环境中,这个环境的主要目的是去检测程序进程,发现程序中的各种问题,并交给开发人员进行修改。
生产环境中常用的操作系统有Windows Server、Linux、Unix。
Linux操作系统在生产环境中占据了大量的市场份额,它主要以稳定、可靠、免费的特点成为全球使用最多的服务器操作系统。

1.2Linux介绍

在Linux操作系统出现之前,还有一个操作系统Minix,Minix操作系统是由Andrew的大学教授研发出来的,当时大学教授是为了给学生上课,买了一套Unix操作系统,参考Unix自己写了一个操作系统,并命名为Minix。同时将Minix开源,供学校内部教学和研究,到了2000年,Andrew将Minix完全对外开源。

Minix完全开源后,在互联网上迅速传播,但在大家使用时,发现Minix并不完美,内部存在各种各样的问题。于是,大家将问题解决后,将补丁发给Andrew,但教授最初的目的只是为了教学和研究。

与此同时,一位芬兰的大学生Linus出现了,在Minix的基础上,自己添加了一些补丁和插件,并将其命名为Linux操作系统,且对外完全开源,开始维护Linux系统,过程中又开发了Git。

1.3Linux的版本

Linux的内核版本

https://www.kernel.org/

Linux的发行版本

我们需要学习的发行版本是CentOS

版本

1.4Linux和Windows的区别

Linux严格区分大小写
Linux一切皆文件
Linux不以后缀区分文件类型,有一些约定俗成的后缀,如tar.gz是压缩文件类型

Linux的安装

这一步就不详细讲了,一般都是用服务器直接安装的CentOS系统。

Linxu的基本操作

3.1Linux的目录结构

Windows的目录结构是带盘符的:C:/ D:/ E:/

Linux不带

在Xterm终端中输入"ls /"查看Linux的顶级目录

目录结构

目录结构2

root:该目录为系统管理员的home目录
bin:该目录放着经常使用的命令
boot:启动Linux时的一些核心文件
etc:存放系统管理所需要的配置文件和子目录
home:普通用户的home目录
usr:默认安装软件的目录,类似Windows中的Program Files目录
opt:主机额外安装软件的目录

3.2Linux中的简单命令

# 1. 我是谁
who am i
# 2. 我在哪
pwd
# 3. 查看IP地址
ip a|address
# 4. 清屏
clear
# 5. ping 域名|ip
ping 地址
# 6. 强制停止
Ctrl + c

Linux命令

Linux中命令的基本格式:命令 [选项] [参数]

需要注意的是,个别命令不遵循此格式,如:who am i

当命令中有多个选项时,可以写在一起,并且选项也是有简写方式的:命令 -选项A选项B

4.1目录的命令

# 1. 列出目录
ls [-ald] [目录名]
# 目录名不填写,默认为当前目录
# -a:列出全部的内容,包括隐藏文件
# -l:列出全部的信息
# -d:仅查看目录本身
ll # 等同于ls -l

Linux的隐藏目录是以".“开头的,当前目录使用”.“来表示,上一级目录使用”…"表示


# 2. 切换目录
cd 具体路径|符号

路径可以填写的内容👇

符号表达的路径
.当前目录
上一级目录
/根目录
~当前登录用户的home目录
-返回
# 3. 创建目录
mkdir [-p] 目录名
# -p:代表创建多级目录,如 mkdir a/b/c

# 4. 删除目录
rmdir 目录名 # 只能删除空目录

rm [-rf] 目录名 # 删除非空目录
# -r:代表递归删除目录
# -f:不询问,直接删除

# 5. 复制目录
cp -r 来源目录 目标目录
# -r:递归复制

# 6. 移动、重命名
mv 目录名 新目录名
mv 目录名 路径
# 如果第二个参数的路径不存在,就是重命名,反之,则为移动

4.2文件的命令

# 1. 创建空文件
touch 文件名
touch 文件名1 文件名2 ...

# 2. 编辑文件
vi 文件名   # 进入vi的查看模式
i | a | o  # 从查看模式,进入vi的编辑模式
# i:在当前光标处,进入编辑模式;a:在当前光标后一格,进入编辑模式;o:在当期光标后一格,进入编辑模式
Esc        # 退出到查看模式
:          # 从查看模式,进入vi的底行命令模式
# 在底行命令模式下,输入wq:保存并退出;输入q!:不保存并退出
# 在查看模式下,双击大写的ZZZ | Shift + zz),可以快速保存并退出

# 3. 编辑文件时的其它操作
# 在底行命令模式下,可以输入的内容
set nu     # 查看文件的行号
to 行号    # 快速跳转到指定行
set nonu   # 取消行号
# 直接在查看模式下输入
/具体内容   # 类似Ctrl + f搜索文件中具体内容所在的位置,查看下一个可按字母n

# 4. 查看文件
cat 文件名  # 从第一行开始查看文件内容,展示全部
tac 文件名  # 从最后一行开始展示
nl 文件名   # 显示文件内容时,展示行号
more 文件名 # 查看大文件时,可以一页一页往下翻(点击空格)
less 文件名 # 查看大文件时,可以任意地向上或向下翻(键盘上下键 | PageUp/PageDown)
head 文件名 # 只查看前几行
tail 文件名 # 只查看后几行
tail -f 日志 # 监控日志

# 5. 移动文件
mv 文件名 新文件名
mv 文件名 目录

# 6. 复制文件
cp 文件名 目录

# 7. 删除文件
rm [-f] 文件名
# -f:是否询问

4.3针对压缩包的操作

Linux中常用地压缩包,大多是.tar/.tar.gz/.tgz

但是Linux不仅仅针对tar类型的压缩包,也支持.zip/.rar这类Windows下的压缩包
4.3.1tar压缩包
# 1. 解压
tar [-zxvf] 压缩包名称 [-C 路径]
# -z:代表压缩包后缀是.gz
# -x:代表解压
# -v:代表解压时,打印详细信息
# -f:-f选项必须放在所有选项的最后,代表制定文件名称
# -C:
# 2. 打包
tar [-zcvf] 压缩包名称 文件1 文件2 目录1 目录2 ...
# -c:代表打包
4.3.2zip压缩包
Linux默认不支持zip压缩包格式

需要安装两个软件:

​ zip & unzip

通过命令:

yum -y install zip

yum -y install unzip
unzip 压缩包名称                          # 解压
zip 压缩包名称 文件1 文件2 目录1 目录2 ...  # 打包

4.4用户和用户组的操作

Linux是一个多用户的操作系统,任何一个用户想要操作Linux操作系统,必须向系统管理员申请一个账号才可以,以这个账号的身份操作Linux。

用户的账号一方面可以帮助系统管理员追踪当前用户的操作,另一方面可以控制当前用户对系统资源的访问。
4.4.1用户的操作
# 1. 创建用户
useradd [-cgd 选项指定的参数] 用户名
# -c:代表comment,给用户添加一段注释
# -g:代表group,修改用户的所在组
# -d:代表指定用户的home目录

# 2. 设置密码
passwd [用户名]

只有系统管理员才能指定用户名,不加用户名代表当前用户

只有系统管理员才能指定用户名,不加用户名代表当前用户


# 3. 切换用户
su 用户名
# [root@localhost ~]#    : root在本地登录,并且当前在~目录下,#代表是超级管理员
# [Ning@localhost root]  : Ning在本地登录,并且当前在root目录下,$代表是普通用户

# 4. 删除用户
userdel [-r] 用户名
# -r:删除用户的同时,删除用户的home目录

# 5. 修改用户
usermod [-cgd 选项指定的参数] 用户名
4.4.2用户组的操作
# 1. 查看用户所在的用户组
groups 用户名

# 2. 创建用户组
groupadd 用户组名

# 3. 修改用户组
groupmod -n 新用户组名称 用户组名称
# -n:修改用户组名称

# 4. 删除用户组
groupdel 用户组名 # 只能删除不存在用户的用户组

4.5文件的权限

在Linux中输入ls -l | ll查看文件和目录的详细信息

在实例中,b目录的第一个属性用d来标识b是一个目录,tt等用-来标识它们是普通文件

后面九个属性分为三组

第一组rwx:代表文件拥有者的权限
第二组rwx:代表文件所属组用户的权限
第三组rwx:代表其它用户对当前文件的操作权限
r:代表read,读的权限
w:代表write,写的权限
x:代表execute,执行的权限
后续第一个root的位置代表当前文件的拥有者

后续第二个root的位置代表当前文件的所属组

再往后分别为文件的大小和最后修改时间
4.5.1对文件权限的操作

使用chmod对文件的权限进行修改,一种是使用数字,一种是使用符号

# 1. 数字方式
chmod [-R] 765 文件|目录
# -R:当修改一个目录时,将其目录下的全部内容,都修改为后面的权限
# rwx这三个权限的权值分别为4(100)、2(010)、1(001)
# 1-7的数字所指的含义类似即其二进制数所指含义
# 则以上的7(111)代表rwx,6(110)代表rw-,5(101)代表r-x,因此765代表rwxrw-r-x

# 2. 符号方式
# user:u, group:g, other:o, all:a
# read:r, write:w, execute:x
# 赋予权限方式
	# 添加:+,删减:-,设定:=
chmod [-R] a=rw 文件|目录
4.5.2对文件拥有者和所属组的修改
chown [-R] 拥有者:所属组 文件|目录
chown [-R] 拥有者 文件|目录
chgrp [-R] 所属组 文件|目录

4.6Linux的其它操作命令

# 1. 进程的操作
# 查看全部正在运行的进程
ps -ef
# 搜索指定进程
ps -ef | grep 搜索的内容
# 杀死进程
kill -9 pid

# 2. 服务的操作
# 针对服务的启动、停止、重启、开机自启、禁止开机自启、查看服务状态
systemctl start|stop|restart|enable|disable|status 服务名称

# 3. 查看端口号占用情况
# 需要先下载该功能
yum -y install net-tools
# 查看端口号占用情况
netstat -naop [| grep 指定端口号]

# 4. 访问地址
curl 访问地址

# 5. 查找文件
find 路径 -type f | grep 文件名

Linux下安装软件

5.1安装JDK

下载JDK压缩包

https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html

利用Xterm的SFTP把文件拉取到Linux系统中

将JDK的压缩包解压至/usr/local

tar -zxvf jdk-8u251-linux-x64.tar.gz -C /usr/local

修改jdk目录名为"jdk"

mv jdk1.8.0_251 jdk

配置环境变量

在环境变量中添加以下内容

export JAVA_HOME=/usr/local/jdk

export PATH=$JAVA_HOME/bin:$PATH

重新加载环境变量文件

source /etc/profile

测试

java -version

Linux提供了两种环境变量的文件

系统级别的环境变量,存放在:/etc/profile
用户级别的环境变量,村放在:~/.bashrc

运行当前目录下的可执行文件,文件名前需要输入"./"

5.2安装MySQL

# 打开MySQL官网
https://www.mysql.com/
# 切换到DOWNLOADS
# 选择底部社区版下载
MySQL Community (GPL) Downloads
# 选择Yum方式
MySQL Yum Repository
# 点选Repository Setup Packages右侧感叹号
# 点击 Quick Guide to Using the MySQL Yum Repository 查看快速开始文档
# 查看 Steps for a Fresh Installation of MySQL 这一步

# 1. 安装MySQL的YUM存储库
# 根据快速开始文档首先到 MySQL Yum Repository 选择Red Hat Enterprise Linux 7 / Oracle Linux 7 (Architecture Independent), RPM Package 点击右侧Download
# 复制 No thanks, just start my download.链接地址
https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
# 进入服务器~目录
# 用yum安装wget
yum -y install wget
# 用wget下载MySQL
wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

# 2.安装下载好的rpm包
rpm -Uvh rpm包名称
# 查看安装的rpm列表
rpm -qa
# 查看指定的rpm
rpm -qa | grep 内容
# 卸载rpm包
rpm -e --nodeps rpm包名称

# 3.选择发行版本
# 查看默认选择的发行版本
yum repolist all | grep mysql
# 用yum-config-manager命令切换
sudo yum-config-manager --disable mysql80-community
sudo yum-config-manager --enable mysql57-community
# 通过编辑 /etc/yum.repos.d/mysql-community.repo 文件,去修改发行版本
将5.7 enabled从0改成1
将8.0 enabled从1改成0
# 保存即可,再次通过yum repolist all | grep mysql查看

# 4. 安装MySQL社区版服务
yum -y install mysql-community-server

# 5.启动MySQL服务,并连接
# 启动MySQL服务
systemctl start mysqld.service
# 查看初始化密码
grep 'temporary password' /var/log/mysqld.log
# 连接MySQL服务
mysql -u root -p
Enter password: 随机密码
# 修改密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'P@ssw0rd!';
# 要求密码必须携带大写字母、小写字母、数字、特殊符号

# 6.开启远程连接,并使用图形化界面操作
mysql> GRANT ALL PRIVILEGES ON *.* TO '用户名'@'%' IDENTIFIED BY 'P@ssw0rd' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;

5.3安装Tomcat

# 1.下载Tomcat的压缩包
# 打开官网
http://tomcat.apache.org/
# 选择左侧Download
# 选择 Tomcat 8
# 复制右侧tar.gz的链接地址
https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.60/bin/apache-tomcat-8.5.60.tar.gz
# 服务器中~目录下载
wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.60/bin/apache-tomcat-8.5.60.tar.gz

# 2.解压压缩包到/usr/local
tar -zxvf apache-tomcat-8.5.60.tar.gz -C /usr/local

# 3.启动Tomcat并监听日志
cd /usr/local/apache-tomcat-8.5.60/bin
# 启动
./startup.sh
# 监控日志
cd ../logs
tail -f catalina.out

部署SSM工程

部署项目到Linux中需要注意以下内容:

项目要保证在Windows下是没有问题的,再考虑部署到Linux。
将开发环境中的配置等更改为测试环境。
连接数据库的信息
存放文件的位置
日志文件存放的位置
项目路径问题
将Maven项目打包。
根据项目路径的不同,部署到Tomcat中。
在部署到Linux操作系统之后,一定要查看日志。

CentOS7防火墙端口开放

# 1.查看当前已经开放的端口
firewall-cmd --list-ports

# 开启端口
firewall-cmd --zone=public --add-port=8888/tcp --permanent

# 重启防火墙
firewall-cmd --reload
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值