[亲测,Success]Linux,VMware 安装+常用 命 令+网 络+进 程 管 理以及软件安装

安装Linux—Armyman

1、环 境 安 装

1 安装VMware,课程中使用的是VMware10的版本

2 检测系统是否支持虚拟化

在这里插入图片描述

如果是win10系统,直接打开任务管理器查看

在这里插入图片描述

在这里插入图片描述
3 如果支持,查看虚拟化是否开启

4.VMware 安装
https://blog.csdn.net/qq_43652509/article/details/83900942

5 安装完成之后,需要安装xshell

在这里插入图片描述

6 xshell连接centos7操作系统

Centos提供IP地址,如何提供呢?

A.设置Wmware的IP地址

在这里插入图片描述

B、设置操作系统的地址

在这里插入图片描述

2、Linux概 述

2.1、了 解 Unix系 统

l Unix是一个强大的多用户、多任务操作系统。

l 于1969年在AT&T的贝尔实验室开发。

l UNIX的商标权由国际开放标准组织(The Open Group)所拥有。

l UNIX操作系统是商业版,需要收费,价格比Microsoft Windows正版要贵一些。

2.2、了 解 Linux发 展 历 史

在这里插入图片描述

l Linux是基于Unix的。

l 诞生于1991 年10 月5 日。

l Linux基于GPL协议,是一个自由的,免费的,源码开放的操作系统。

l Linux存在着许多不同的Linux版本,但它们都使用了Linux内核。

2.3、Linux的 应 用 领 域

l 服务器系统

• Web应用服务器、数据库服务器、游戏服务器、接口服务器、DNS、FTP等等;

l 嵌入式系统

• 路由器、防火墙、手机、PDA、IP 分享器、交换器、家电用品的微电脑控制器等等

l 高性能运算、计算密集型应用

• Linux有强大的运算能力。IBM的Watson超级计算机就是使用Linux系统

l 桌面应用系统

• 很多桌面操作系统的底层也是Linux

l 移动手持系统

• 安卓系统就是基于Linux

2.4、Linux版 本

在这里插入图片描述

在这里插入图片描述

redhat:目前,全球最大的linux发行厂商,功能全面、稳定,但是,是收费的。

ubuntu:目前,是linux桌面操作系统做的最好的。

centos:免费版的redhat,centos基于redhat发行版基础之上,再重新编译发布的版本。

目前centos已经被Redhat公司收购,但是依然免费

3、安 装 Linux

3.1、安 装 虚 拟 机 软 件

在这里插入图片描述

常用的虚拟机软件 主要包括:VirtualBox、VMware Workstation、Virtual PC

VirtualBox: VirtualBox 是一款开源虚拟机软件。VirtualBox 是由德国 Innotek 公司开发,由Sun Microsystems公司出品的软件,使用Qt编写,在 Sun 被 Oracle 收购后正式更名成 Oracle VM VirtualBox

VMware Workstation: 是VMware公司销售的商业软件产品之一。该工作站软件包含一个用于英特尔x86相容电脑的虚拟机套装,其允许用户同时创建和运行多个x86虚拟机

Virtual PC:是Microsoft 最新的虚拟化技术。主要适合做微软自己产品的服务

3.2、安 装 Centos7系 统

https://blog.csdn.net/qq_43652509/article/details/83903205

3.3、网 络 三 种 连 接 方 式 讲 解

3.3.1、Bridged桥接模式

这种方式下,虚拟机就像一台真正的计算机一样,直接连接到实际的网络上,与宿主机没有任何联系。

在这里插入图片描述

3.3.2、Host-only仅主机模式

这种方式下,虚拟机的网卡连接到宿主的 VMnet1 上,但系统并不为虚拟机提供任何路由/上网服务,因此虚拟机只能和宿主机进行通信,而不能连接到实际网络上。

在这里插入图片描述

3.3.3、NAT模式

这种方式下,虚拟机的网卡连接到宿主的 VMnet8 上。此时系统的 VMWare NAT Service 服务就充当了路由器的作用,负责将虚拟机发到 VMnet8 的包进行地址转换之后发到实际的网络上,再将实际网络上返回的包进行地址转换后通过 VMnet8 发送给虚拟机。VMWare DHCP Service 负责为虚拟机提供 DHCP 服务。

在这里插入图片描述

总结:

虚拟机的三种网络连接方式:

1 桥接模式:虚拟机是一台独立的电脑

2 仅主机模式(host-only):虚拟机可以访问宿主机,虚拟机无法上网,宿主机无法访问虚拟机

3 NAT模式:虚拟机可以访问宿主机,宿主机可以访问虚拟机

此时宿主机相当于路由器,虚拟机可以通过宿主机上网

       宿主机可以配置254个虚拟机

3.4、配 置 动 态 IP

什么是动态IP?每次IP地址都可发生改变?

第一步:使用root用户登录(即root/123456),修改IP地址(vi /etc/sysconfig/network-scripts/ifcfg-ens33):

在这里插入图片描述

在这里插入图片描述

按字符键“i”进入编辑模式,修改/etc/sysconfig/network-scripts/ifcfg-ens33文件内容如下:

在这里插入图片描述

在这里插入图片描述

按“esc”键后,输入:wq回车,完成配置文件编辑。

输入:service network restart命令重启网卡,生效刚刚修改ip地址,ping www.baidu.com测试网络连通性。

在这里插入图片描述

好了,至此,CentOS7操作系统安装成功了。

3.5、设 置 静 态 ip 地 址 ( 推 荐 )

