Linux教程

A053_项目部署_Linux介绍_CentOS

本文主要是介绍A053_项目部署_Linux介绍_CentOS,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

项目部署-Linux&华为云

1. 课程介绍

  • Linux简介; (了解)
  • 虚拟机软件; (掌握)
  • Centos安装; (掌握)
  • Linux常用命令; (掌握)

2. 为什么需要Linux

  1. 程序开发完成之后需要部署到服务器,这样用户才能通过服务器访问到我们的程序。比如我们的第一个项目;
  2. 而在当今主流的三大系统(windows、linux、macOS)中,linux常被当成硬件服务器来使用;

3. Linux简介

3.1. 什么是Linux?

  1. 和windows操作系统类似,Linux是一套性能稳定的多用户网络操作系统;

3.2. Linux的优点

  1. 源代码开放:任何人都可以获取到Linux源代码探索学习;
  2. 稳定性和高效性:你也许会听到Windows服务器长时间运行而突然宕机,但你绝不会听到Linux系统服务器因为长时间不关机会卡死,在Linux上几乎是不会出现这种情况的。Linux服务器可以无休止的运行下去不宕机,甚至一两年不重启,因为它继承了Unix卓越的稳定性和高效性;
  3. 可靠的安全性、稳定性能:其安全性相比其他系统也要安全很多,基本不需要安装杀毒软件;
  4. 多用户多任务:Linux系统同时可以支持多个用户,每个用户对自己的文件设备有特殊的权利,能够保证各用户之间互不干扰。当硬件配置非常高时,每个用户还可以同时执行多个任务、多个线程同时工作、提高效率,简直是完美的一塌糊涂,单凭多用户而言就完爆其他操作系统;
  5. 对硬件配置要求低:最低128M内存就可以运行;

3.3. 常见的Linux系统

  1. Rpm系(使用Red Hat(红帽子)的软件库管理系统):
    • Redhat 红帽,收费,技术支持强大,资料完善,系统稳定安全;
    • Fedora 被红帽赞助,适合个人使用,免费;
    • Centos 被红帽收购,免费,系统稳定安全,很多公司在用;
  2. Dpkg系 (package manager for Debian):
    • Debian 很多公司在用,基于ubuntu(乌班图);
    • Ubuntu 基于debian的发行版,比较最受欢迎的免费操作系统,界面强大。比较适合个人用户;
    • Pear os 基于Ubuntu,仿macos;
  3. 国产linux系统:
    • 红旗Linux,真正的国产linux系统,2014年公司解散后被收购

3.4. 小结

  1. Linux是一个操作系统,有很多发行版本;
  2. 服务器:centos、redhat、Ubuntu等;

4. 虚拟机安装

4.1. 引入

  1. Linux需要在一台电脑上进行安装,获得一台电脑的方式有很多,比如网上或者实体店购买。当然现在有了更加便宜的解决方案,那就是借助虚拟机软件,使用虚拟机软件可以模拟出计算机,从而可以在上面安装任何的操作系统,大大节约了成本;

4.2. 常见的虚拟机软件

  1. vmware:虚拟机软件中的1,特点:模拟完善、有商业授权、收费软件(序列号),内存大;
  2. virtualbox:原来的sun公司,现属于Oracle,免费开源,更新及时,体积小,内存优化,兼容性不是特别好;
  3. virtual PC 微软的免费产品:仅支持windows系统(微软官方说只支持windows,其实别的系统也可以安装)现已停止更新;
  4. Hyper:微软最新的虚拟机软件;

4.3. 安装vmware

 

 

可能问题:安装完成后不能看到屏幕,即红蜘蛛控屏出现问题;

分析原因:红蜘蛛客户端使用了vmware的虚拟网卡作为网卡了,而该网卡的Ip和教师机不在同一网段;

解决方法:

  1. 重新启动红蜘蛛客户端;
  2. 先把虚拟网卡禁用,在启动红蜘蛛客户端;

 

4.4. vmware常用操作

4.4.1. 全局配置虚拟机(Linux系统)存储位置

  1. vmware是一个虚拟机软件,在Vmware上可以新建不同的虚拟机,而虚拟机是作为宿主机的一个文件而存在的,默认Vmware是安装在C盘,而虚拟机又安装在vmware目录下面的,也就是说虚拟机是在系统盘(C盘),如果宿主机重新安装系统,会导致C盘被格式化,就会让已经安装好的虚拟机被格式化了。所以需要修改虚拟机存储位置,来规避这个问题;
  2. 修改虚拟机的默认位置(也可以在安装时修改):管理----->全局设定------>常规;

 

