CCNA基础知识摘录
1、检测硬件(保存在rom)
2、载入软件(IOS)(保存在Flash)
3、调入配置文件(密码,IP地址,路由协议都保存在此)(此文件保存在NVRAM)
0x2102:正常调入配置文件到内存中
0x2142:不调入配置文件到内存中
即表示
:第六位(bit6)=0时就调入:第六位(bit6)=1时就不调入
CISCO设备的文件系统:
RAM/NVRAM/FLASH/TFTP
LAB1:路由器文件的备份:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
step1:按图连接好电源线,Console,Ether-Net网线。
step2:配置IP地址,确认连接的正确性,并运行数据通信测试。
step3:在本机运行TFTP Server(TFTP是UDP的69号端口)(tftpd32)
step4:察看FLASH中的IOS文件
ROUTER#show flash:
ROUTER#dir
flash:
(":"表示一个设备,有时不打会出问题)
step5:
ROUTER#dir nvram (察看nvram中有哪些文件)
ROUTER#more nvram :startup-config(具体察看某个文件的内容)
step6:
ROUTER#copy flash:tftp:
ROUTER#copy nvram:startup-config tftp
LAB2:路由器的文件升级
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
step1/2/3 与LAB1完全一致
step4:
ROUTER#copy tftp:flash:
2140 表进入ROMMON模式(按ctrl+break进入)
2141 表进入MINI IOS模式
2142 表进入正常模式
LAB3:路由器的密码恢复
step1:与lab1完全一致(无需网线)
step2:配置路由器的密码
config t
enable password cisco1
enable secret cisco2
step3:保存配置
(将当前的内存中的配置信息,保存到NVRAM中的start-config)
copy run..start-config
write
step4:将配置寄存器设置为0x2102,在线路由器的标准配置
R1(config)#config-register 0x2102
step5:当忘记了密码时,就在启动路由器的5秒内按CTRL+BREAK,进入ROMMON模式
>
>
>
step6:
>o 察看当前寄存器的取值
>o/r 0x2142 修改寄存器取值为0x2142
step7:
>i 重启路由器
step8:
在system configuration dialog 中输入no
step9:
ROUTER#dir nvram
ROUTER#more nvram:startup-config
step10:
将startup-config copy到内存中
ROUTER#copy nvram:startup-config running-config
(通过手工将startup-config copy 到running-config时,接口全是关闭的,需要手工打开)
step11:删除原密码
R1(config)#no enable passwor
R1(config)#no enable secret
step12:将所有需要工作的接口,手工打开
R1(config)#int e0
R1(config-if)#no shut
step13:
R1#config-register 0x2102
step14:保存配置
R1#copy running-config startup-config
R1#write
LAB4:交换机的文件备份
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
step1:按图连接好电源线,Console Eether网线
step2:配置IP地址,确认连接的正确性,并进行数据通信测试
switch(config)#int vlan 1
switch(config)#ip add 192.168.1.180 255.255.255.0
switch(config)#no shut
step3:在本机运行tftp
step4:备份交换机的IOS
switch#copy flash:c........... tftp:
备份交换机的配置文件
switch#copy flash:config.text tftp:
LAB5:交换机的IOS的升级
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
step1/2/3 与LAB1完全一致
step4:升级IOS
switch#copy tftp:flash:
LAB6:交换机的密码恢复:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
step1:先连接好Console,将交换机断电,然后按着交换机上的“MODE”不放,再重新接入电源,直到控制界面出现
交换机初始化失败为止,然后跟着它要求的初始化步骤执行
step2:对flash进行初始化
switch:flash_init
switch: load_helper
switch: dir flash: 查找flash中的config.text
switch: rename flash:config.text flash:co.t (将配置文件改名)
step3:让交换机继续启动,进入空白配置的交换机
switch:boot
step4:把配置文件copy到内存
switch#copy flash:co.t running-config
step5:删除原密码
switch(config)#no enable password
switch(config)#no enable secert
step6:打开交换机的接口(因为手工加入的是关闭的)
int vlan 1
no shut
step7:保存
switch#write
step8:删除不需要的原配置文件
switch#delete flash:co.t
switch交换的三种方式:
1、直通式:交换机一收到数据帧就立刻开始转发
2、存储转发:交换机要完整地接收到数据帧,并且经过校验后,才开始转发
3、Fragment-free:交换机对接收到是前64BYTES,进行校验,如果正确就开始转发。
交换机的地址学习:(交换机MAC表)
交换机总是学习数据帧的源地址(MAC),将此地址与进入与进入交换机的端口进行映射。
交换机对于数据帧的转发:
1、如果目标MAC是单播地址,交换机就按照MAC表进行单播。(已知MAC)
(除了目标MAC所对应的那个接口,之外的所有接口,都是不转发数据帧的)
2、如果目标MAC是组播/广播地址,交换机就会向除了入口以外的接口进行广播。
3、如果目标MAC是单播地址,但是交换机没有此MAC的对应映射端口,交换机就会
向除了入口以外的接口进行广播。(未知MAC)
4、如果目标MAC地址是单播地址,但此目标MAC所对应的接口就是数据帧进入交换机的端口,交换机会丢弃数据帧。
在BPDU信息当中有一段区域叫做bridge ID,Bridge ID=bridge
priority(优先级)+MAC(相加之和),交换机缺省
优先级为32768(16进制为8000)。如果两个bridge ID相等将以MAC地址为准,以MAC地址最小的bridge
ID值就小
当交换机运行stp协议,交换机的端口会存在如下状态 :
blocking(阻塞)、listening(监听)、learning(学习)、forwarding(转发)
blocking(阻塞)--listening(监听) 间隔20秒时间
listening(监听)--learning(学习) 间隔15秒时间
learning(学习)--forwarding(转发)间隔15秒时间
从listening到forwarding所经历的时间被称作转发延迟(默认30秒)
port在各个状态的功能:
blocking:不能接收转发任何数据
listening:不能接收转发数据,但是可以接收BPDU信息
learning:不能接收转发数据,但是能够通过接收BPUU信息创建MAC地址表
forwarding:可以接收转发数据
LAB7:交换机的基本配置
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
step1:为交换机配置网管ip(本网段网管)
SW1(config#)int vlan 1
ip add 192.168.1.1 255.255.255.0
no shut
step2:配置交换机的网关:(跨网段网管)
SW1(config)#ip default-gateway 192.168.1.10
step3:控制接口的速率
SW1(config)#int f0/1
switchport mode access(接入链路,一般连接主机)
speed 10
speed 100
speed auto(默认)
step4:控制接口的双工模式:
sw1(config-if)#depulex full
sw1(config-if)#depulex half
sw1(config-if)#depulex auto(默认)
LAB8:Port/Security (端口安全)
step1:
sw1(config)#int f0/2
switchport mode access(接入链路)
switchport port-security(启动端口安全)
switchport port-security mac-address
00c0.abcd.1234(绑定一个MAC)
switchport port-security violation
shutdown(关闭接口,上报)
switchport port-security violation
restrict(不转发数据,上报)
switchport port-security violation
protect(不转发数据)
step2:在一个端口上绑定多个MAC地址
switchport port-security macimum 3
switchport port-security mac-address
00c0.abcd.1234
switchport port-security mac-address
00c0.abcd.1235
switchport port-security mac-address
00c0.abcd.1236
step3:
switchport port-security maximun 100
switchport port-security mac-address sticky
VLAN:
实现vlan的主要目的:(segmentation)将网络分片,减少每个网络的规模,即缩减每一个广播域的大小。
一个vlan,对应着一个广播域,对应着一个逻辑子网:A VLAN=A Broadcast domain=logical
network(subnet)
HUB:所有端口都在一个冲突域,一个广播域中;
Switch:一个端口对应一个冲突域,所有端口都在一个广播域中;
Router:一个端口对应一个冲突域,一个端口对应一个广播域;
交换环境中的2 种连接类型:
1.access links:指的是只属于一个VLAN,且仅向该VLAN 转发数据帧的端口,也叫做native
VLAN.switches 把帧发送到
access-link 设备之前,移去任何的VLAN 信息.而access-link 设备不能与VLAN
外通信,除非数据包被路由
2.trunk links:指的是能够转发多个不同VLAN 的通信的端口.trunk link 必须使用100Mbps
以上的端口来进行点对点
连接,1 次最多可以携带1005 个VLAN 信息.trunk link 使你的单独的1个端口同时成为数个VLAN
的端口,这样可以不需
要层3 设备.当你在switches 之间使用了trunk link,多个VLAN 的信息将从这个连接上通过;如果在你switches
之间没
有使用 trunk link而使用一般的连接,那么只有VLAN1 的信息通过这个连接被互相传递.VLAN1
默认作为管理VLAN。
vlan分类:
静态Vlan
动态Vlan
sw1(config)#default int fa0/1(让一个接口恢复默认配置)
LAB9:静态Vlan的创建,修改,删除
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
step1:观察Vlan的配置信息:
SW1#sh vlan brief (默认情况下,交换机的所有的端口都在vlan 1)
pc2#sh arp
pc2#debug arp
pc2在ping通pc1后再观察“sh arp”
step2:创建vlan:
sw1#conf t
vlan
10(创建vlan10)
sh vlan brief观察
step3:将端口放入vlan 10:
sw1(config)#int f0/1
switchport access vlan 10
测试:
在pc2上再ping pc1,无法ping通!
(在不同vlan中的用户,默认是不能通信的)
step4:
sw1(config)#int f0/2
switchport access vlan 10
此之后再进行测试,可通;(证明相同的vlan中的用户是可以互通的)
step5:修改vlan:
sw1(config)#vlan 10
sw1(config-vlan)#name ENG
sw1(config-vlan)#EXIT
sw1(config)#VLAN 20
sw1(config-vlan)#name sale
sw1(config-vlan)#exit
step6:删除vlan
sw1(config)#no vlan 20
LAB10:vlan间的路由
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
step1:按图配置vlan,ip
step2:将R1/R2的路由能力关闭
pc2(config)#no ip routing
pc1同上
step3:在多层交换上,创建两个与VLAN一一对应的vlan接口,以此两接口作为两个vlan的网关
sw1(config)#int vlan 10
sw1(config-if)#ip add 192.168.10.100 255.255.255.0
sw1(config-if)#no shut
sw1(config)#int vlan 20
sw1(config-if)#ip add 192.168.20.100 255.255.255.0
sw1(config-if)#no shut
step4:
所有在VLAN10中的网关,都以if vlan 10 为网关:
pc1(config)#ip default-gateway 192.168.10.100
所有在VLAN20中的网关,都以if vlan 20 为网关:
pc2(config)#ip default-gateway 192.168.20.100
测试:每个用户都必需ping通自己的网关!!!!!!!
step5:启动交换机的路由能力:
sw1(config)#ip routing
sw1#sh ip route
step6#不同vlan间的用户数据通信
测试:两个pc互通!!!!!!!!!
Trunk:
在一条网络介质(网线/光纤)上,同时传输多个vlan的信息
trunk的种类:
1、cisco的私有标准:ISL
2、开放性的业界标准:802.1Q
LAB11:TRUNK
step1:
802.1Q的Trunk:
int f0/21
switchport trunk encapsulation dot1q
switchport mode trunk
ISL的Trunk:
int f0/21
switchport trunk encapsulation isl
switchport mode trunk
两个交换机配置相同。
step2:察看Trunk链路的连接状态:
SW1#sh int trunk
step3:
pc3(config)#ip default-gateway 192.168.10.100
PC3设置了网关后,可以实现跨vlan,跨交换机的通信的。
VTP(VLAN Trunk Protocol)
vtp只是用于构建富有效率的,便于管理的Vlan的网络
(让网络中的一个交换机VTP Server设定好Vlan信息,别的交换机都自动从这个交换机这里,动态地学习到VLAN信息)
cisco私有的协议
vtp信息,只能在trunk链路上传输。
VTP 是Cisco 创建的,但是现在已经不为Cisco 所私有.VTP 的主要目的是在一个交换性的环境中管理所有配置好的VLAN
使所有的VLAN 保持一致性VTP,允许增加,删除和重命名VLAN,然后这些修改后的信息传播到整个VTP 域里的所有switches
上。
LAB12:VTP
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
step1:确定网络中的VTP Server/Client
sw1(config)#vtp mode server
sw2(config)#vtp mode client
step2:确定在一个相同VTP域名:(CCNA)
sw2(config)#vtp domain CCNA
注意:所有vtp信息在sh run是看不到的
step3:检查vtp:
sw1/2#sh vtp status
step4:观察VTP信息的同步过程:
通过添加vlan观察版本号
Configuration Revision 2
当每改动一个属性时(如增加vlan,删除vlan,改名等动作),版本号就会改变
STP(Spanning-Tree Protocol)
1、每个交换网络,都有一个根桥(根交换机:BID最小的交换机)
2、每个非根桥,都只有一个根端口。(根端口即是去往根桥开销最小的端口)
3、每条网络介质,都必定有一个指定端口。(指定端口,根端口都是转发数据包的)
4、除了指定端口,根端口以外的端口,都被堵塞,不转发数据包。
LAB13:STP根桥的选定
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
所有交换机默认的BID优先级都是0x8000(32768)
step1:察看各个交换机的MAC地址
sw1#sh version
Base ethernet MAC Address:00:0F:.......
step2:察看优先级:
sw1#sh spanning-tree vlan 1
Bridge id
priority 32768 (priority 32768 sys-id-ext 1)
step3:控制交换网络的根桥:
根桥:
sw1(config)#spanning-tree vlan 1 root primary(24576/0x6000)
备份根桥:
sw2(config)#spanning-tree vlan 1 root secondary(28672/0x7000)
sw1#sw1#sh spanning-tree vlan 1
通过spanning-tree vlan 1 priority 4096(0x1000)直接更改优先级
R1#sh controllers serial 1查看是DTE还是DCE!!!!
CDP
LAB1:CDP
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
step1:
R1#sh cdp neighbors
step2:在接口级别控制CDP的运行:
R3(config)#int s1
R3(config-if)#cdp enable(启动接口的CDP能力,默认)
R3(config-if)#no cdp enable(关闭接口CDP)
step3:在全局上,控制所有接口CDP运行
R3(config)#cdp run(在全局上启动CDP)
R3(config)#no cdp run(在全局上关闭CDP)
step4:
SW1#sh cdp neighbors detail
SW1#sh cdp neighbors f0/1 detail
CDP timer:CDP 包传给每个活跃接口的时间间隔,默认是60 秒 ,即每60s发送一次cdp更新
CDP holdtime:某设备从相邻设备收到的包的保持时间,默认是180 秒
Telnet:通过Telnet,实现远程网管
LAB2:Telnet
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
step1:
在进行telnet之前,首先确认能够与被telnet的设备正常通信(ping)
step2:
R1#ping 192.168.10.2!!!!!!!!!!!!!!!!!!!!!
step3:
R1#telnet 192.168.10.2(不成功)
出现这些字样:Password required,but none set(原因:VTY没有设置密码)
解决办法:
R2(config)#line vty 0 4
R2(config-line)#password 1234
R2(config-line)#login
R2(config-line)#exit
step4:再telnet
R1#telnet 192.168.10.2(此时只能进入用户模式,因为没有设置enable密码)
出现这些字样: User Access Verification
password:1234
R2>
R2>
R2>en
此时无法进入,因为R2没设enable密码
step5:第三次再R2设置了enable后,再telnet
R2(config)#enable password cisco
R1#telnet 192.168.10.2
Trying 192.168.10.2 Open
password:
R2>
R2>
R2>en
password:
R2#
R2#exit
回到R1
step6:对交换机的Telnet是一样操作的,即在交换机上也需先设line密码,enable密码
step7:察看已连接的telnet进程:
7-1:在telnet发起方,察看自己发起的进程
R1#sh sessions
Conn
host
* 1 192.168.10.29
*表示此telnet是活动的
7-2:在被telnt方,察看自己被telnet的进程
sw2#sh users
Line
users
host(s)
idle
location
1 vty
0
idle
192.168.10.1
step8:发起telnet的设备,临时“挂起”(回到本设备上):(telnet进程是没有中断的)
用快捷键可临时挂起:1、ctrl+shift,不松手再按6;
2、松手后再按下 ‘x’
通过这两步就可以在telnet时临时挂起。
当想回到被telnet的机器上时,只需在特权模式下按下“回车”即可回到被telnet方。
step9:彻底中断telnet
9-1:发起方主动中断:
sw2#
sw2#exit
R1#
即用“exit”即可中断
也可用R1#disconnect 1 选择性的中断某一条telnet
9-2:被telnet方强制中断
sw2#clear line 1
[confirm]
[ok]
sw2#
step10:在多个被telnet设备之间进行切换:
R1#sh sessions
conn host
*
1
192.168.10.2
2
192.168.10.29
R1#2
就可进入ip地址为192.168.10.29的主机。
ACL/访问列表
主要作用:控制数据包,对其进行过滤。
还可以完成:QOS,DDR,路由过滤;
ACL的分类:
标准ACL:控制数据包的源IP地址。
1~99,(1300~1999)
扩展ACL:控制数据包的源IP,目标IP,协议号,源端口口,目标端口号.....
100~199,(2000~2699)
命名ACL(标准/扩展ACL)
CCNA基础知识摘录的更多相关文章
- Map/Reduce应用开发基础知识-摘录
Map/Reduce 这部分文档为用户将会面临的Map/Reduce框架中的各个环节提供了适当的细节.这应该会帮助用户更细粒度地去实现.配置和调优作业.然而,请注意每个类/接口的javadoc文档提供 ...
- http基础知识摘录
HTTP是一个基于请求/响应模式的,无状态的协议 (只有客户端发送请求服务器才会响应,否则服务器不会主动发送信息的,无状态指客户端发过来一个请求服务端给你发回一个响应,接着你再去发送一个请求,服务器根 ...
- Quartz.NET基础知识概述
Quartz.NET是什么 由于我现在使用的Quartz.NET2.2版本,相对2.x变化不大,主要是相对于1.x更新了很多东西,如下基础知识摘录网络. Quartz.NET是一个开源的作业调度框架, ...
- CCNA的基础知识及要点
一.CCNA中的基础知识及要点: 2.网线的制作:568B:橙白,橙,绿白,蓝,蓝白,绿,棕白,棕 568A的排线顺序从左到右依次为:白绿.绿.白橙.蓝.白蓝.橙.白棕.棕.实验目的:初学者常为做网线 ...
- Java基础知识【下】( 转载)
http://blog.csdn.net/silentbalanceyh/article/details/4608360 (最终还是决定重新写一份Java基础相关的内容,原来因为在写这一个章节的时候没 ...
- Runtime系列(一)-- 基础知识
众所周知,Objective-C 是一种运行时语言.运行时怎么来体现的呢?比如一个对象的类型确定,或者对象的方法实现的绑定都是推迟到软件的运行时才能确定的.而运行时的诸多特性都是由Runtime 来实 ...
- [源码解析] 深度学习分布式训练框架 Horovod (1) --- 基础知识
[源码解析] 深度学习分布式训练框架 Horovod --- (1) 基础知识 目录 [源码解析] 深度学习分布式训练框架 Horovod --- (1) 基础知识 0x00 摘要 0x01 分布式并 ...
- .NET面试题系列[1] - .NET框架基础知识(1)
很明显,CLS是CTS的一个子集,而且是最小的子集. - 张子阳 .NET框架基础知识(1) 参考资料: http://www.tracefact.net/CLR-and-Framework/DotN ...
- RabbitMQ基础知识
RabbitMQ基础知识 一.背景 RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现.AMQP 的出现其实也是应了广大人民群众的需求,虽然 ...
随机推荐
- 自定义Git之配置别名
有没有经常敲错命令?比如git status?status这个单词真心不好记. 如果敲git st就表示git status那就简单多了,当然这种偷懒的办法我们是极力赞成的. 我们只需要敲一行命令,告 ...
- Exception in thread "main" java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
这个问题当然是找不到mysql的驱动类,可能是环境CLASSPATH有问题或者就是那个人没有加载jdbc的驱动.我在网上下载mysql-connector-java-5.0.8-bin.jar一个这个 ...
- 社群系统 ThinkSNS+ 中如何利用 Laravel 表单验证来验证用户名的?(我朝独有需求,两个字母占一个汉字。。。)
ThinkSNS+后端框架使用laravel,每周和 laravel master 保持同步,而后台和 html 5 则采用 vue 开发.语言特性方面,采用 php 7 的严格模式. 言归正传,之所 ...
- SQL SERVER镜像切换
--SQL SERVER镜像切换 ------------------------------2013/11/30 切换条件 高性能 没有见证服务器的高安全性模式 具有见证服务器的高安全性模式 自 ...
- webService接口交互
1.需要在XXXXX.wsdl中配置相应的类与service方法. 2.启动你的项目,打开浏览器,输入地址:http://localhost:8080/lis/services,就能看到你XXXXX. ...
- SpringMVC中文件的上传(上传到服务器)和下载问题(一)
一.今天我们所说的是基于SpringMVC的关于文件的上传和下载的问题的解决.(这里所说的上传和下载都是上传到服务器与从服务器上下载文件).这里的文件包括我们常用的各种文件.如:文本文件(.txt), ...
- 操作手册(1)JDK的安装与配置
1 JDK的安装与配置 1.1 背景 JDK(Java SE Development Kit)是 Java 语言开发工具包的简称,是开发和运行 Java 程序的基础环境. 更多描述 | 百度百科: → ...
- Android笔记: 日期格式化
下面的转换符来自Java,但是在android中同样可用.(以下表格内容来自互联网.) 常见日期格式化转换符 转换符 说 明 示 例 %te 一个月中的某一天(1-31) 2 %tb 指定语言环 ...
- 最新spring官网(spring.io)下载方法
这里介绍的是用于WEB开发的spring-frame框架的下载方法. 如果想下载其他的spring产品,直接进入http://projects.spring.io,选择自己要的即可.下载方法同下. 要 ...
- Pyinstaller(python打包为exe文件)
需求分析: python脚本如果在没有安装python的机器上不能运行,所以将脚本打包成exe文件,降低脚本对环境的依赖性,同时运行更加迅速. 当然打包的脚本似乎不是在所有的win平台下都能使用, ...