配置网络的目的主要是为了固定虚拟机的内网IP,方便我们在真实的操作系统中使用Linux连接工具软件进行远程连接

修改IP地址(vi /etc/sysconfig/network-scripts/ifcfg-ens33)

在这里插入图片描述

按“esc”键后,输入:wq回车,完成配置文件编辑。

输入:service network restart命令重启网卡,生效刚刚修改ip地址,ping www.baidu.com测试网络连通性。

在这里插入图片描述

注意:Linux系统中是严格区分大小写的,写明令时不要写错

3.6、给 虚 拟 机 进 行 快 照

快照其实就是还原点,我们设置了快照。以后如果被我们玩坏了,也可以快速的还原到以前状态!

在这里插入图片描述

3.7、安 装 远 程 连 接 工 具

直接操作Linux系统所在机器的问题:

A:虚拟机有鼠标独占问题,不好操作

B:真实开发中,虚拟机与我们不在一起。

使用远程连接工具:

A:操作方便快捷

B:随时随地都可以连接Linux系统,方便管理

3.7.1、远程终端命令工具

主要功能是向Linux系统远程发送命令

Xshell:目前最好用

Secure Shell Client:老牌的连接工具,对中文支持较差

SecureCRT:收费

Putty:早就停止维护了,很多东西支持的很差。但因为习惯依旧很多人支持

我们使用XShell5,安装时安装免费版

在这里插入图片描述

使用步骤:
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

3.7.2、远程FTP工具

FTP工具的目的是:便捷的与Linux系统之间进行文件传输

有以下途径:

Xftp:配合XShell使用,支持简单在线编辑

Secure Shell Client:自带FTP工具

SecureFX:配合SecureCRT使用

Lrzsz:可以安装在Linux系统中,通过在远程终端中使用命令来实现FTP功能

我们使用Xftp。

在这里插入图片描述

如果要向Linux进行文件传输,可以在Xshell界面中,点击文件传输按钮,自动就会打开我们安装的Xftp了:

在这里插入图片描述

在这里插入图片描述

通过XFTP工具,我们可以让本机操作系统和linux系统之间进行文件的上传和下载。

4、Centos7的 使 用 ( 无 界 面 )

4.1、几 个 基 本 的 Linux指 令

我们先来学习一套最基本的指令。

4.1.1、ls指令

ls,列出目录中所有可见的文件和目录。

在这里插入图片描述

ls -a,列出目录中所有的文件和目录。(以.开头的文件是隐藏的)
在这里插入图片描述

ls -l,列出文件和目录的详细信息。

在这里插入图片描述

drwxr-xr-x 第一个字符有3种情况:“-”表示普通文件,“d”代表目录,“l”代表连接文件,“b”代表设备文件。

紧接着的数字2代表 “aa”这个目录下的目录文件数目

ls -al,列出所有文件和目录的详细信息。

在这里插入图片描述

总结:

ls命令

ls 列出所有非隐藏的文件

ls -a:列出所有隐藏和非隐藏的文件

ls -l:缩写ll,列出所有非隐藏文件的详细信息

ls -al:列出所有隐藏和非隐藏的文件的详细信息

4.1.2、clear指令

clear,清除屏幕上的内容。

4.1.3、exit指令

exit,退出登录状态。

4.1.4、reboot指令

reboot,重启。

4.1.5、shutdown指令

shutdown主要用来关机。

shutdown -h now // 马上关机

4.2、指 令 快 捷 输 入

因为Linux中需要输入很多指令来操作,为了提高指令输入速度,Linux提供了以下方法。

4.2.1、历史指令

使用上、下箭头可以找出上一条指令和下一条指令。

4.2.2、代码补全

使用tab键可以快速输入指令。

比如:我要输入shutdown指令,这时,我们可以只输入shut然后按下tab键,即可自动把shutdown补全。

思考:为什么只输入s无法实现代码补全?

因为以s开头的指令,很多不只一个,所以不知道应该补哪个。但是我们可以按两个tab键,这时会把所有以s开头的指令都列出来:

按了两个tab,提示共有129个以s开头的指令真的要都显示出来吗?这时如果按y就会列出,如果按n就不会列出来。

在这里插入图片描述

按y之后会列出所有以s开头的指令,但因为129个比较多,而在电脑中无法一次全显示出来,所以先显示一部分:(More代表还有更多,这时按回车就可以向下滚动)
在这里插入图片描述

总结:

Clear:清屏

Reboot:重启

Exit:断开连接

Shutdown -h now:立即关机

Tab:补全

Pwd:获取当前位置的全路径

5、Linux的 结构

5.1.1、windows系统的目录结构

在windows中目录结构是从C、D、E等盘符开始的:

在这里插入图片描述
在这里插入图片描述

C、D、E这些盘符的关系是平等的,属于同一级。

5.1.2、Linux目录结构

在Linux中并没有C、D、E等盘符,直接就是一个树形结构的目录(Linux中只有一棵树):
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

目录结构总结:

1:Linux中的根目录就是/,没有windows中的盘符

2:Linux中如果有新的用户创建,默认会在/home/下创建一个与用户名一样的文件夹,作为该用户的home文件夹

3:root用户的HOME在/root文件夹下。比较特殊

4:一般我们安装文件都放在 /usr/software这个文件夹下

5:/etc下有很多系统的配置文件

6、Linux基 本 命 令

6.1、Linux命 令 的 格 式

Linux命令,其实就是Shell命令,是我们学好Linux的关键。

注意:

A:通过上下方向键来调取过往执行过的命令。

B:命令或参数仅需输入前几位就可以用tab键补全。

格式:

**命令名称** **[****命令参数****] [****命令对象****]**
命令名称:有很多,我们会学习其中重要的一些

命令参数:可选,有两种格式:

       长格式:--help

       短格式:-h

命令对象:可选,就是命令作用的目标,可以是文件、目录、URL等等

例如:

rm –f 1.txt

注意:Linux中的命令严格区分大小写的!

6.2、目 录 操 作 命 令

Linux中并没有文件夹的概念,应该叫目录。

在这里插入图片描述

在这里插入图片描述

6.2.1、查看当前目录

使用 pwd 指令可以查看当前所在的目录。

~代表当前是家目录,使用pwd可以查当前家(当前用户所在的目录)目录的绝对路径:

在这里插入图片描述

/home/用户名 — 家目录

6.2.2、切换目录

使用cd可以切换到其它目录。

Linux中有很多目录可以使用cd切换到任何一个目录中:

在这里插入图片描述

例1、切换到根目录:

在这里插入图片描述

例2、切换到/home目录:

在这里插入图片描述

总结:可以切换到任何一个现有的和我们自己创建的目录中。

面试题:在linux中~和/ 的区别:

在这里插入图片描述

6.2.3、创建目录

可以使用mkdir 指令创建目录。

创建目录时可以使用 相对路径 也可以使用 绝对路径。

例1使用绝对路径创建目录。

在这里插入图片描述

因为已经有/root目录了,所以在root中创建abcde可以直接创建,但是如果要一次创建多级目录就可以添加 -p 参数了。

例2、创建 /root/a/b/c/d/目录。

注意:因为root下没有a,也没有b,c,d,e,目录,所以要一次性同时创建多级目录需要加 -p 参数

在这里插入图片描述

例3使用相对路径在当前目录下创建abc目录。

回顾:./ 代表当前目录, …/ 代表上一级目录。

在这里插入图片描述

例4、创建的时候显示创建信息

注意:创建的时候显示创建信息,需要加上参数v

在这里插入图片描述

6.2.4、复制目录

可以使用 cp -r 指令复制目录及目录中的子目录。

-r : 递归

说明:cp是复制的意思,但对于目录来说还要加上 -r 这个参数代表连同目录中的子目录和文件一起复制。

例1复制当前目录下的abc目录,新复制出来的目录叫做abc2:

在这里插入图片描述

Copy

6.2.5、移动目录

可以使用 mv 指令移动目录。

Move

例1:把当前目录下的abc目录移动到当前目录下的abc2目录中。

在这里插入图片描述

6.2.6、删除目录

可以使用 rm -rf 指令删除目录及目录中的子目录和文件。

Remove

参数说明:

-r :递归的删除(删除子目录和文件)。

-f :强制删除(没有任何提示直接删除)。

例:删除当前目录中的abc2目录。

在这里插入图片描述

注意:该指令在使用时,一定要小心!定要小心!要小心!小心!心!! –删了就找不回来了。

6.2.7、重命名

可以使用mv 指令对目录重新命名。

例:把当前目录下的a目录改名为b目录。

在这里插入图片描述

总结:

mkdir:创建目录,当有多级目录的时候,使用-p

cp:复制目录,当有多级目录的时候,使用-r 递归

mv:移动目录+重命名目录

rm:删除目录,当有多级目录的时候,使用-rf

6.3、打 包 和 解 压 命 令

压缩也是一种打包,压缩的原理是将文件中相同的信息用一个字符代替,致使文件体积变小达到压缩的目的,压缩对于文本类或数据类文件有较明显的作用。

打包就是将一些文件放在一起变成一个包,便于保存和传输,图片和视频数据因为不象文本一样,因此多个文件在压缩的时候没有明显效果,因此只能做打包,进行保存。

在这里插入图片描述

Windows系统下常见的压缩文件:

*.zip

*.rar

*.7z

Linux系统下常见的压缩文件:

*.Z compress程序压缩的文件

*.gz gzip程序压缩的文件

*.bz2 bzip2程序压缩的文件

*.tar tar程序打包的数据,并没有压缩过

*.tar.gz tar程序打包并经过gzip压缩

*.tar.bz2 tar程序打包并经过bzip2压缩

6.3.1、.tar命令

打包:tar -zcvf FileName.tar DirName

解包:tar -zxvf FileName.tar

tar命令参数介绍:

-c: 建立压缩档案 create

-x:解压

-t:查看内容

-r:向压缩归档文件末尾追加文件

-u:更新原压缩包中的文件

这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。

下面的参数是根据需要在压缩或解压档案时可选的。

-z:有gzip属性的

-j:有bz2属性的

-Z:有compress属性的

-v:显示所有过程

-O:将文件解开到标准输出

-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。

案例一:将a目录打包为 a.tar

在这里插入图片描述

案例二:解包

在这里插入图片描述

总结:

tar命令仅仅实现对数据打包。不进行压缩。我们一般处理文件,都是同时进行打包和压缩。因此要加上参数。
因为要压缩,所以加上参数-z

因为要显示运行过程,因此加上-v

因为要指定文件名称,因此加上-f

最后,如果是打包,则用-c;如果是解压,则用--x

因此,最终命令为:

   tar -zcvf 压缩后文件名.tar.gz 目标文件      :打包并压缩目标文件

   tar -zxvf 要解压的文件名                :解压缩到当前目录

   tar -zxvf 要解压的文件名 -C 目标目录     :解压到目标目录

