windows 下的route 命令是做啥用的?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了windows 下的route 命令是做啥用的?相关的知识,希望对你有一定的参考价值。
route命令主要用来管理本机路由表,可以查看,添加、修改或删除路由表条目。该命令在win2000以上操作系统都可使用。命令格式如下:
ROUTE [-f] [-p] [command] [destination] [MASK netmask] [gateway] [METRIC metric] [IF interface]
带方括号的参数可以省略。
各参数含义如下:
Command:可以是print(列出当前路由表)、delete(删除路由表条目)、add(添加路由表条目)和change(修改已有路由表条目)这些命令之一。
-f:清空所有路由表的网关条目。如果与某个route指令一块使用,会在执行该命令前先清空路由表。
-p:这个选项与add命令一块使用时用于添加永久的静态路由表条目。如果没有这个参数添加的路由表条目在系统重启后会丢失。如果其它命令使用这个选项此选项会被忽略。因为其它命令对路由表的影响总是永久的。在Windows 95系统的route命令不支持这个选项。
destination、gateway 、netmask、metric和interface参数分别定义路由表条目中的目标IP段,使用网关,子网掩码、度量值和网络界面。
在命令中可以用字符串符号来替代目标网络和网关的IP表示,对于用符号名表示的网络,系统会查找networks文件来解析符号名对应的网络IP(这个文件在winxp系统一般位于C:\
WINDOWS\system32\drivers\etc目录下),对于用符号名表示的网关系统会使用HOSTS文件来对符号名进行解析。
如果是print或delete命令,目标网络和网关可以包括通配符(*或?),而且网关参数可以省略。
如果在目标网络定义中包含*或?,这时这些通配符会按其在命令行界面中的含义,及*代表多个任意字符而?代表一个任意字符。例如这样157.*.1。
注意:在添加或修改路由条目时,如果目标网络与网络掩码不符会产生错误,也即DEST & MASK) != DEST时,会报错。
注意,这个命令的很多部分是可以省略的,比如网络界面常被省略。如果在添加或修改的路由条目中省略网络界面参数,系统会自动使用到达指定网关最合适的网络界面。例如,add命令的完全写法可以如下:
route ADD 157.0.0.0 MASK 255.0.0.0 157.55.80.1 METRIC 3 IF 2
这条命令添加到达IP为157.0.0.0掩码为255.0.0.0的目标网络的路由,指定网关为157.55.80.1,跳数定义为3,使用网络界面2,
route PRINT 157*
仅被出以157开头的目标网络的路由条目。
route DELETE 157.0.0.0
删除到达目标子网157.0.0.0的路由条目 参考技术A Route 在本地 IP 路由表中显示和修改条目。 语法 route [-f] [-p] [Command [Destination] [mask Netmask] [Gateway] [metric Metric]] [if Interface]] 参数 -f 清除所有不是主路由(网掩码为 255.255.255.255 的路由)、环回网络路由(目标为 127.0.0.0,网掩码为 255.255.255.0 的路由)或多播路由(目标为 224.0.0.0,网掩码为 240.0.0.0 的路由)的条目的路由表。如果它与命令之一(例如 add、change 或 delete)结合使用,表会在运行命令之前清除。 -p 与 add 命令共同使用时,指定路由被添加到注册表并在启动 TCP/IP 协议的时候初始化 IP 路由表。默认情况下,启动 TCP/IP 协议时不会保存添加的路由。与 print 命令一起使用时,则显示永久路由列表。所有其它的命令都忽略此参数。永久路由存储在注册表中的位置是 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\PersistentRoutes。本文来自CSDN博客,转载请标明出处: http://blog.csdn.net/gccr/archive/2005/12/06/544651.aspx 参考技术B Route命令是在本地 IP 路由表中显示和修改条目网络命令。
pom.xml 中 <dependency> 下的 <scope> 是做啥用的?
【中文标题】pom.xml 中 <dependency> 下的 <scope> 是做啥用的?【英文标题】:What is <scope> under <dependency> in pom.xml for?pom.xml 中 <dependency> 下的 <scope> 是做什么用的? 【发布时间】:2015-01-14 13:11:20 【问题描述】:查看文档http://maven.apache.org/surefire/maven-surefire-plugin/examples/testng.html,我们可以看到<dependency>
下的<scope>
标签
那是什么,我们如何使用它来运行测试?
【问题讨论】:
这一切都在文档中得到了很好的解释:maven.apache.org/guides/introduction/… Understanding Compile- vs Run-time Dependencies的可能重复 【参考方案1】:<scope>
元素可以取 6 个值:compile、provided、runtime、test、系统和导入。
此范围用于限制依赖项的传递性,并影响用于各种构建任务的类路径。
编译
这是默认范围,如果未指定则使用。编译依赖项在项目的所有类路径中都可用。此外,这些依赖项会传播到相关项目。
提供
这很像编译,但表示您希望 JDK 或容器在运行时提供依赖项。例如,在为 Java Enterprise Edition 构建 Web 应用程序时,您可以将 Servlet API 和相关 Java EE API 的依赖设置为提供的范围,因为 Web 容器提供了这些类。此范围仅在编译和测试类路径上可用,并且不可传递。
运行时
这个范围表示依赖不是编译所必需的,而是执行所必需的。它在运行时和测试类路径中,但不在编译类路径中。
测试
此范围表示该依赖不是应用正常使用所必需的,仅适用于测试编译和执行阶段。
系统
这个范围类似于提供的,除了你必须提供明确包含它的 JAR。工件始终可用,不会在存储库中查找。
import(仅在 Maven 2.0.9 或更高版本中可用)
此范围仅用于该部分中 pom 类型的依赖项。它指示应将指定的 POM 替换为该 POM 部分中的依赖项。由于它们被替换,具有导入范围的依赖项实际上并不参与限制依赖项的传递性。
回答你问题的第二部分:
我们如何使用它来运行测试?
请注意,test
范围仅允许在测试阶段使用依赖项。
阅读documentation了解完整详情。
【讨论】:
那么如果你使用“test”,它最终会出现在创建的 .jar 中吗? 如果在编译和运行时需要依赖怎么办? @sherelock 是这样做的实际好处吗?为什么要限制为仅测试范围?如果您不关心并且在编译/运行时是否存在依赖项并与 .jar 打包无关,该怎么办?有没有真正的负面影响?? @ennth 你会因为不必要的依赖而膨胀你的 jar。您可以考虑仅希望在测试场景中具有依赖项的情况(例如,mockito)。无需将其包含在已编译的 jar 中。【参考方案2】:添加了带有解释范围的好图片
【讨论】:
【参考方案3】:六个依赖范围:
编译:默认范围,src/main
和 src/test
都可以使用类路径
测试:类路径可用于src/test
提供:类似于编译,但由 JDK 或容器在运行时提供
runtime:编译时不需要,只需要在运行时
系统:提供本地提供类路径
import:只能将其他 POM 导入到<dependencyManagement/>
,仅适用于 Maven 2.0.9 或更高版本。更改父项目并不总是可行的,许多项目已经指定了一个父项目来管理他们的组织标准。 dependencyManagement
允许我们添加父项目而不创建父项目,就像多重继承一样。
【讨论】:
slideshare.net/mulderbaba/bmo-intelligent-projects-with-maven【参考方案4】:Scope 标签总是用来限制 jar 在类路径级别的传递依赖和可用性。如果我们不提供任何范围,那么默认范围将起作用,即 Compile 。
【讨论】:
Compile 意味着您需要 JAR 来编译和运行应用程序。例如,对于 Web 应用程序,JAR 将放置在 WEB-INF/lib 目录中。提供意味着您需要 JAR 进行编译,但在运行时环境已经提供了一个 JAR,因此您不需要将它与您的应用程序一起打包。对于 Web 应用程序,这意味着 JAR 文件不会被放置到 WEB-INF/lib 目录中。对于 Web 应用,如果应用服务器已经提供了 JAR(或其功能),则使用“provided”,否则使用“compile”。 请在您的答案中添加您的评论【参考方案5】:.pom
dependency
scope
可以包含:
compile
- 在编译时和运行时可用
provided
- 在编译时可用。 (这种依赖应该由像 OS 这样的外部容器提供...)
runtime
- 在运行时可用
test
- 测试编译和运行时间
system
- 与 provided
类似,但将 <systemPath>path/some.jar</systemPath>
暴露在 .jar
上
import
- 可以从 Maven v2.0.9 获得 <type>pom</type>
并且它应该被这个文件的有效依赖替换 <dependencyManagement/>
【讨论】:
【参考方案6】:如果我们不提供任何作用域,那么默认作用域是编译,如果你想确认,只需进入 Eclipse 编辑器中的有效 pom 选项卡,它会显示为编译。
【讨论】:
OP 询问范围 是 和 做什么,没有找到默认范围。以上是关于windows 下的route 命令是做啥用的?的主要内容,如果未能解决你的问题,请参考以下文章