1. VMware虚拟机
VMWare虚拟机软件是一个“虚拟PC”软件,它使你可以在一台机器上同时运行二个或更多Windows、DOS、LINUX系统。
1.1. vmware15安装配置
Workstation 15 Pro 中新增了以下支持:支持新的客户机操作系统
- Windows 10 1803
- Ubuntu 18.04
- Fedora 28
- RHEL 7.5
- CentOS 7.5
- Debian 9.5
- OpenSuse Leap 15.0
- FreeBSD 11.2
- ESXi 6.7
2. VMware下安装Centos6.8操作系统
2.1. 安装演示
2.2 vmware创建虚拟机的原理
2.3 linux 基本目录结构
bin 存放二进制可执行文件(ls,cat,mkdir等)
boot 存放用于系统引导时使用的各种文件
dev 用于存放设备文件
etc 存放系统配置文件
home 存放所有用户文件的根目录
lib 存放跟文件系统中的程序运行所需要的共享库及内核模块
mnt 系统管理员安装临时文件系统的安装点
opt 额外安装的可选应用程序包所放置的位置
proc 虚拟文件系统,存放当前内存的映射
root 超级用户目录
sbin 存放二进制可执行文件,只有root才能访问
tmp 用于存放各种临时文件
usr 用于存放系统应用程序,比较重要的目录/usr/local 本地管理员软件安装目录
var 用于存放运行时需要改变数据的文件
3. linux常用指令
1) 什么是命令
2) 命令操作与图形界面操作之间的关系
3.1. 操作文件目录类命令
3.1.1. ls列出目录的内容
1)基本语法:
ls [选项] [目录或是文件]
选项:
-a :全部的文件,连同隐藏档( 开头为 . 的文件) 一起列出来(常用)
-l :长数据串列出,包含文件的属性与权限等等数据;(常用)
每行列出的信息依次是: 文件类型与权限 链接数 文件属主 文件属组 文件大小用byte来表示 建立或最近修改的时间 名字
示例代码:
ll -a命令是ls的升级版命令
3.1.2. pwd 显示当前工作目录所在位置的绝对路径
1)基本语法:
pwd
3.1.3. mkdir 创建一个新的目录
1)基本语法:
mkdir [-p] 要创建的目录
选项:
-p:创建多层目录
2)示例代码
mkdir a
mkdir -p aa/bb
3.1.4. rmdir 删除一个空的目录
1)基本语法:
rmdir 要删除的空目录名字,rmdir仅仅能删除空的目录
2)示例代码
rmdir aa/
通过命令行删除的一切文件都不会被放入回收站
3.1.5. rm 删除一个非空的目录
1)基本语法:
rm -rf aa/
2)示例代码
-i 删除前逐一询问确认。
-f 即使目录属性设为只读,也直接删除,无需逐一确认。暴力删除
-r 将目录及以目录里面的文件或者文件夹也逐一删除。
3.1.6. touch 创建空文件
1)基本语法:
touch 文件名称
2)示例代码
touch test.java
3.1.7. cd 切换目录
cd命令的作用就是从当前目录跳转到dir处, 如果dir处留空的话就会跳转到环境变量HOME中设置的值
1)基本语法:
(1)cd 绝对路径/相对路径
(2)cd ~或者cd (功能描述:回到自己的家目录)
(3)cd - (功能描述:回到上一次所在目录)
(4)cd .. (功能描述:回到当前目录的上一级目录)
(5)cd -P 如果要切换到的目标目录是一个符号连接,直接切换到符号连接指向的目标目录
2)示例代码
3.1.8. cp 复制文件或目录
1)基本语法:
(1)cp from dest (功能描述:复制source文件到dest)
(2)cp -r sourceFolder targetFolder (功能描述:递归复制整个文件夹)
2)案例
(1)复制文件
cp test.java test
(2)递归复制整个文件夹
cp -r test test1
3.1.9. mv 移动文件与目录或重命名
1)基本语法:
(1)mv oldNameFile newNameFile (功能描述:重命名)
(2)mv /temp/movefile /targetFolder (功能描述:递归移动文件)
2)案例:
1)重命名
mv test.java test1.java
2)移动文件
mv test1.java test1
3.1.10. cat 查看文件内容
查看文件内容,从第一行开始显示。
1)基本语法
cat [选项] 要查看的文件
选项:
-A :相当于 -vET 的整合选项,可列出一些特殊字符而不是空白而已;
-b :列出行号,仅针对非空白行做行号显示,空白行不标行号!
-E :将结尾的断行字节 $ 显示出来;
-n :列出行号,连同空白行也会有行号,与 -b 的选项不同;
-T :将 [tab] 按键以 ^I 显示出来;
-v :列出一些看不出来的特殊字符
2)案例
3.1.11. tac倒序查看文件内容
查看文件内容,从最后一行开始显示,。
1)基本语法:
tac [选项参数] 要查看的文件
2)案例
3.2. Centos中的网络配置
3.2.1. centos网络出现xx的解决办法
运行一下命令:
- Remove Network Manager from startup Services.
chkconfig NetworkManager off
2. Add Default Net Manager
chkconfig network on
3.Stop NetworkManager first
service NetworkManager stop
4.and then start Default Manager
service network start
3.2.2. 配置Centos NAT方式上网
1 确认vmware的网络模式
2确认linux主机的上网模式
3.2.3. 图形界面配置CentosIP地址
1 setup命令 :
2 配置好之后重启网络服务:
service network restart
3 关闭linux防火墙 命令如下:
service iptables stop
3.2.4. 查看IP命令:Ifconfig
命令:ifconfig
3.2.5. ping命令
ping 命令通过发送Internet控制报文协议(ICMP)回响请求消息来验证与另一台TCP/IP计算机连接情况
ping 一般用于检测网络通与不通,也叫时延, 其值越大,速度越慢。
ping 发送一个ICMP回声请求消息给目的地并报告是否收到希望的ICMP回声应答。用来检测网络是否通畅或者网络连接速度大小。
原理: 网络上的机器有唯一确定的IP地址,我们给目的IP地址发送一个包,对方要返回一个同样大小的数据包,根据返回的数据包我们可以确定目标主机的存在。
3.2.6. ifconfig命令
ifconfig是linux中用于显示或配置网络设备(网络接口卡)的命令,英文全称是network interfaces configuring。
配置网卡的IP地址语法例:ifconfig eth0 192.168.0.1 netmask 255.255.255.0
4. Centos上安装JDK,MySQL,Tomcat,Eclipse
4.1. linux软件安装方式与软件包类型
Linux下软件安装的方式主要有源码安装、rpm安装、yum安装,而常用的安装包主要有以下两种:
tar包:例如software-1.2.3-1.tar.gz。它是使用UNIX系统的打包工具tar打包的。
rpm包,如software-1.2.3-1.i386.rpm。它是Redhat Linux提供的一种包封装格式。
(现在用的全称叫RPM Package Manager,以前叫Redhat Package Manager)
大多数Linux应用软件包的命名也有一定的规律,它遵循:
名称-版本-修正版-类型
例如:software-1.2.3-1.tar.gz
软件名称:software
版本号:1.2.3
修正版本:1
类型:tar.gz
4.1.1. 源码包安装
编译安装负载均衡软件的时候讲解
4.1.2. rpm包安装的方式
RPM 是Red-Hat Package Manager(RPM软件包管理器)的缩写,RPM是RedHat Package Manager(RedHat软件包管理工具)类似Windows里面的“添加/删除程序。
这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的,现在包括OpenLinux、S.u.S.E.以及Turbo Linux等Linux的分发版本都有采用,可以算是公认的行业标准了。
(1)rpm命令的使用
-ivh:安装显示安装进度--install--verbose--hash
-Uvh:升级软件包--Update;
-qpl:列出RPM软件包内的文件信息[Query Package list];
-qpi:列出RPM软件包的描述信息[Query Package install package(s)];
-qa: 查询linux系统中安装的所有软件;
-qf:查找指定文件属于哪个RPM软件包[Query File];
-Va:校验所有的RPM软件包,查找丢失的文件[View Lost];
-e:删除包
4.1.3. yum方式安装软件
Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。
基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
yum方式安装上传下载工具
Linux上安装rz和sz命令
lrzsz 官网入口:http://freecode.com/projects/lrzsz/
lrzsz是一个unix通信套件提供的X,Y,和ZModem文件传输协议
yum方式安装lrzsz
yum -y install lrzsz
使用上传文件,执行命令rz,会跳出文件选择窗口,选择好文件,点击确认即可。
下载文件,执行命令sz
4.2. 下载所需安装软件
使用rz命令来下载压缩软件包到linux
4.3. 软件上传到linux系统
(1)直接拖拽的方式
(2)使用远程工具上传
4.4. Linux文件压缩,解压命令
4.4.1. tar包压缩,解压的方式
(1)基本语法:
tar + 参数 + XXX.tar.gz + 将要打包进去的内容 (功能描述:打包目录,压缩后的文件格式.tar.gz)
参数:
-c 产生.tar打包文件(压缩时候使用 create)
-x 解包.tar文件(解压时候使用 extract)
-v 显示详细信息
-f 指定压缩后的文件名
-z 打包同时压缩
(2)解压:tar -zxvf XXX.tar.gz
解压到当前目录
tar -zxvf test.tar.gz
解压文件到指定目录
tar -zxvf 需要解压的文件名 -C 需要解压的路径
tar -zxvf test.tar.gz -C /opt
压缩:tar -zcvf XXX.tar.gz n1.txt n2.txt
tar -zcvf 压缩后的文件名 需要压缩的文件或者文件夹名字
压缩多个文件
tar -zcvf test.tar.gz test1.java test.java
压缩目录
tar -zcvf test.java.tar.gz test1
压缩文件到指定的目录
tar -zcvf /usr/local/soft/1.tar.gz a.txt aa/
4.4.2. zip/unzip压缩,解压
1)基本语法:
zip + 参数 + XXX.zip + 将要压缩的内容 (功能描述:压缩文件和目录的命令,window/linux通用且可以压缩目录且保留源文件)
参数:
-r 压缩目录
2)示例代码:
(1)压缩 1.txt 和2.txt,压缩后的名称为mypackage.zip
zip test.zip test1.java test.java
(2)解压 mypackage.zip
unzip test.zip
(3)解压mypackage.zip到指定目录-d
unzip test.zip -d /opt
4.4.3. gzip/gunzip压缩
(1)基本语法:
gzip+文件 (功能描述:压缩文件,只能将文件压缩为*.gz文件)
gunzip+文件.gz (功能描述:解压缩文件命令)
(2)特点:
只能压缩文件不能压缩目录, 不保留原来的文件
示例代码
(3)gzip压缩
gzip test.java
(4)gunzip解压缩文件
gunzip test.java.gz
4.5. 文件权限操作
4.5.1. 用户组
在linux中的每个用户必须属于一个组,不能独立于组外。在linux中每个文件有所有者、所在组、其它组的概念
所有者,所在组 其它组
改变用户所在的组
4.5.2. 所有者
一般为文件的创建者,谁创建了该文件,就天然的成为该文件的所有者
用ls ‐ahl命令可以看到文件的所有者
也可以使用chown 用户名 文件名来修改文件的所有者
4.5.3. 文件所在组
当某个用户创建了一个文件后,这个文件的所在组就是该用户所在的组
用ls ‐ahl命令可以看到文件的所有组
也可以使用chgrp 组名 文件名来修改文件所在的组
4.5.4. 其它组
除开文件的所有者和所在组的用户外,系统的其它用户都是文件的其它组
文件权限
ls -l(ll)中显示的内容如下:
-rwxrw-r‐-1 root root 1213 Feb 2 09:39 abc
10个字符确定不同用户能对文件干什么
第一个字符代表文件(-)、目录(d),链接(l)
其余字符每3个一组(rwx),读(r)、写(w)、执行(x)
第一组rwx:文件所有者的权限是读、写和执行
第二组rw-:与文件所有者同一组的用户的权限是读、写但不能执行
第三组r–:不与文件所有者同组的其他用户的权限是读不能写和执行
也可用数字表示为:r=4,w=2,x=1 因此rwx=4+2+1=7
1 表示连接的文件数
root 表示用户
root表示用户所在的组
1213 表示文件大小(字节)
Feb 2 09:39 表示最后修改日期
abc 表示文件名
4.5.5. 改变权限的命令
chmod 改变文件或目录的权限
chmod 755 abc:赋予abc权限rwxr-xr-x
chmod u=rwx,g=rx,o=rx abc:同上u=用户权限,g=组权限,o=不同组其他用户权限
chmod u-x,g+w abc:给abc去除用户执行的权限,增加组写的权限
chmod a+r abc:给所有用户添加读的权限
4.6. 服务启动停止命令 service
service 命令用途说明
service命令用于对系统服务进行管理,比如启动(start)、停止(stop)、重启(restart)、查看状态(status)等。
service命令本身是一个shell脚本,它在/etc/init.d/目录查找指定的服务脚本,然后调用该服务脚本来完成任务。
常用方式
(1)格式:service
(2)格式:service
(3)格式:service
4.7. 使用service命令关闭防火墙
service iptables stop
4.8. 安装支持软件包(可选的)
由于安装jdk,mysql需要从额外的软件包支持,所以为了安装顺利我们提前手动安装这些支持包
(1)yum install glibc.i686
glibc是GNU发布的libc库,即c运行库。glibc是linux系统中最底层的api,几乎其它任何运行库都会依赖于glibc。glibc除了封装linux操作系统所提供的系统服务外,它本身也提供了许多其它一些必要功能服务的实现。
由于 glibc 囊括了几乎所有的 UNIX通行的标准,可以想见其内容包罗万象。而就像其他的 UNIX 系统一样,其内含的档案群分散于系统的树状目录结构中,像一个支架一般撑起整个操作系统。
在 GNU/Linux 系统中,其C函式库发展史点出了GNU/Linux 演进的几个重要里程碑,用 glibc 作为系统的C函式库,是GNU/Linux演进的一个重要里程碑。
(2)libaio.so.1 libgcc_s.so.1 libstdc++.so.6
以上三个是mysql等其他软件需要的依赖库,如果不安装mysql安装过程中会安装失败
yum -y install libaio.so.1 libgcc_s.so.1 libstdc++.so.6 --setopt=protected_multilib=false
(3)yum update libstdc++-4.4.7-4.el6.x86_64
(4)yum -y install gcc-c++
4.9. 安装jdk
1.JDK安装
注意:rpm与软件相关命令 相当于window下的软件助手 管理软件
步骤:
1)查看当前Linux系统是否已经安装java
输入 rpm -qa | grep java
2)卸载两个openJDK
输入rpm -e --nodeps 要卸载的软件
3)上传jdk到linux
4)解压jdk到/usr/local下 tar –xvf jdk-7u71-linux-i586.tar.gz –C /usr/local
5)配置jdk环境变量,打开/etc/profile配置文件,将下面配置拷贝进去
vi /etc/profile
打开后,在文档最下方加上以下环境变量配置代码:
export JAVA_HOME=/root/soft/jdk1.7.0_67
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH
注意:export PATH=$JAVA_HOME/bin:$PATH,注意将$PATH放到最后。以免造成新旧版本问题。
编辑profile文档立即生效 source /etc/profile
6 ) 检查JDK是否安装成功#java -version 如果看到JVM版本及相关信息,即安装成功!
4.1 安装mysql
(1)检查是否已经安装了mysql如果已经安装过mysql则把老的版本mysql卸载
rpm -qa | grep mysql
卸载mysql的命令:rpm -e --nodeps mysql-libs-5.1.73-7.el6.x86_64
(2)给所需要的软件添加执行权限
chmod u+x ./*
软件权限:
(3)rpm 包的安装方式
rpm -ivh 需要安装的文件名
( 4 ) 登录mysql
mysql安装好后会生成一个临时随机密码,存储位置在/root/.mysql_secret
msyql –u root -p
( 5 ) 修改mysql的密码
set password = password('root');
( 6)开启mysql的远程登录
默认情况下mysql为安全起见,不支持远程登录mysql,所以需要设置开启 远程登录mysql的权限
登录mysql后输入如下命令:
grant all privileges on *.* to 'root' @'%' identified by 'root';
flush privileges;