注意,一般Linux中的压缩文件都是 .tar.gz

6.4、文 件 操 作 命 令

Linux中的哲学:“所有东西都是一个文件”。

Linux中所有的东西(硬盘、目录、网络连接、U盘、光驱等等)都会当作一个文件来处理。

6.4.1、介绍

windows中的文件由 文件名.扩展名 两部分组成。扩展名直接决定了这个文件的类型,以及将会使用哪种软件来打开运行。

  1. Xx.doc    word文件
  2. Xxx.java  文件
  3. Xxx.js    js文件
  4. Xxx.xls
  5. Xx.ppt

Linux中并没有扩展名的要求,不过为了便于区分文件,我们一般也会给文件加上一个扩展名。

6.4.2、隐藏文件

Linux系统中以 . 开头的文件是隐藏的文件,使用 ls 命令是查看不到这些文件的,必须要加上 -a 参数才可以查看到隐藏的文件。

我们在平时开发时会看到很多以 . 开头的文件,比如 .htaccess 。这些文件都是考虑到在Linux用来隐藏用的。

6.4.3、目录与文件的区分

当我们使用ls命令列出目录中的所有子目录和文件时,如何区分哪些是文件哪些是目录?

可以通过详细信息中第一列的信息来区分:以d开头的是目录,以-开头的是文件。

在这里插入图片描述

6.4.4、文件相关的指令

6.4.4.1、创建文件

可以使用 touch 指令创建文件。

touch 绝对路径/相对路径

例:当前目录下创建一个hello文件。

在这里插入图片描述

6.4.4.2、复制文件

可以使用 cp 复制文件。

cp 旧文件 新文件

例:复制当前目录下的hello文件,新复制出来一个hello2文件:

在这里插入图片描述

6.4.4.3、移动文件

可以使用 mv 移动文件。

mv 原文件 移动后的文件

例:把当前目录下的hello移动到当前目录下的abcd目录下(先有这个目录):

在这里插入图片描述

6.4.4.4、删除文件

可以使用 rm 删除文件。

语法1:删除前先提示

rm 要删除的文件

提示时按y删除,n不删除。

在这里插入图片描述

语法2:直接删除,没有任何提示

rm -f 要删除的文件

例:删除hello2文件

在这里插入图片描述

6.4.4.5、重命名文件

可以使用 mv 重命名文件。(移动时改名)

mv 原文件 新文件

例:把当前目录下的hello改名为helloworld。

在这里插入图片描述

6.4.4.6、查找文件

接下来学习如何在系统中查找文件。Linux中提供了很多好用的指令来查找文件。

find指令

find是功能最多的查找指令,可以根据各种条件查询文件。

语法

find 查找的目录 选项 值

例1、在/etc目录下查找所有*.conf.d结尾的文件

find /etc -name “*.conf.d”

在这里插入图片描述

扩展:程序的中断

在Linux系统中可以使用 ctrl+c 快捷键来中断当前程序的执行。

6.4.5、文件命令总结

命令 目录 文件
mkdir 创建目录,多级目录使用,-p
touch 创建文件
cp 复制目录,多级目录使用-r 复制文件
mv 移动+重命名 移动+重命名
rm 删除,多级目录-rf 删除,-f不询问
find 查找文件
tar -zcvf 打包 -zxvf 解包 打包+解包 打包+解包

6.5、查 看 文 件 内 容 命 令

在这里插入图片描述

在这里插入图片描述
注意:tail和grep命令非常重要,一定要掌握

6.5.1、cat命令

cat filename 输出文件所有内容

6.5.2、more和less命令

more 查看更多内容

退出:按q键

空格:查询下一屏内容

less 用法和more类似,不同的是less可以通过PgUp、PgOn键来控制。

6.5.3、tail命令(重要)

tail 用于显示文件后几行的内容

tail -10 /etc/password 查看后10行数据

tail -f catalina.log 动态查看日志,可以实时的得到新追加到文件中的信息,常用来跟踪日志文件。

tail -200f catalina.log 动态显示日志最后200行

Ctrl + C 结束查看

6.5.4、grep命令

l 查找符合条件的字符串。

l 用法: grep [选项]… PATTERN [FILE]…

l 示例:

• grep lang anaconda-ks.cfg 在文件中查找lang

• grep lang anaconda-ks.cfg --color 高亮显示

grep location nginx.conf 查找字符串location并且高亮显示、显示查找到的元素的前、后5行内容。

查看进程:

ps -ef | grep java

ps -ef | grep tomcat

6.6、编 辑 文 件 内 容 :vi编 辑 器

l 在Linux下一般使用vi编辑器来编辑文件。

l vi既可以查看文件也可以编辑文件。

l 而vim是vi的升级版本,具备更多的功能

l vi如果目标文件不存在,会创建新的文件。但是如果新文件没做编辑,退出后还会消失。

6.6.1、vi的三种模式介绍

在这里插入图片描述

编辑模式:对文本进行输入和修改

底行模式:退出vim或者查找、替换功能

命令模式:通过快捷命令操作数据,打开vi默认就是命令模式

6.6.2、编辑模式

命令模式按下:i、o、a进入编辑模式:

i:光标不动

o:另起一行

a:光标到下一个字符

按ESC退出编辑模式,进入命令模式

6.6.3、底行模式

命令模式下,按‘:’或者‘/’进入底行模式,可以输入命令

1)退出vim:

:q 未编辑时退出vim

:q! 编辑后,退出并且不保存

:wq 编辑后,退出且保存

