AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 17360
Accepted
interstar
interstar
Asked: 2009-06-02 16:00:51 +0800 CST2009-06-02 16:00:51 +0800 CST 2009-06-02 16:00:51 +0800 CST

一个不错的 Windows 命令行 shell

  • 772

肯定有人为 Windows 编写了一个不错的 shell。

我在找

a)或多或少类似于普通的 linux shell(即历史、完成等)

b) 安装简单的东西(比 Cygwin 更容易,当我尝试它时似乎不太好。)

如果它是奖励积分:

c) 自由(如演讲)

d) 允许在路径中使用正斜杠而不是反斜杠

windows shell
  • 11 11 个回答
  • 2810 Views

11 个回答

  • Voted
  1. Best Answer
    Ryan Fisher
    2009-06-02T16:35:58+08:002009-06-02T16:35:58+08:00

    Powershell 与任何其他命令 shell 相比具有显着优势。它是面向对象的。

    在 cmd、bash 等中,来自 dir/ls 之类的命令的输出实际上是一个字符串数组。如果您将它传送到另一个命令,那么您必须处理字符串。在 Powershell 中,dir cmdlet 实际上提供了一个文件对象数组,您可以将这些文件对象通过管道传递给另一个命令并通过属性对这些对象进行操作。Powershell 是一个真正的交互式 .Net shell。每个 cmdlet 实际上都是一组 .Net 对象的包装器。

    来自微软的所有下一代管理界面实际上都是在 Powershell 中实现的,GUI 界面是 Powershell 命令的包装,类似于执行 GUI 管理工具的“Unix 方式”。

    下面是一个从 Active Directory 角度来看的示例……您可以使用 cmd.exe shell 和 dsquery.exe 之类的实用程序对对象进行 LDAP 查询。但是您会得到一个可分辨名称的列表。然后,您可以将这些 DN 处理为字符串等。在 Powershell v1 或 v2 中,您可以安装和使用Quest 管理单元,它为您提供诸如get-QADUser 之类的工具。当您使用get-QADuser查询 AD 时,返回值是用户对象的集合。所以像这样的命令:

    $users = get-QADUser svc_*
    

    将返回一个您可以按属性处理的集合,例如按您将使用的 HomeDirectory 对它们进行排序:

    $HmDirs = get-QADUser svc_* | sort-object HomeDirectory
    

    没有其他外壳具有此功能,适用于 Windows。Powershell 绝对是要走的路。

    更新:PowerShell v2 现在作为Windows Management Framework的一部分发布,但如果你想获得 Microsoft AD cmdlet,你必须运行 server 2008 R2 或 Windows 7,否则它仍然是 Quest cmdlet。

    • 25
  2. Shawn Anderson
    2009-06-02T16:08:24+08:002009-06-02T16:08:24+08:00

    强力壳。努夫说。:)

    • 10
  3. Matt Simmons
    2009-06-02T16:05:05+08:002009-06-02T16:05:05+08:00

    我很确定 cmd 允许正斜杠。

    你看过Powershell吗?人们似乎对此发誓。

    • 4
  4. Kredns
    2009-06-02T16:18:20+08:002009-06-02T16:18:20+08:00

    Windows Powershell非常棒,易于安装,并且将随 Windows 7 一起提供。您甚至可以编写与 bash 脚本非常相似的cmdlet 。

    我已经成为 Ubuntu 用户大约 3 年了,我很喜欢它。

    • 3
  5. Jim B
    2009-06-02T20:10:40+08:002009-06-02T20:10:40+08:00

    我将不得不加入 powershell 合唱团。与 unix 样式的 shell 不同,cmdlet 都使用从一个 cmdlet 流向另一个的对象管道。这意味着您不必担心如何使一个 cmdlet 与另一个 cmdlet 一起工作。在 unix 世界中,大多数 shell 命令和脚本都会花费大量代码来去除下一个命令无法处理的“额外文本”。这也意味着您对它的了解越多,您可以使用的越多。与您必须了解每个命令的工作原理以便弄清楚如何转换管道文本的典型 shell 不同,powershell cmdlet 的工作方式相同,无论输入如何。例如,如果我向 select-object 发送一个目录列表(它选择要使用的特定属性),如果我向它发送一个活动目录用户对象,则 select-object 的工作方式完全相同,

    看看和现在完全不同的东西:介绍 Windows PowerShell

    • 3
  6. netlinxman
    2009-06-02T17:30:13+08:002009-06-02T17:30:13+08:00

    你为什么放弃 Cygwin?您在使用 Cygwin 时遇到过什么样的问题?虽然我只涉足过 powershell,但我使用 cygwin 已经好几年了,发现它的 POSIX 实用程序在 wintel 机器上是必须的,更不用说所有服务,如 SSH 客户端和服务器,以及 X-windows。全部免费。

    • 2
  7. user11686
    2009-07-06T22:08:44+08:002009-07-06T22:08:44+08:00

    迈克是对的,总是有Hamilton C shell。(我写的!:) 我可以很高兴地报告说,在 Mike 观察到最近似乎没有更新的几​​天后,我发布了一个重大修订。这个最新版本现在完全支持 Vista 和 Win7,您可以获得 32 位和 64 位二进制文​​件。

    要回答您的具体问题:

    1. 是的,它包括所有常见的嫌疑人、历史记录、命令行编辑、文件名和命令完成、别名、后台进程等,以及许多增强功能,例如内置和用户定义的过程、块结构变量、带有浮动的表达式点和改进的通配符(例如,“...”结构表示零个或多个目录级别,根据需要使模式匹配。)它还包括一组相当完整的所有常用内置和外部实用程序,例如more, ls, grep, sed, head, tail, diff, xargs, sort, chown, tar 等(我不包括的唯一重要的东西是 awk、perl 和 vi,它们是 Windows 的权威免费版本已经存在。)

    2. 安装非常简单。只需打开标准的 XP 和 Vista 兼容的 Windows Installer .msi 文件即可开始使用。整个用户指南以超文本形式安装。它完全表现良好,因此通过控制面板卸载也可以正常工作,删除所有内容。(您不会在注册表或其他地方发现任何垃圾。)

    3. 对不起,它不是免费的。美国的价格是 350 美元,但我确实为学生和某些其他情况提供折扣。(我真的不希望成本成为问题,所以如果有问题,请联系我。我是像你这样的普通人,不是什么大公司。)

    4. 是的,您可以使用正斜杠或反斜杠。您可以将转义字符设置为 Windows 风格的抑扬符 (^) 或 UNIX 风格的反斜杠 ()。

    我是唯一的作者。这都是我自己的工作,所有这些都是完全从头开始为 Windows 编写的。我对所有东西都直接使用 Win32 API(我什至不关心 C 运行时,除了 sprintf 的东西,因为 CRTL 隐藏了错误代码之类的东西),所以它既非常快,又真正理解 Windows。在内部,它被实现为真正的多线程自顶向下递归下降编译器架构,因此即使它是 C shell,您也可以放心,它没有原始 UNIX C shell 中经常抱怨的任何问题。

    如果您想仔细看看,我的网站上确实有免费的演示版本,因此您当然可以在购买前试用。它带有无条件的满意保证,因此如果购买并改变主意,您可以无理由退货,甚至可以无理由退货并取回您的钱。

    如果您有任何疑问或我可以提供任何帮助,请发送邮件至 [email protected] 或致电 425-497-0102 与我联系。正如我所说,我是真实的人,我会接电话。我希望这可以帮到你。

    • 2
  8. Ape-inago
    2009-06-02T16:23:10+08:002009-06-02T16:23:10+08:00

    http://win-bash.sourceforge.net/ <- 如果你已经习惯了 bash 风格。

    • 0
  9. Mike
    2009-06-02T17:35:12+08:002009-06-02T17:35:12+08:00

    总是有Hamilton C Shell,但看起来它在过去一年左右没有积极更新。

    • 0
  10. Maximus Minimus
    2009-06-03T04:52:32+08:002009-06-03T04:52:32+08:00

    你最近真的看过 cmd.exe 吗?因为至少早在 Windows XP 中,它支持除 / 而不是 \ 之外的所有要求(因此没有奖励积分,但其他方面很好)。

    • 0

相关问题

  • 您最喜欢的云计算提供商是什么?[关闭]

  • Vanilla Powershell 是否足以成为 Windows 和 DB 服务器管理员的语言?

  • 为什么添加新驱动器后我的磁盘驱动器访问速度如此之慢?

  • 在 Windows Server 2003 下使用 wscipt 从 .asp 文件运行 .exe

  • 最佳混合环境(OS X + Windows)备份?[关闭]

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve