Linux
什么是Linux
linux是一个操作系统,跟windows是一样的。
1.企业中的开发环境
平时大家都在本地开发代码,本地的电脑通常是windows系统,macos系统,在本地系统中会安装大量的软件,例如 Mysql,rabbitmq,es...软件安装的越多会导致当前的系统不稳定
2.企业中的测试环境
测试环境是 测试专用的环境。通常情况下,开发人员开发完成代码后,会首先进行自测。在本地自测完成后,会将代码部署到开发环境中。在开发环境测试完成后,会将代码部署到测试环境,由测试人员进行测试,功能测试,压力测试,集成测试... ,测试人员收集程序中的BUG,反馈给开发人员,让开发人员进行BUG的修复。通过禅道来进行BUG的分配
3.企业中的预生产环境
在测试人员测试完成后,会将项目部署到预生产环境,准备,生产环境的预备环节。保证当前预生产环境的机器数量,版本与生产环境保持一致。通常情况下,在预生产环境 测试人员进行压力测试。如果满足要求,将预生产环境转为生产环境
4.这么多的环境我们应该选择那个操作系统
在生产环境中,常用的操作系统 windows 2003 server(是windows提供的项目部署服务器),Linux,Unix. 企业中现在使用最多的操作系统是 Linux 因为Linux是一个开源的操作系统,并且比较稳定
5.linux的版本
1.linux的内核版本
2.linux的发行版本,比如centos (95%),unbuntu(通常用于个人电脑),redhat,deeplin
6.Linux与Windows的区别
Linux是严格区分大小写的,Windows无所谓
Linux 中一切的都是文件
Linux 中文件没有后缀,但是有一些约定的后缀
Windows下的软件一般是无法直接在Linux下运行的
7.Linux的安装(7.0的centos的镜像)
略。。。跟着视频一步一步安装即可
8.Linux中的命令学习
ip addr 查看linux的ip地址
在当前windows电脑打开cmd命令行,输入ping linux的ip地址,如果有返回,则代表本机可以连接到虚拟机
连接的软件有 finallShell (免费),xshell,crt (收费)
8.1 基本命令
#1.我是谁
who am i
#2. 我在哪
pwd
#3. 查看本机的Ip地址
ip addr | ip a
#4 清屏
clear
#5 强制停止
Ctrl+C
8.2 Linux目录命令
8.2.1 查看目录
ls [-ald]查看当前文件夹下的所有的文件/文件夹
#-a 代表列出全部文件,包括隐藏文件
#-l 代表列出文件的全部信息
#-d 仅看目录本身
8.2.2 切换目录
cd [. .. / ~ -] 实现目录的切换
#cd . 当前目录
#cd.. 上一级目录
#cd / 根目录
#cd ~ 当前登录的Home目录
#cd - 返回
8.2.3 创建目录
mkdir 目录名
#在当前的目录下创建一个新的目录(文件夹)
8.2.4 删除目录
删除非空目录。包含了内容的目录
rmdir 目录命 #删除空目录
rm -rf 目录命 ,慎用! (删库跑路)
#对于Linux来说是最高级别的命令之一,可以删除掉除了删除文件的基本操作之外的所有的文件
#rm -rf /* 删除所有(不能使用)
-r 循环递归删除
-f 不询问
8.2.5 目录的复制
cp -r 来源目录 目标目录
8.2.6 目录的移动
mv 目录名 新目录名 路径
#如果路径不存在,则代表重命名,如果路径参数存在,代表移动
8.3 linux的文件命令
8.3.1 创建一个文件
touch 文件名
8.3.2 编辑文件
vi 文件名称
#查看模式
#输入键盘中的 i 进入编辑模式
#输入键盘中的 esc 退出编辑模式
#保存并且退出
必须在英文下输入 : wq (w==》wirte q==>quit )
如果在wq 后跟上 ! 则代表前置保存并且退出
如果在q 后跟上 ! 代表不保存,强制退出
:wq :q :wq! :q!
8.3.3 查看文件
cat 文件名
#展示文件中的所有内容
tail 文件名
#只查看最后几行 在Linux中查看系统的日志,使用的就是tail 命令 具体为:
tail -200f 日志名 #查看最后200行的日志内容
8.3.4 移动,重命名文件
mv 文件名 新文件名 ---重命名
mv 文件名 路径 ---移动
8.3.5 复制文件
cp 文件名称 目录路径
8.3.6 删除文件
rm 文件名
8.4 linux的压缩命令
在windows系统中,压缩格式有很多种,常用的有.zip .7z ....,但是针对于Linux来说,常用的压缩格式是 .tar.gz
8.4.1 解压的命令
tar -zxvf 压缩包的名称
#-z 代表压缩包的后缀是.gz的
#-x 代表解压
#-v 解压时,打印详细信息
#-f 代表指定文件的名称,必须放在所有选项的最后
8.4.2 压缩命令
tar -zcvf 压缩包的名称 文件1 文件2 目录1 目录2
#-c 代表压缩命令
8.4.3 zip格式的压缩
安装zip的组件
yum -y install zip #打包的程序
yum -y install unzip #解压的程序
zip 压缩包的名称.zip 文件1 文件2 目录 1 ... (代表多个)
unzip 压缩包的名称 (解压的操作)
8.5 文件的上传以及下载
向linux操作系统,进行文件的上传以及下载的操作。
安装命令
yum -y install lrzsz #安装上传下载的组件
rz #上传命令,打开本机的文件,选中进行上传
8.6 用户的操作
Linux是一个多用户的操作系统,加入公司后,想要操作Linux 必须向运维人员申请一个账号,应且以这个账号的身份操作Linux
1.可以监控追踪当前用户的操作。
2.控制用户的资源访问
8.6.1 用户的创建
useradd [-cgd] 用户名
#-c :comment 给用户添加一段注释
#-g 代表group组(角色)
#-d 用户的Home目录
8.6.2 设置用户密码
passwd 用户名
8.6.3 切换用户
su 用户名
[root@localhost opt]# su miaohanbgo [miaohanbgo@localhost opt]$
@符号前代表的当前登录的用户名
@符号后,代表在本地登录
opt 当前用户所在的目录
‘#’ 代表的是超级管理员
‘$’ 代表的普通用户
#由超级管理员切换到普通用户时,不需要输入密码。但是由普通用户切换到超级管理员/其他普通用户时时,需要输入密码
8.6.4 删除用户
userdel 用户名
#超级管理员执行
8.6.5 修改用户
usermod [-cgd] 用户名
8.7 用户组的操作
用户组相当于角色, 给当前某个用户组授予操作权限,新增用户时,将用户分配到不同的用户组下,就可以拥有不同的权限
命令
groupadd 用户组名 创建用户组
groupmod -n 用户组名 修改用户组的名称
groupdel 用户组名 删除用户组 #只能删除不存在用户的用户组
8.8 文件权限的修改
如何通过命令查看某个文件的权限信息
ll 命令,查看某个目录下的所有的文件的详细信息
-rw-r--r--. 1 root root 436 12月 30 14:22 docu.zip d rwx r-x r-x. 3 root root 26 12月 30 14:17 jdk
开头为d 代表 该文件是一个目录
开头为- 代表该文件是一个 文件
目录/文件标识后,有三组属性
rwx: 代表文件拥有者的权限
rwx: 代表文件所属组用户的权限
rwx: 代表其他用户对当前文件的权限
r: 代表read 读的权限
w: 代表w rite 写的权限
x: 代表excute 代表执行权限
root : 第一个root 代表当前文件的拥有者
root: 代表当前文件的所属组
26 : 文件的大小
12月 30 14:17: 文件的最后修改时间
jdk:文件名称
8.1 对文件权限进行修改
chmod 777 目录|文件名
#777 每一个7代表的时一组权限 r: 4 w:2 x:1
8.9 Linux系统级别命令
1.查看全部运行的进程
ps -ef
2.ps -ef| grep 搜索的内容 #搜索正在运行的进程
3.ps -aux|grep 进程名 #搜索正在运行的进程
4.kill -9 进程id pid
启动|停止|重启|开机自动启动|禁止开机运行|状态 网络 ,防火墙, mysql数据库
5.systemctl start|stop|restart|enable|disable|status 服务名称(network ,firewalld,mysqld..)
6.查看端口号
#安装netstat
yum -y install net-tools
#查看端口号的使用情况
netstat -naop | grep 端口号
9.软件的安装
9.1 安装JDK
9.1.1 将jdk的tar.gz 上传,解压
rz jdk.tar.gz
tar -zxvf jdk.tar.gz
9.1.2 配置环境变量
vi /etc/profile #系统级别的环境变量
在文件的最后配置
export JAVA_HOME=/opt/jdk/jdk1.8.0_161 //jdk路径
export PATH=$JAVA_HOME/bin:$PATH //将bin配置到path路径中
//修改完成后
esc :wq 保存退出
source /etc/profile 让环境变量生效
java -version //测试可以获取到java的版本号,则代表配置成功
9.2 安装Tomcat
9.2.1 将tomcat.tar.gz 上传解压
rz tomcat.tar.gz
tar -zxvf tomcat.tar.gz
9.2.2 启动tomcat
#1.进入tomcat文件夹下的bin目录
#2.执行命令 ,启动tomcat
./startup.sh
#3.查看tomcat的日志 ,进入logs文件夹,查看启动日志
tail -f catalina.out
#4. 在宿主机访问linux中的tomcat
http://linux的ip地址:8080
#5.通过ip访问tomcat时,无法获取到tomcat的首页。原因是没有开放端口,所以我们需要关闭掉防火墙
systemctl stop firewalld
9.3 Mysql
9.3.1 安装Mysql
#通过yum下载wget命令
1.yum -y install wget
#使用wget命令下载Mysql存储库
2.wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
#安装rpm包
3.rpm -Uvh mysql80-community-release-el7-3.noarch.rpm
#选择mysql的发行版本
4.vi /etc/yum.repos.d/mysql-community.repo
5.#进入文件后,将80的enabled更改为0,将57的eanbled更改为1,保存并退出
#安装Mysql的社区版本,如果下载失败,就是网络原因,再次尝试下载即可
6.yum -y install mysql-community-server
9.3.2 启动Mysql
#启动Mysql服务
1. systemctl start mysqld.service
#第一启动Mysql后,mysql会自动生成一个密码,我们首先要去查看这个密码 /var/log/mysqld.log :后都是自动生成的密码
2.grep 'password' /var/log/mysqld.log
lh1jP:Flc>!J
#使用初始化密码登录mysql服务
3.mysql -uroot -p
Enter password: 初始化密码
#登录成功后,首先我们需要修改密码,密码要求,携带大写字母,小写字母,数字,特殊符号
4.ALTER USER 'root'@'localhost' IDENTIFIED BY 'P@ssw0rd';
#Mysql 默认情况下 禁止远程连接,需要开放远程连接
5.GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'P@ssw0rd' WITH GRANT OPTION;
#刷新权限
6.FLUSH PRIVILEGES;