2)查找

/文本 搜索指定文本,高亮显示,按n显示下一个,按N显示前一个

:整数 快捷跳转到指定行

6.6.4、命令模式(了解)

dd 剪切当前行

5dd 剪切光标及下面共5行

yy 复制光标所在行

5yy 复制光标及下面共5行

p 将之前dd或yy的数据粘贴到光标位置

R 进入替换模式,输入的任何数据都直接替换光标所在位置数据

在这里插入图片描述

6.7、组 合 命 令 ( 掌 握 )

Linux中的命令组合后,可以产生神奇的效果!

6.7.1、重定向输出>和>>

在这里插入图片描述

例1:a.txt中内容为Hello,b.txt中内容为world,将内容合并到c.txt中

在这里插入图片描述

例2:a.txt中内容为Hello,b.txt中内容为world,c.txt中内容为Hello World,将内容合并并追加到c.txt中
在这里插入图片描述

6.7.2、管道 “|”

在这里插入图片描述

6.7.3、逻辑控制&&

在这里插入图片描述

在这里插入图片描述


7、网 络

7.1、虚 拟 机 的 三 种 网 络 连 接 方 式

7.1.1、Bridged桥接模式

这种方式下,虚拟机就像一台真正的计算机一样,直接连接到实际的网络上,与宿主机没有任何联系。

在这里插入图片描述

7.1.2、Host-only仅主机模式

这种方式下,虚拟机的网卡连接到宿主的 VMnet1 上,但系统并不为虚拟机提供任何路由服务,因此虚拟机只能和宿主机进行通信,而不能连接到实际网络上。

在这里插入图片描述

7.1.3、NAT模式

这种方式下,虚拟机的网卡连接到宿主的 VMnet8 上。此时系统的 VMWare NAT Service 服务就充当了路由器的作用,负责将虚拟机发到 VMnet8 的包进行地址转换之后发到实际的网络上,再将实际网络上返回的包进行地址转换后通过 VMnet8 发送给虚拟机。VMWare DHCP Service 负责为虚拟机提供 DHCP 服务。

在这里插入图片描述

7.2、配 置 文 件

配置网络时的几个重要参数:IP、Netmask、Gateway、DNS IP。

在这里插入图片描述

网卡配置文件

名称 配置文件 重要参数
网卡配置 /etc/sysconfig/network-scripts/ifcfg-ens33 DEVICE=物理设备名 IPADDR=IP地址 NETMASK=掩码值 NETWORK=网络地址 BROADCAST=广播地址 GATEWAY=网关地址 ONBOOT=[yes|no](引导时是否激活设备) USERCTL=[yes|no](非root用户是否可以控制该设备) BOOTPROTO=[none|static|bootp|dhcp](引导时不使用协议|静态分配|BOOTP协议|DHCP协议) HWADDR = 你的MAC地址NM_CONTROLLED=额外网管软件,建设设置为no
私有DNS /etc/hosts IP 主机名 别名
DNS服务器 /etc/resolv.conf NAMESERVER ip地址
主机名 /etc/hostname /etc/hosts 修改主机名需要重新启动电脑:reboot

在这里插入图片描述

7.3、网 络 管 理 指 令

重启网络服务

Service network restart

7.4、常 用 指 令

7.4.1、ip指令(掌握)

ip是一个功能强大的综合性网络指令,可以查看网卡接口、路由、IP等功能。

查看网卡IP信息 ------------------- centos6.x ifconfig

ip addr

在这里插入图片描述

查看网卡数据数据统计信息

ip -s link

7.4.2、ping指令

ping,可以用来检测两台连接的连接情况。

语法:

ping -c 数字 IP/主机名

-c:连接的次数。

-W:最长等待的秒数。

7.4.3、ss(掌握)

ss,指令,可以用来查看网络接口。在centos7之前的版本中常用的是netstat这个指令。

ss -参数列表

常用参数:

a:浏览所有接口。

n:解析服务名为端口号数字

t:tcp

l:监听的

p:显示使用socket的进程信息

u:udp

例1:查看当前运行的所有tcp服务器,显示服务名。

在这里插入图片描述

例2:查看当前运行的所有tcp服务器,显示端口号。

在这里插入图片描述

8、软 件 的 安 装

Linux上的软件安装只有root账号才可以完成。

8.1、三 种 安 装 方 法

Linux系统下的软件安装有三种方法。

8.1.1、tarball:源代码安装。

优点:软件根据实际的机器硬件进行配置和编译,性能最好、最稳定。

缺点:需要使用源代码编译、安装,比较麻烦。

tarball就相当于我们自己做馒头一样,自己买面,合面,自己蒸,虽然比较麻烦,但是自己做的很香,还可以根据自己的口味调整。

在这里插入图片描述

大部分的tarball安装的命令执行方式如下:

l ./configure 这个步骤是建立makefile这个文件

l makeclean 消除下上次编译过的目标文件之类的,不是必须要有,但保险起见还是做一下

l make 会依据makefile当中默认工作(也就是第一个)进行编译行为,主要是进行gcc将源码编译成为可执行的目标文件,而这个可执行文件放置在目前所在的目录之下

l make install 一般是最后的安装步骤,make会依据makefile关于install的选项,将上个步骤所编译完成的数据安装到默认的目录中

参考学习:https://blog.csdn.net/wangzengdi/article/details/32988275

8.1.2、rpm:二进制安装包安装。

优点:安装包直接运行安装,相对tarball简单些。

缺点:存在包依赖的问题,安装时需要手动下载很多安装包。

