1、Linux
2、为什么需要Linux
- 程序开发完成之后需要部署到服务器,这样用户才能通过服务器访问到我们的程序
- 而在当今主流的三大系统(windows、linux、macOS)中,linux常被当成硬件服务器来使用
- Linux无需消耗其他资源维护大量UI界面,所以性能好很多,windows需要消耗资源维护UI界面
- Linux系统比windows系统更加稳定和安全
3、Linux简介
3.1、什么事Linux
和windows操作系统类似,Linux是一套性能稳定的多用户网络操作系统
3.2、Linux优点
- 源代码开放:任何人都可以获取到Linux源代码探索学习
- 稳定性和高效性:你也许会听到Windows服务器长时间运行而突然宕机,但你绝不会听到Linux系统服务器因为长时间不关机会卡死,在Linux上几乎是不会出现这种情况的。Linux服务器可以无休止的运行下去不宕机,甚至一两年不重启,因为它继承了Unix卓越的稳定性和高效性
- 可靠的安全性、稳定性能:其安全性相比其他系统也要安全很多,基本不需要安装杀毒软件
- 多用户多任务:Linux系统同时可以支持多个用户,每个用户对自己的文件设备有特殊的权利,能够保证各用户之间互不干扰。当硬件配置非常高时,每个用户还可以同时执行多个任务、多个线程同时工作、提高效率,简直是完美的一塌糊涂,单凭多用户而言就完爆其他操作系统
- 对硬件配置要求低:最低128M内存就可以运行
3.3、常见的Linux系统
1、rpm系(使用Red Hat(红帽子)的软件库管理系统):
(1) Redhat 红帽,收费,技术支持强大,资料完善,系统稳定安全;
(2) Fedora 被红帽赞助,适合个人使用,免费;
(3) Centos 被红帽收购,免费,系统稳定安全,很多公司在用;
2、dpkg系 (package manager for Debian):
(1) Debian 很多公司在用,基于ubuntu(乌班图);
(2) Ubuntu 基于debian的发行版,比较最受欢迎的免费操作系统,界面强大。比较适合个人用户;
(3) Pear os 基于Ubuntu,仿macos;
3、国产linux系统:
(1) 红旗Linux,真正的国产linux系统,2014年公司解散后被收购
3.4、小结
- Linux是一个操作系统,有很多发行版本;
- 服务器:centos、redhat、Ubuntu等;
4、虚拟机安装
4.1、引入
- Linux需要在一台电脑上进行安装,获得一台电脑的方式有很多,比如网上或者实体店购买
- 当然现在有了更加便宜的解决方案,那就是借助虚拟机软件,使用虚拟机软件可以模拟出计算机,从而可以在上面安装任何的操作系统,大大节约了成本
4.2、常见的虚拟机软件
- vmware:虚拟机软件中的NO.1,特点:模拟完善、有商业授权、收费软件(序列号),内存大
- virtualbox:原来的sun公司,现属于Oracle,免费开源,更新及时,体积小,内存优化,兼容性不是特别好
- virtual PC 微软的免费产品:仅支持windows系统(微软官方说只支持windows,其实别的系统也可以安装)现已停止更新
- Hyper:微软最新的虚拟机软件;
4.3、安装vmware
双击【VMware-workstation-full-10.0.0-1295980.exe】文件,安装即可:
选择自定义:
注意,这里的安装目录不要选择C盘,选择其他空间大点点盘,路径不要带中文,然后下一步:
这里的共享虚拟机存储路径需要选择一个非C盘,非中文目录的路径。下面的端口是443,如果你本地安装了SVN的话,那可能会冲突,那就修改成其他端口即可。
然后下一步:
等待几分钟之后,就会弹出下面界面需要你输入密钥了:
拷贝密钥出来粘贴进去即可:
点击【输入】即可:
安装成功后桌面出现下面图标:
那么怎么验证我们安装成功呢?
打开本地网络链接:
如果出现两个VMware的网络的话,那就是安装成功了,没有这个的话,到时候是无法和虚拟机中的系统进行通信的。
4.4、vmware常用操作
4.4.1、全局配置虚拟机(Linux系统)存储位置
1、vmware是一个虚拟机软件,在Vmware上可以新建不同的虚拟机,而虚拟机是作为宿主机的一个文件而存在的,默认Vmware是安装在C盘,而虚拟机又安装在vmware目录下面的,也就是说虚拟机是在系统盘(C盘),如果宿主机重新安装系统,会导致C盘被格式化,就会让已经安装好的虚拟机被格式化了。所以需要修改虚拟机存储位置,来规避这个问题;
2、修改虚拟机的默认位置(也可以在安装时修改):编辑 -> 首选项
4.4.2、虚拟机操作
1、创建虚拟机
2、导入导出:可以把已经安装好的虚拟机导出,以后需要时再导入
3、备份还原
注意:初学者配置快照非常重要,如果Linux中软件安装失败了,可以恢复到指定的快照版本再来一次,否则删除不干净需要重新安装Linux,非常麻烦;
5、CentOS安装
5.1、CentOS是什么
- CentOS(Community Enterprise Operating System,中文意思是:社区企业操作系统)是Linux发行版(红帽子)之一,它是来自于Red Hat Enterprise Linux依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定性的服务器以CentOS替代商业版的Red Hat Enterprise Linux使用。两者的不同,在于CentOS并不包含封闭源代码软件;
- CentOS就是一个红帽系列的开源免费的可以用做服务器的Linux系统;
- 此系统需要在wmware(虚拟机软件)中先新建一个虚拟机,然后再虚拟机中安装CentOS
5.2、配置虚拟裸机
打开我们的虚拟机:
我们开始新建虚拟机:
选择自定义即可:
这一步不用改什么,直接下一步:
选择稍候安装操作系统
这里选择Linux和CentOS 64位,因为给大家准备的镜像文件是CentOS 64位的
这里给虚拟机取个名字,容纳后指定一个位置即可:
这里我为虚拟机分配了4个G的内存,根据你电脑实际内存去分配
默认下一步即可:
这里选择单个文件,磁盘大小我分配了20G,根据实际情况分配即可(必须大于9G):
此处,点击【自定义硬件】,将不需要的全部移除,像打印机、声卡、USB等去掉:
然后点击关闭
最后虚拟机新建完的效果如下:
5.3、CentOS7系统安装过程
选择第一个即可
安装需要等待一会,如果静止不动了点话,按回车即可,鼠标移不出来的了的话,按Alt+Ctrl即可将鼠标移出来
等一会之后就会出现如下界面:
这里我们选择中文即可:
点击继续:
软件选择:默认是最小安装的,这里可以选择带有桌面的选择这种模式,选择图示:
安装位置,选择如下:
KDUMP选择如下:不用勾
点击【网络和主机名】:
点击完成
到此就全部设置完毕了,点击【开始安装】
点击【ROOT密码】,然后设置超级管理员密码即可:
我这里设置的是123456,自己设置的记住就可以了:
等一段时间安装完成之后就是如下界面:
点击【重启】即可
选择第一个,等会后出现下面界面:
点击第一项,需要勾选统一许可:
然后点击【完成配置】,等会后出现下面界面:
直接点击【前进】
继续点击【前进】
点击【前进】
不管,直接点击【前进】
不选择,直接点击【跳过】
这里可以输入你的名字,然后点击【前进】
然后点击【前进】
设置完毕:
5.4、安装完成后配置
5.4.1、备份系统
5.4.2、网络介绍
我们这里介绍vmware给我们提供的3中模式,它们分别是:
- Nat网络地址转换模式
- Bridged Adapter 桥接模式
- Host-only Adapter 主机模式
1、Nat网络地址转换模式
(1) 只能单向访问,虚拟机可以通过网络访问到宿主机,宿主机无法通过网络访问到虚拟机;
(2) 如果linux上的ip地址是自动获取的,是可以通过宿主机访问虚拟机的,但是要保证linux的ip地址网段和宿主机的虚拟网卡的网段一致;
(3) 只要宿主机可以联网,那么虚拟机就可以联网,因为net方式联网是依靠宿主机的ip;
(4) Net方式的ip地址是由虚拟网卡分配的;
2、Bridged Adapter 桥接模式
(1) 可以相互访问,因为虚拟机在真实网络段中有独立IP,主机与虚拟机处于同一网络段中,彼此可以通过各自IP相互访问;
(2) 桥接模式的ip地址是由路由器分配的;如果宿主机能联网,虚拟机不一定能联网,如果宿主机不能联网,虚拟机也可以联网;
3、Host-only Adapter 主机模式
Host-Only模式其实就是NAT模式去除了虚拟NAT设备,然后使用VMware Network Adapter VMnet1虚拟网卡连接VMnet1虚拟交换机来与虚拟机通信的,Host-Only模式将虚拟机与外网隔开,使得虚拟机成为一个独立的系统,只与主机相互通讯
通过上图,我们可以发现,如果要使得虚拟机能联网,我们可以将主机网卡共享给VMware Network Adapter VMnet1网卡,从而达到虚拟机联网的目的
注:宿主机,就是提供给虚拟机环境的主机。这里指的就是我们的windows系统主机;
6、命令执行方式
6.1、引入
- Linux最开始是没有图形界面的,都是通过命令操作。后面为了方便操作一些版本的操作系统把常用的操作封装图形操作,这样我们可以使用图形界面操作Linux
- 但并且不是所有的功能都有图形界面的,有的操作必须得命令完成。并且一般服务器都是不安装图形界面
- Linux操作命令分两种:本地终端执行和远程终端执行
6.2、本地终端
类似于windows下面的cmd:
6.2.1、打开本地终端
注意:此种方式要求你必须在Linux电脑旁边
出现如下界面:
6.2.2、简单使用
- 查看IP:Linux(ifconfig)、 windows(ipconfig)
- 结束当前执行命令:ctrl + C
- 清屏:clear
- 查看命令的使用方法:help
注:如果Linux处理休眠状态:按下回车键和ESC键或者EXIT重新登录
6.3、远程访问Linux
6.3.1、引入
- 虽然可以通过本地终端,访问linux,但是有的时候服务器不在咱们身边。需要远程连接并操作。
- 要想远程访问Linux,需要通过SSH(英文全称Secure Shell,是一种安全的协议),也是用于远程登入的。既然是远处登入工具,那么就需要有一台主机作为客户端,另一台主机作为服务器端。且在客户端上面必须要有能够远处登入的软件工具才行;
即:服务端有ssh的支持,客户端需要有连接linux的客户端软件;
6.3.2、SSH服务端的验证
- 客户端远程访问服务端必须通过SSH服务(安全协议)才行
- CentOS中默认安装了SSH服务,可以通过以下指令验证:(在本地终端执行)
ps -ef|grep ssh
注意进程号为1268的进程,就是ssh服务正在运行
思考:如要在windows中连接linux,使用什么软件呢?
6.3.3、SSH客户端的安装
- 常见的SSH客户端软件有SecureCRT、Xshell、Putty、finalshell等,一般用于Windows客户端计算机
- 课件为大家都准备了,大家用哪个用的习惯就可以使用哪个,作用都是一样的
6.3.4、CentOS防火墙操作
- 远程访问linux时,需要关闭防火墙,否则访问linux上的tomcat,mysql等服务可能会失败;
- 查看防火墙状态: systemctl status firewalld.service(绿的running表示防火墙开启)
- 执行关闭命令(立即关闭 – 立即生效): systemctl stop firewalld.service
- 再次执行查看防火墙命令:systemctl status firewalld.service
- 执行开机禁用防火墙自启命令(永久关闭 – 重启生效): systemctl disable firewalld.service
- 开启防火墙:systemctl start firewalld.service
7、Linux命令
7.1、常用命令
1、查看当前所在目录(用处:拷贝目录到一些配置文件):pwd
2、切换目录(需要到特定的目录执行命令):cd 目录名
3、文件名和目录名称补全:Tab
4、查看目录文件信息:
(1) ls //列出文件信息
(2) ls -l //以详细信息方式列出文件信息
(3) ls –a //列出所有文件和文件夹,包含隐藏文件
(4) ls -al //以详细信息方式列出所有文件信息,包含隐藏文件
(5) ls 目录名 //查看该目录的文件信息
(6) ll //等于ls -l
5、查看当前用户:
(1) whoami //查看当前操作用户
(2) who am i //查看当前登录用户(有可能是有多个的)的信息
6、查找命令:
(1) 最强大的搜索命令:find 查找各种文件的命令
(2) 在文件资料中查找文件:locate
(3) 搜索命令所在的目录及别名信息:which
(4) 搜索命令所在的目录及帮助文档路径:whereis
7、切换用户:
(5) su 用户名:切换用户
(6) su root:普通用户切到root用户,需要输入密码;
(7) su itsource:切换到itsource的用户
(8) exit //注销当前用户,返回前一用户
7.2、文件相关命令
在学习文件相关命令之前,我们先来看一Linux的文件系统
7.2.1、文件系统
- Linux有个基本思想:一切都是文件。就是系统中的所有都可以归结为一个文件,包括命令、硬件和软件设备、操作系统、进程等等对于操作系统内核而言,都被视为拥有各自特性或类型的文件。而这些文件是以一定的结构组织的
- Linux系统的目录结构是一个以/(根目录)为根节点的树形结构
- 系统目录介绍
/bin 存放二进制可执行文件(命令),所有用户都可以使用
/sbin 存放二进制可执行文件,只有root用户可以使用
/boot 系统启动需要的核心文件
/dev 设备文件
/home 用户的主目录,每一个非root用户都会在home有一个为用户名的文件夹
/lib 系统共享动态链接库
/mnt 挂载目录,通常挂载到该目录下
/etc 存放系统配置文件目录
/etc/passswd 用户信息文件
/etc/group 用户组信息文件
/var 用来存放常态性变动的文件,经常发生变化的文件。比如缓存、登录文件,mysql数据库文件等
/tmp 临时目录,用来存放临时文件
/proc 虚拟目录,是内存的映射,可以访问到内存中的系统信息
/sys 和proc类似,存放和内核相关的信息和数据
/root root用户的主目录
/usr 存放应用程序和文件(类似于windows的system32、program files目录)
/usr/local/src 所有应用程序包都放这儿
/usr/local/ 所有的应用程序都安装在这个目录。
/usr/bin、/usr/sbin:这是对/bin、/sbin的一个补充
注:
/usr:系统级的目录,可以理解为C:/Windows/,/usr/lib理解为C:/Windows/System32
/usr/local:用户级的程序目录,可以理解为C:/Program Files/,用户自己编译的软件默认会安装到这个目录下;
/opt:用户级的程序目录,可以理解为D:/Program Files/,opt有可选的意思,这里可以用于放置第三方大型软件(或游戏),当你不需要时,直接rm -rf掉即可
- 一般跟系统有关的程序或软件或需要进行配置的程序安装到/usr/local中(jdk,tomcat等),安装包可以放在/usr/local/src中;
- 一般第三方与系统不是很挂钩的软件放在/opt中,安装包也可以放在这里;
7.2.2、目录相关命令
1、相对路径和绝对路径:
(1) 绝对路径:以/(根目录)开头的路径(例如:/home、/etc/passwd)
(2) 相对路径:以./开头的路径,很多时候./可以省略(指相对于当前路径):
① ./ 表示当前目录(可以省略)./usr/loccal/=usr/local
② …/ 表示上一级目录
注:路径的最后一个斜杠可以省略
2、创建目录:
(1) mkdir 目录名 //创建一个目录
(2) mkdir -p 目录1/目录2/目录3 //递归创建目录
3、删除目录:rm -rf 路径 //可以删除文件和目录 -r(递归) -f(暴力)
4、移动目录/修改文件名:mv dir1 dir2 如果dir2不存在,将dir1目录名修改为dir2(重命名),否则将dir1目录移动到dir2中;
5、复制目录:
(1) cp -rf dir1 dir2 //将dir1复制一份到dir2目录(包含目录内容一起复制)
(2) cp -rf dir1/* dir2 //直接复制内容(非常重要)
6、打包和解压:
(1) tar -czvf tom.tar.gz tom – 打包
(2) tar -xzvf tom.tar.gz -C /usr/local – 解包
(3) 参数:
-c 创建一个新的tar文件 -t 参看压缩文件内容
-v 显示运行过程信息 -j 调用bzip2压缩命令执行压缩
-f 指定文件名称 -C 指定需要解压到的目录
-z 调用gzip压缩命令执行压缩
-x 解开tar文件
7.2.3、文件相关命令
1、创建文件:touch 文件路径 //创建一个空白文件
2、查看文件内容:cat //将文件内容直接显示出来
3、打开文件、保存、关闭文件(vi命令模式下使用)
vi filename //打开filename文件
:w //保存文件
:w vpser.net //保存至vpser.net文件
:q //退出编辑器,如果文件已修改请使用下面的命令 ,q(quit)
:q! //退出编辑器,且不保存
:wq //退出编辑器,且保存文件
注意:按i(insert)进入编辑,按Ctrl + C 退出编辑,退出编辑输入:wq退出编辑器
小结:
我们学习了一些常用命令和文件相关命令,其实Linux还有有很多命令,不用死记硬背。会使用一些常用的就ok,用到时查看命令文档或网上搜索即可
注意:在linux中Ctrl+s表示锁住屏幕,按住Ctrl+q解除锁定;
8、CentOS中软件安装
8.1、解压源码包文件安装
特点:
- 这种安装方式解压即安装,有的软件需要配置下环境变量(例如JDK的安装需要配置环境变量)
- 卸载时只需要将解压包删除即可
命令:tar -zxvf 压缩包名(后缀为.tar.gz)
例如:将jdk的tar.gz包解压到指定文件夹:
8.2、RPM安装
特点:
- 这种安装方式,软件包会自动配置jdk的环境变量,不用手动配置。也是最方便快捷的一种方式
命令:
rpm -qa 软件名称 :查询软件是否被安装
rpm -ivh 软件包路径 需要安装的包文件 : rpm –ivh xxx.rpm
rpm -e –nodeps 需要卸载的软件包 : 卸载软件(–nodeps 忽略依赖关系并继续操作)
rpm -qa | grep 查询名称 :利用管道模糊查询软件安装情况:
例如: rpm -qa | grep java 检测系统自带的jdk安装包
参数说明:rpm [选项] [参数]
-a:查询所有软件包
-e:删除指定的软件包
-f<文件>:查询拥有指定文件的套件;
-h或–hash:显示进度信息 ,以#显示进度
-i:显示包的详细信息
-i<软件包>或–install<软件包>:安装指定的软件包
-l:显示包的文件列表
-p:查询指定的RPM包
-q:使用询问模式
-U<软件包>或–upgrade<软件包>:升级指定的程序包
-v:显示指令执行详细过程
-vv:详细显示指令执行过程,便于排错
例子:
先检查是否安装JDK:
rpm -qa | grep java
这里默认就有一些,我们先将这些删除掉:
rpm -e --nodeps javapackages-tools-3.4.1-11.el7.noarch
npm:管理套件
-e:删除
--nodeps:不验证套件的相关关联性,就是强制删除
报错,说我权限不够,那么可以用下面命令切换用户:
su root
然后输入root密码,我这里是123456
再执行下面命令删除:
rpm -e --nodeps javapackages-tools-3.4.1-11.el7.noarch
rpm -e --nodeps tzdata-java-2019c-1.el7.noarch
rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.242.b08-1.el7.x86_64
rpm -e --nodeps java-1.8.0-openjdk-1.8.0.242.b08-1.el7.x86_64
rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.251-2.6.21.1.el7.x86_64
rpm -e --nodeps python-javapackages-3.4.1-11.el7.noarch
rpm -e --nodeps java-1.7.0-openjdk-1.7.0.251-2.6.21.1.el7.x86_64
然后再输入:rpm -qa | grep java,查看下是否还存在Java相关软件
已经清除干净了,现在我们可以安装我们自己下载到JDK了
先到官网上下载JDK,需要下载的格式不是.exe的,而是.rpm的
网址:https://www.oracle.com/java/technologies/downloads/#java8
然后将文件上传到Linux的opt目录中:
然后通过以下命令安装:
rpm -ivh jdk-8u311-linux-x64.rpm
安装完成后,看下JDK是否安装成功,输入下面命令
java
说明已经安装成功了
8.3、yum在线安装
特点:将所有软件包放到官方服务器上,当进行yum在线安装时,可以自动解决依赖性问题;
缺点:安装过程中,rpm包依赖性太强
yum命令:
1、查询:
(1) yum list –查询所有可用软件包列表
(2) yum search 关键字 –搜索服务器上所有和关键字相关的包
2、安装:
(1) yum -y install 包名 (-y 自动回答yes)
(2) yum安装只写包名即可! eg:yum -y install gcc –c语言编译器
3、升级/卸载
(1) 升级:yum -y update 包名
① update:升级;
② -y:自动回答yes;
(2) 卸载:yum -y remove 包名
① remove:卸载;
② -y:自动回答yes;
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/188521.html