4.4.2. 虚拟机操作

  1. 创建虚拟机

 

  1. 导入、导出:可以把已经安装好的虚拟机导出,以后需要时再导入

 

  1. 备份、还原

 

注意:初学者配置快照非常重要,如果linux中软件安装失败了,可以恢复到指定的快照版本再来一次,否则删除不干净需要重新安装lunux,非常麻烦;

5. CentOs安装

5.1. CentOs是什么

  1. CentOS(Community Enterprise Operating System,中文意思是:社区企业操作系统)是Linux发行版(红帽子)之一,它是来自于Red Hat Enterprise Linux依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定性的服务器以CentOS替代商业版的Red Hat Enterprise Linux使用。两者的不同,在于CentOS并不包含封闭源代码软件;
  2. CentOS就是一个红帽系列的开源免费的可以用做服务器的Linux系统;
  3. 此系统需要在wmware(虚拟机软件)中先新建一个虚拟机,然后再虚拟机中安装CentOS;

5.2. 虚拟一台裸机

 

 

 

 

 

 

5.3. 配置虚拟裸机

 

5.4. Centos7系统安装过程

 

注意:点击会进入Linux系统(鼠标消失),按住Ctrl+Alt退出(鼠标出现)

  1. 选择第一个是不检测安装(直接回车):

 

 

注意:由于分辨率的原因,下面的继续按钮可能显示不出来,可以虚拟机(M)--设置(前提要先关闭客户机)--显示器中--指定监视器设置--将分辨率调小一点,然后再继续安装;

  1. 选择-中文:

 

  1. 确定软件安装源和软件选择:

 

 

  1. 默认是最小安装的,这里可以选择带有桌面的选择这种模式,选择图示:

 

 

  1. 选择分区 - 自动

 

 

  1. 开启网络配置:

 

 

 

  1. 之后选择开启以太网,图示:

 

  1. 设置root密码

 

  1. 创建用户

注意:这里建议还是新建一个自己定义的用户,如果不新建,在进入系统时还是会进入欢迎页面【gnome-initial-setup】新建用户,步骤反而繁琐;

 

注意:密码设置太简单,会有警告,可以忽略,点两次完成即可忽略警告,继续执行;

  1. 安装完成后重启之后,第一次我们需要初始设置,如图示:

 

  1. 点击未接受许可安装:

 

  1. 到该界面,选择同意:

 

  1. 点击完成后图示:

 

  1. 鼠标下滑,拉动横向滚动条至末尾:

 

  1. 点击完成安装等待到图示:

 

 

 

 

  1. 点击未列出:到登录页面

 

  1. 输入root用户名点击

注意:后续操作建议使用root操作,root拥有最大权限,用其他用户登录,某些操作会受限;

 

  1. 下一步输入密码

 

  1. 点击登录

 

 

5.5. 安装完成后配置

5.5.1. 备份系统

 

5.5.2. 网络介绍

安装时候可以关闭网络,防止网络更新,当然你们不能上外网可以忽略:

 

vmware的提供了四种网络接入模式,它们分别是:

  1. Nat网络地址转换模式(NAT,Network Address Translation)
    • 只能单向访问,虚拟机可以通过网络访问到宿主机,宿主机无法通过网络访问到虚拟机;
    • 如果linux上的ip地址是自动获取的,是可以通过宿主机访问虚拟机的,但是要保证linux的ip地址网段和宿主机的虚拟网卡的网段一致;
    • 只要宿主机可以联网,那么虚拟机就可以联网,因为net方式联网是依靠宿主机的ip;
    • Net方式的ip地址是由虚拟网卡分配的;
  2. Bridged Adapter 桥接模式
    • 可以相互访问,因为虚拟机在真实网络段中有独立IP,主机与虚拟机处于同一网络段中,彼此可以通过各自IP相互访问;
    • 桥接模式的ip地址是由路由器分配的;如果宿主机能联网,虚拟机不一定能联网,如果宿主机不能联网,虚拟机也可以联网;
  3. Internal 内部网络模式
  4. Host-only Adapter 主机模式

注:宿主机,就是提供给虚拟机环境的主机。这里指的就是我们的windows系统主机;

 

        

6. CentOS软件安装

6.1. 解压源码包文件安装

特点:这种安装方式解压即安装,有的软件需要配置下环境变量(例如JDK的安装需要配置环境变量),卸载时只需要将解压包删除即可;

命令:tar -zxvf 压缩包名(后缀为.tar.gz)

例如:将jdk的tar.gz包解压到指定文件夹:

 

6.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:详细显示指令执行过程,便于排错

例子:

 

 

注:rpm命令 功能类似于Windows里面的“添加/删除程序”,但是功能又比“添加/删除程序”强很多,它就是Red Hat Package Manager(简称RPM)。此工具包最先是由Red Hat公司推出的,后来被其他Linux开发商所借用。由于它为Linux使用者省去了很多时间,所以被广泛应用于在Linux下安装、删除软件。

ivh都是rpm命令的参数,可以从rpm --help里找到说明。 意思是安装显示安装进度--install--verbose--hash

-i:表示安装(install)

-v:显示详细过程  

-h: 以#显示进度

6.3. yum在线安装

特点:将所有软件包放到官方服务器上,当进行yum在线安装时,可以自动解决依赖性问题;

缺点:安装过程中,rpm包依赖性太强;

yum命令:

  1. 查询:
    • yumlist --查询所有可用软件包列表
    • yum search 关键字 --搜索服务器上所有和关键字相关的包
  2. 安装:
    • yum -y install 包名 (-y 自动回答yes)
    • yum安装只写包名即可! eg:yum -y install gcc --c语言编译器
  3. 升级/卸载
    • 升级:yum -y update 包名
      • update:升级;
      • -y:自动回答yes;
    • 卸载:yum -y remove 包名
      • remove:卸载;
      • -y:自动回答yes;

7. 命令执行方式

7.1. 引入

  1. Linux最开始是没有图形界面的,都是通过命令操作。后面为了方便操作一些版本的操作系统把常用的操作封装图形操作,这样我们可以使用图形界面操作Linux。但并且不是所有的功能都有图形界面的,有的操作必须得命令完成。并且一般服务器都是不安装图形界面;
  2. Linux操作命令分两种:本地终端执行和远程终端执行

7.2. 本地终端

类似于windows下面的cmd;

7.2.1. 打开本地终端-必须在电脑旁边

 

在桌面右键 -- 【代开终端(E)】 -- 打开终端开始操作 -- 可以在终端右键【配置文件首选项(P)】 -- 可以设置配色方案:

 

 

7.2.2. 简单使用

  1. 查看IP:Linux(ifconfig)、windows(ipconfig)
  2. 结束当前执行命令:ctrl +C
  3. 清屏:clear
  4. 查看命令的使用方法:help

注:如果Linux处理休眠状态:按下回车键和ESC键或者EXIT重新登录

7.3. 远程访问Linux

7.3.1. 引入

  1. 虽然可以通过本地终端,访问linux,但是有的时候服务器不在咱们身边。需要远程连接并操作。
  2. 要想远程访问Linux,需要通过SSH(英文全称Secure Shell,是一种安全的协议),也是用于远程登入的。既然是远处登入工具,那么就需要有一台主机作为客户端,另一台主机作为服务器端。且在客户端上面必须要有能够远处登入的软件工具才行;

即:服务端有ssh的支持,客户端需要有连接linux的客户端软件;

7.3.2. SSH服务端的验证

 

  1. 客户端远程访问服务端必须通过SSH服务(安全协议)才行;
  2. CentOS中默认安装了SSH服务,可以通过以下指令验证:(在本地终端执行)

[root@localhost ~]# ps -ef|grep ssh

 

提示:看到有进程号6294说明ssh服务正在运行;

思考:如要在windows中连接linux,使用什么软件呢?

7.3.3. SSH客户端的安装

  1. 常见的SSH客户端软件有SecureCRT、Xshell、Putty等,一般用于Windows客户端计算机;
  2. 远程终端软件:
    • 远程登入:xshell、putty等(远程连接,类似windows远程桌面)
    • 文件上传、下载:xftp、winscp等(文件上传)
    • xshell和xftp都是xmanager的组件,所以只需要安装xmanager就ok就能搞定了。当然有的公司不一定用到这些工具;
  3. putty远程连接和winscp远程上传和下载:
    • Putty安装:绿色版,不需要安装,直接解压缩就ok
    • Winscp安装:傻瓜式安装,直接安装就ok

putty使用:

 

 

Winscp使用:

 

 

 

  1. xshell远程连接和xftp远程上传和下载:和putty和winscp大同小异(略)

注意:在windows中安装完xmanager之后,xshell和xftp都会有的;

 

注:xshell终端中文乱码问题解决:

 

注:在外观中可以选择大小;

7.3.4. CentOS防火墙操作

  1. 远程访问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

8. Linux命令