包依赖:安装A包时,报错提示需要B包,下载安装B包时,报错提示需要C包。。。。一直要把所有用的包都下载安装才可以。rpm解决了这个问题。

rpm相当于成品馒头,买回来直接吃。

在这里插入图片描述

1、找到相应的软件包,比如soft.version.rpm,下载到本机某个目录;
2、打开一个终端,su -成root用户;
3、cd soft.version.rpm所在的目录;
4、输入rpm -ivh soft.version.rpm

8.1.3、yum:自动下载二进制包安装。

rpm方式在安装软件时需要自己下载软件,还要解决包依赖,而yum解决了这个问题,yum只需要执行几个命令就可以自动下载并安装软件。

优点:最简单方便的安装方式,只要一条指令,系统就可以自动下载并安装所有的包。

缺点:1. 必须要有软件源(连网或者搭建软件源) 2. 有些软件没有yum包,不能使用yum安装,比如nginx等。

yum,就像外卖一样,一个电话,香喷喷的饼头和菜就送到家了,非常方便。
在这里插入图片描述

总结:如果能够连网使用yum安装软件是最方便的,如果yum安装不了,可以考虑rpm和tarball。

8.2、rpm安 装 ( 掌 握 )

使用rpm非常的简单只需要几个指令。

8.2.1、查询软件

指令1、列出所有已安装的软件

rpm -qa

指令2、查看是否安装了某个软件

rpm -q 软件名

例、查看是否安装了vim。

在这里插入图片描述

指令3、查看某个已安装的软件的信息

rpm -q[licdR] 已安装的软件名

-l:列出该软件所有的文件和目录

-i:列出该软件的详细信息,如开发商、版本、说明等

-c:列出该软件所有的配置文件(一般在/etc目录下)

-d:列出该软件所有的帮助文件

R:列出该软件依赖软件所包含的文件

例、查看python软件安装之后所有文件的路径。

在这里插入图片描述

指令3、查找某个文件属于哪个软件

rpm -qf 文件名

8.2.2、安装rpm软件包

指令

rpm -ivh 软件包

-i:安装

-v:查看更详细的安装信息界面

-h:以安装信息栏显示安装进度

–prefix=安装路径:安装的目录,如果不设置会安装到默认目录中

–test:测试一下是否可以安装

注意:在一其它的Linux版本中,比如ubuntu。用的是dpkg机制。

安装目录:使用–prefix可以指定安装的目录,如果没有指定,默认会安装到以下几个目录中:

安装的软件主要包含以下几部分:可运行的程序、配置文件、手册、说明文档。

目录 说明
/usr/bin 可运行的程序
/etc 配置文件
/usr/share/doc 说明文档
/usr/man/man1 手册

8.2.3、更新软件

指令

rpm -Uvh 软件包

8.2.4、卸载软件

指令

rpm -e 已安装的软件名

8.2.5、重建rpm数据库

由RPM文件会经常 安装/删除/升级 等,某些操作或许会导致RPM数据库/var/lib/rpm/内的文件损坏。这时我们就需要重建一下RPM的数据库:

rpm --rebuilddb

8.2.6、RPM的包依赖问题

RPM可以很方便实现软件包的管理,但是却有一个最最麻烦的问题:“包依赖”。

包依赖,当我们安装A软件时,会报错提示需要先安装B,这时我们安装了B软件之后,又报错会提示我们需要先安装C。。。。。最终我们为了安装好一个软件,需要把所有相关的依赖包都下载来先安装,这就会花费我们大量的时间。

同时在卸载软件时也要非常的小心,因为如果卸载的软件包被其它软件所依赖,那么这个软件卸载之后还会导致其它依赖它的软件也无法使用。

如何解决呢?

使用YUM。

8.3、yum安装

yum安装的好处是无须手动下载软件,只能简单几个指令,yum就会自动帮我们下载并完成安装。

8.3.1、yum指令:

指令 描述
yum search 软件名 查找软件
yum info 软件名 查看软件信息
yum list 列出yum服务器上所有的软件包
yum list updates 列出可供升级的软件有哪些
yum install 软件名 安装软件
yum update 软件名 更新软件
yum remove 软件名 删除软件
yum repolist all 列出所有软件源

注意:在一其它的Linux版本中,比如ubuntu。不叫yum,叫做apt-get,虽然软件不同,但原理相同。

例、安装vim软件。(前提:需要联网。)

先查找有没有这个软件

在这里插入图片描述

搜索到了几个vim,选择一个合适的安装:

在这里插入图片描述

安装时会询问你是否下载安装相关的依赖包,按y同意即可:

在这里插入图片描述

可以看到需要30多个依赖包,这些包yum会自动帮我们下载安装,非常的方便,如果我们自己使用rpm来安装,那简直是恶梦!

8.3.2、yum的配置文件

yum下载软件时,必须要先有一个软件源,否则yum不知道从哪里才可以下载,软件源是通过yum的配置文件来配置的:/etc/yum.repos.d/CentOS-Base.repo。

在这里插入图片描述

这个文件中有多个软件源,以上图中有三个(每个[xx]开始的就代表一个软件源)

[xxx]:软件源名字,xxx就是名字。

name:显示软件源时的名字,不太重要。

mirrorlist=:列出可以使用的站点。

baseurl=:这个最重要,资源实际的地址

enable=1:是否启动,0代表不使用

因为yum有缓存的功能,如果我们修改了软件源需要清除一个现有数据

yum clean all

8.4、安 装 gcc-c++的 编 译 环 境

