当前位置:网站首页>powershell和cmd对比
powershell和cmd对比
2022-08-04 18:18:00 【虚幻私塾】
优质资源分享
学习路线指引(点击解锁) | 知识定位 | 人群定位 |
---|---|---|
🧡 Python实战微信订餐小程序 🧡 | 进阶级 | 本课程是python flask+微信小程序的完美结合,从项目搭建到腾讯云部署上线,打造一个全栈订餐系统。 |
Python量化交易实战 | 入门级 | 手把手带你打造一个易扩展、更安全、效率更高的量化交易系统 |
前言
计算机啊这东西,本质上是硬件和软件的综合体。如果只有硬件没有软件的话,这也是台辣鸡而已。而计算机软件中最靠近硬件的一层,就是操作系统层。
操作系统有很多种,比如Unix/Linux/Mac OS/Windows几种。其中,我们接触的第一款操作系统应该就是微软(巨硬)公司的windows系列了。这款操作系统从1985年发表第一款操作系统Windows1.0开始,到现在已经有将近40年的历史了。所以Windows内部也一定存在很多祖传的应用,比如Windows NT、扫雷、cmd等。
虽然Windows是一款以视窗为主要交互模式的操作系统,但是对于一个脚本佬,命令行同样重要。甚至有时命令行的交互效率比视窗的点点点更高,也更快捷方便(就比如我刚开始使用linux的shell的时候,对此非常抗拒,觉得十分难用;但是用久了就回不去了,现在整天骂Windows,为啥设计得如此不透明)。
当然啦,脚本佬毕竟是少数,大部分人还是觉得Windows的点点点更加符合自己的使用习惯。然而作为一个脚本佬,就没办法再搁那儿点点点了,这样难免被人说lowbi。于是我简单地看了一下Windows的命令行,发现有两种–黑框的cmd和篮框的powershell。那本文主要讨论这二者的异同。
cmd vs powershell
我呢,是个土包子,看到这二者的第一感觉就是,powershell是加强版的cmd。这句话说了等于没说,因为的确如此。如果这个问题是个面试题,你要这么答,很难保证面试官不会继续问下去,“请详细讲讲,这二者有啥异同”?这时候就喝喝了,你就没话可讲了,最后就得被迫回家等消息。那我们这里不废话,直接上表格:
cmd | powershell | |
---|---|---|
框框颜色 | 黑色 | 蓝色 |
起用时间 | 1981年 | 2006年 |
适用性 | 仅支持cmd脚本(bat,cmd) | 支持cmd脚本(bat,cmd)和powershell脚本(ps1) |
扩展性 | 仅支持cmd内置函数 | 支持cmd内置函数+powershell cmdlet |
命令别名 | 不支持 | 支持 |
输出内容类型 | 文本 | 对象 |
程序并发 | 不支持 | 支持 |
是否有ISE(编译器) | 无,只有命令行 | 有,而且能直接调试 |
是否支持.net库 | 否 | 是 |
是否支持WMI(监控工具) | 否 | 是 |
是否可以管理微软云资源 | 否 | 是 |
是否支持shell | 否 | 是 |
是否可以运行所有类型程序 | 否 | 是 |
总结
上面我总结了powershell和cmd的异同点,可以从中看到powershell是cmd的加强版,但是加强得过了头,基本上也可以作为Windows不同世代,实现命令行交互的两种方式了。其中cmd能做的事情powershell都能做,而powershell除了兼容cmd以外,也增加了几项对脚本佬更加友善的改进:
- 增加了cmdlet,使得很多功能可以像成熟的编程语言一样直接调用。
- 拉进了与linux shell的操作距离,使得学习成本大大降低。
- 支持了很多更友善的功能,比如ISE和WMI,操作感比cmd更先进。
- 增加了操作其他语言的便捷性,使得powershell通用性更好。
- 增加了管理其余基础资源的功能,使得我们使用vagrant或者terraform时更方便。
- 由于powershell本身建立在.net框架之上,所以直接可以调用,net相关功能,对于.net开发者是一种福音。
总之,它给了常年使用linux命令行方式进行作业的人(比如我这脚本佬)更好的信心去使用windows进行编程和测试,其强大的功能也令我叹为观止。只能说I need more 抛瓦烧,微软巨硬,魔兽该出新资料片啦!
鸣谢
PowerShell vs Command Prompt | Top 14 Differences You Should Know
边栏推荐
- 部署LVS-DR群集
- "Involution" Index Analysis Based on AHP
- [Web Automation Test] Quick Start with Playwright, 5 minutes to get started
- Documentary on Security Reinforcement of Network Range Monitoring System (1)—SSL/TLS Encrypted Transmission of Log Data
- ERC721标准与加密猫
- EasyCVR如何通过接口调用设备录像的倍速回放?
- 怎么招聘程序员
- 关于ETL的两种架构(ETL架构和ELT架构)
- How to make JS code unbreakable
- Understanding of margin collapse and coincidence
猜你喜欢
关于ETL的两种架构(ETL架构和ELT架构)
阿里云国际版使用ROS搭建WordPress教程
How does EasyCVR call the double-speed playback of device recording through the interface?
Flink / Scala - 使用 RedisSink 存储数据
12. SAP ABAP OData 服务如何支持 $select 有选择性地仅读取部分模型字段值
Win10只读文件夹怎么删除
Create Sentinel high-availability cluster current limiting middleware from -99
【web自动化测试】Playwright快速入门,5分钟上手
八猴渲染器是什么?它能干什么?八猴软件的界面讲解
通配符SSL证书不支持多域名吗?
随机推荐
2019 Haidian District Youth Programming Challenge Activity Elementary Group Rematch Test Questions Detailed Answers
leetcode 14. 最长公共前缀
不论你是大众,科班和非科班,我这边整理很久,总结出的学习路线,还不快卷起来
企业即时通讯软件有哪些功能?对企业有什么帮助?
Develop those things: How to obtain the traffic statistics of the monitoring site through the EasyCVR platform?
dotnet core 输出调试信息到 DebugView 软件
报道称任天堂在2023年3月前不会推出任何新硬件产品
A group of friends asked for help, but the needs that were not solved in a week were solved in 3 minutes?
DOM Clobbering的原理及应用
2018读书记
开发那些事儿:如何通过EasyCVR平台获取监控现场的人流量统计数据?
How does EasyCVR call the double-speed playback of device recording through the interface?
flink-cdc支持并行读取一张mysql表的binlog不?
Babbitt | Metaverse daily must-read: Weibo animation will recruit all kinds of virtual idols around the world and provide support for them...
leetcode 13. 罗马数字转整数
群友求助,一周没有搞定的需求,3分钟就解决了?
【杰神说说】物联大师2.0版本预告
DHCP&OSPF combined experimental demonstration (Huawei routing and switching equipment configuration)
Documentary on Security Reinforcement of Network Range Monitoring System (1)—SSL/TLS Encrypted Transmission of Log Data
如何让 JS 代码不可断点