8.1. 常用命令

  1. 查看当前所在目录(用处:拷贝目录到一些配置文件):pwd
  2. 切换目录(需要到特定的目录执行命令):cd 目录名
  3. 文件名和目录名称补全:Tab
  4. 查看目录文件信息:
    • ls //列出文件信息
    • ls -l //以详细信息方式列出文件信息
    • ls –a //列出所有文件和文件夹,包含隐藏文件
    • ls -al //以详细信息方式列出所有文件信息,包含隐藏文件
    • ls 目录名  //查看该目录的文件信息
    • ll //等于ls -l
  5. 查看当前用户:
    • whoami    //查看当前操作用户
    • who am i  //查看当前登录用户(有可能是有多个的)的信息
  6. 查找命令:
    • 最强大的搜索命令:find 查找各种文件的命令 
    • 在文件资料中查找文件:locate  
    • 搜索命令所在的目录及别名信息:which 
    • 搜索命令所在的目录及帮助文档路径:whereis
  7. 切换用户:
    • su 用户名:切换用户
    • su root:普通用户切到root用户,需要输入密码;
    • su itsource:切换到itsource的用户
    • exit  //注销当前用户,返回前一用户

8.2. 文件相关命令

  1. 在学习文件相关命令之前,我们先来看一Linux的文件系统;

8.2.1. 文件系统

  1. Linux有个基本思想:一切都是文件。就是系统中的所有都可以归结为一个文件,包括命令、硬件和软件设备、操作系统、进程等等对于操作系统内核而言,都被视为拥有各自特性或类型的文件。而这些文件是以一定的结构组织的;
  2. linux系统的目录结构是一个以/(根目录)为根节点的树形结构:

 

  1. 系统目录介绍

/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掉即可

  1. 一般跟系统有关的程序或软件或需要进行配置的程序安装到/usr/local中(jdk,tomcat等),安装包可以放在/usr/local/src中;
  2. 一般第三方与系统不是很挂钩的软件放在/opt中,安装包也可以放在这里;

8.2.2. 目录相关命令

  1. 相对路径和绝对路径:
    • 绝对路径:以/(根目录)开头的路径(例如:/home、/etc/passwd)
    • 相对路径:以./开头的路径,很多时候./可以省略(指相对于当前路径):
      • ./表示当前目录(可以省略)./usr/loccal/=usr/local
      • ../表示上一级目录

注:路径的最后一个斜杠可以省略

  1. 创建目录:
    • mkdir 目录名  //创建一个目录
    • mkdir -p 目录1/目录2/目录3  //递归创建目录
  2. 删除目录:rm -rf 路径  //可以删除文件和目录    -r(递归) -f(暴力)
  3. 移动目录/修改文件名:mv dir1 dir2 如果dir2不存在,将dir1目录名修改为dir2(重命名),否则将dir1目录移动到dir2中;
  4. 复制目录:
    • cp -rf dir1 dir2 //将dir1复制一份到dir2目录(包含目录内容一起复制)
    • cp -rf dir1/* dir2 //直接复制内容(非常重要)
  5. 打包和解压:
    • tar -czvf tom.tar.gz tom -- 打包
    • tar -xzvf tom.tar.gz-C /usr/local -- 解包
    • 参数:

-c 创建一个新的tar文件           -t 参看压缩文件内容

-v 显示运行过程信息 -j 调用bzip2压缩命令执行压缩

-f 指定文件名称 -C 指定需要解压到的目录

-z 调用gzip压缩命令执行压缩   

-x 解开tar文件

8.2.3. 文件相关命令

  1. 创建文件:touch 文件路径 //创建一个空白文件
  2. 查看文件内容:cat  //将文件内容直接显示出来
  3. 打开文件、保存、关闭文件(vi命令模式下使用)

vim

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解除锁定;

9. 课程总结

9.1. 重点

  1. Linux安装;
  2. Linux命令执行方式;
  3. Linux命令;

9.2. 难点

  1. Linux安装;
  2. Linux命令执行方式;
  3. Linux命令;

9.3. 如何掌握

  1. 查看文档;
  2. 多写多练,不要光看;

9.4. 排错技巧

10. 常见问题

10.1. 虚拟机卸载

注意:虚拟机卸载需要通过控制面板卸载,建议不要装C盘,卸载时也比较方便;如果卸载不干净,重新装的时候会出现问题;

其他问题:参考resources中的linux安装问题文件夹,里面有解决方案:

问题1:Xshell不能连上linux系统

问题2:

 

问题3:在安装vm10的时候安装时出现需要更新,或版本不兼容时,可以安装vm15

11. 课后练习

  1. Linux安装;
  2. Linux命令;

12. 面试题

  1. Linux常见命令:使用到的命令(例如:创建目录,磁盘使用情况,编辑文件,切换目录等15个)

13. 扩展知识或课外阅读推荐(可选

13.1. 扩展知识

13.2. 课外阅读

这篇关于A053_项目部署_Linux介绍_CentOS的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!