很多程序是C语言开发,安装这些程序前需要安装编译环境,gcc-c++。两种方式安装gcc-c++

方式一:rpm方式安装

方式二:yum安装

8.4.1、rpm 和yum的区别

rpm是由红帽公司开发的软件包管理方式,使用rpm可以方便的进行软件的安装、卸载、升级、查询等工作。但是rpm软件包之间可能有依赖关系,处理这些依赖性问题往往会很繁琐。例如使用rpm安装gcc环境时,首先要有gcc的rpm包,如果没则需要下载gcc的软件包并上传到Linux服务器,但是在安装gcc-c++时,会出现如下错误提示

在这里插入图片描述

8.4.2、rpm安装gcc-c++

安装步骤:1 提供gcc-c++需要的软件包

2 rpm安装

在这里插入图片描述

意思是gcc-c++环境需要依赖gcc、libmpfr、libstdc这3个包,费了九牛二虎之力从网上找到这3个包并上传到服务进行安装,但是!在安装这3个包时,又会出现新的类似的错误提示,然后接下来:下载、安装、看到错误提示、下载、安装、看到错误提示、下载、安装……最后终于搞定了!

整个过程安装了N个软件包,而且需要按照一定的顺序安装,显然你的内心是崩溃的!

最终完成的安装方式:

1、上传gcc-c++环境所需的所有软件包

2、执行安装,直接使用如下命令32****位:

rpm -ivh --nodeps cloog-ppl-0.15.7-1.2.el6.i686.rpm

rpm -ivh --nodeps cpp-4.4.7-18.el6.i686.rpm

rpm -ivh --nodeps gcc-4.4.7-18.el6.i686.rpm

rpm -ivh --nodeps gcc-c+±4.4.7-18.el6.i686.rpm

rpm -ivh --nodeps libstdc+±devel-4.4.7-18.el6.i686.rpm

rpm -ivh --nodeps mpfr-2.4.1-6.el6.i686.rpm

rpm -ivh --nodeps ppl-0.10.2-11.el6.i686.rpm

64****位:

rpm -ivh --nodeps cloog-ppl-0.15.7-1.2.el6.x86_64.rpm

rpm -ivh --nodeps cpp-4.4.7-18.el6.x86_64.rpm

rpm -ivh --nodeps gcc-4.4.7-18.el6.x86_64.rpm

rpm -ivh --nodeps gcc-c+±4.4.7-18.el6.x86_64.rpm

rpm -ivh --nodeps libstdc+±devel-4.4.7-18.el6.x86_64.rpm

rpm -ivh --nodeps mpfr-2.4.1-6.el6.x86_64.rpm

rpm -ivh --nodeps ppl-0.10.2-11.el6.x86_64.rpm

8.4.3、yum安装gcc-c++

安装命令:yum install gcc-c++

OK

9、系 统 服 务

服务,是指常期运行,常驻内存中的进程,比如,apache、mysql、ssh等。

9.1、服务与端口

每个服务软件一般在运行时都会对应一个端口。

查看监听的端口

ss –lntp

在这里插入图片描述

9.2、防 火 墙 及 防 火 墙 设 置

CentOS 7.0默认使用的是firewall作为防火墙

查看防火墙状态

firewall-cmd --state

9.2.1、直接关闭firewalld防火墙

关闭防火墙:systemctl stop firewalld

防火墙状态:systemctl status firewalld

9.2.2、iptables 防火墙失效的问题

卸载Firewall并安装iptables后重新安装回Firewall。安装Firewall启动时,提示

Failed to start firewalld.service: Unit firewalld.service is masked.

systemctl unmask firewalld.service

此时可以正常启动Firewall了。

接下来顺便讲述一下Firewall的安装,及一些简单配置。

查看状态,看电脑上是否已经安装 firewalld

#systemctl status firewalld

#yum install firewalld //安装firewalld 防火墙

#systemctl start firewalld.service //开启防火墙

# systemctl stop firewalld.service //关闭防火墙

# systemctl enable firewalld.service //设置开机自动启动

# systemctl disable firewalld.service //设置关闭开机制动启动

#firewall-cmd --reload //在不改变状态的条件下重新加载防火墙

启用某个服务

# firewall-cmd --zone=public --add-service=https //临时

# firewall-cmd --permanent --zone=public --add-service=https //永久

开启某个端口

#firewall-cmd --permanent --zone=public --add-port=8080-8081/tcp //永久

#firewall-cmd --zone=public --add-port=8080-8081/tcp //临时

查看开启的端口和服务

#firewall-cmd --permanent --zone=public --list-services //服务空格隔开 例如 dhcpv6-client https ss

#firewall-cmd --permanent --zone=public --list-ports //端口空格隔开 例如 8080-8081/tcp 8388/tcp 80/tcp

#systemctl restart firewalld.service //修改配置后需要重启服务使其生效

#firewall-cmd --zone=public --query-port=8080/tcp //查看服务是否生效(例:添加的端口为8080

10、进 程 管 理

如何查看当前正在运行的程序呢?

10.1、ps 指 令(掌 握)

查看当前系统中正在运行的所有的程序

ps 正在运行的某个进程的状态

ps –ef 查看所有进程

ps –ef | grep ssh 查找某一进程

ps -aux命令可以查看更详细的进程信息!

kill 杀掉某一进程

kill 2868 杀掉2868编号的进程

kill -9 2868 强制杀死进程

在这里插入图片描述

10.2、top指 令 ( 掌 握 )

top可以动态的查看程序的变化,可以用来观察每个进行CPU、内存的占用率。

top -d 数字

-d:更新的秒数。

查看进程的CPU、内存占用率。在这个界面可以使用几个按键实现交互:

M :根据内存占用率排序。

P :根据CPU占用率排序。

q :退出。

在这里插入图片描述

10.3、kill指 令 ( 掌 握 )

可以使用 kill 指令关闭一个正在运行的程序。

kill -信号 进程id

常用信号:

-9:强制关闭程序。

-15:正常关闭程序。

进程id:可以通过 ps 指令查看到。

10.4、工 作 管 理 ( 了 解 )

10.4.1、丢到后台

我们可以把一个程序丢到后台去执行,这样我们可以在前台继承做其它的工作。

按 ctrl + z 把当前工作丢到后台

这个指令会把工作丢到后台并让它处于“暂停”状态。

10.4.2、查看后台工作

可以使用 jobs 指令查看后台中运行的程序。

10.4.3、后台拿到前台

可以使用 fg 工作号 把后台运行的工作拿到前台来运行。

10.4.4、在后台运行

可以使用 bg 指令让一个程序在后台运行,而不是暂停。

10.4.5、关闭后台程序

可以使用 kill 指令关闭一个后台正在运行的程序。

kill -信号 %工作号

常用信号:

-9:强制关闭一个工作。

-15:正常关闭一个工作。

11、用 户 及 组 管 理

11.1、用 户 管 理

在这里插入图片描述

查看用户:

id        : 查看当前用户

id 用户名  : 查看指定用户

11.2、组 管 理

在这里插入图片描述

11.3、用 户 信 息 文 件

在这里插入图片描述

11.3.1、用户文件

在这里插入图片描述

11.3.2、密码文件

在这里插入图片描述

11.3.3、组文件

在这里插入图片描述

12、权 限 管 理

我们查看文件列表时,前面有一串信息:

在这里插入图片描述

其含义是:

在这里插入图片描述

读取权限 4

写:2

执行:1

读取+写:6

读+执行:5

写+执行:3

所有:7

7 7 7

7 6 6

7 5 5

12.1、文 件 类 型

第一个位置代表的是Linux中的文件类型:

在这里插入图片描述

创建软连接的方式: 注意 只能对文件操作,不可对目录操作

ln -s 源文件地址 联接地址

例如:

1 现在usr下面创建jdk文件夹

img

2 执行

ln -s /usr/software/jdk1.8.0_181/bin/java  /usr/jdk

这样就用 /usr/jdk  指向了 /usr/software/jdk1.8.0_181/bin/java这个文件

在这里插入图片描述

12.2、文 件 权 限

在这里插入图片描述

权限分段,每一段代表不同的用户:

属主权限:当前文件所属用户的权限,在Linux中每一个文件都有所属的用户

属组权限:当前文件的用户所在组的其它成员的权限

其它用户权限:跟文件所属用户不在同组的其它用户的权限

每一段中的内容都是一样的,分别限定:读(r=4)、写(w=2)、执行(x=1)

rwx 7 具备所有权限

rw- 6 具备读写权限

r-x 5 具备读和执行权限

r-- 4 具备只读权限

-wx 3 具备写和执行权限

-w- 2 具备写权限

–x 1 具备执行权限

12.3、权 限 管 理

修改文件权限

在这里插入图片描述

13、硬 件 信 息 查 看

我们拿到一台主机之后,首先需要了解主机的硬件信息,这样才可以评估出硬件的性能。

13.1、CPU信 息

13.1.1、CPU位数

uname -a 可以查看CPU是32位的还是64位的。

在这里插入图片描述

13.1.2、型号、核数

指令

cat /proc/cpuinfo | grep name | cut -f2 | uniq -c

查看CPU型号和核数,可以看出是 i7 处理器, 1核的。

在这里插入图片描述

13.2、内 存 信 息

使用 free 指令可以查看内存信息。

指令

free -m

单位:兆(MByte)

在这里插入图片描述

13.3、硬 盘 信 息

13.3.1、分区信息

可以使用 df 查找每个分区的信息。

df -h

在这里插入图片描述

13.3.2、某个目录

可以使用 du -h 查看某个目录的大小。

在这里插入图片描述

14、系 统 时 钟

14.1、查 看 时 间

可以使用 timedatectl 查看系统时间、时区等信息。

在这里插入图片描述

14.2、设 置 时 区

timedatectl set-timezone Asia/Shanghai

14.3、设 置 日 期

timedatectl set-time YYYY-MM-DD

14.4、设 置 时 间

timedatectl set-time HH:MM:SS

15、vim的 使 用

vim的操作基本上和vi一样。但vim中的功能更加的强大,比如有代码加亮、变色功能:

在这里插入图片描述

Day03总结:

1 firewalld防火墙的使用

开机自启:systemctl enable firewalld

启动:systemctl start xxx

停止:systemctl stop xxx

重启:systemctl restart xxx

查看防火墙状态:systemctl status xxx

永久开放端口:firewall-cmd --permanent --zone=public --add-port=8080/tcp

临时开放端口:firewall-cmd --zone=public --add-port=8080/tcp

查看开放端口:firewall-cmd --permanent --zone=public --list-ports

2 tomcat开机自动启动—与上面不一样,需要配置

3 进程管理指令

rpm -qa | grep xxx 查看已安装软件

ps -ef : 查看正在运行的进程

Top:

Kill:

4 用户管理:useradd

5 文件权限:chmod 777 赋予权限