我正在为全新的计算机工程专业的学生教授入门课程。本周我将教授基本的Windows控制台(命令提示符)命令和批处理文件(以及几周后的unix)。去年,一些学生抱怨说“已经没有必要了”。由于我坚持教它,我有一些理由。但我想听听你们的意见。在我开始之前,我可以用什么理由来说服他们?
感谢。
好的,现在有几个答案之后,我想列出我教授基本控制台命令和基本批处理文件使用的理由。
编辑:在MS-DOS的原始问题中,我试图说的是Windows命令提示符和命令行。
答案 0 :(得分:9)
这会是他们会使用的吗?如果不是,他们可能会忘记它,或者在不知道原因的情况下学习它,也许会讨厌它,而你不想要它。
我认为他们最终会使用powershell(如果不是* nix shell),为什么不教呢?
答案 1 :(得分:6)
有充分的理由学习使用命令行 - 它比任何GUI都要快得多 - 但DOS真的确实有一个明显过时的空气。这并不是说 已过时 - cmd
仍然附带每个Windows,原因很充分 - 但学生们需要感觉他们正在学习新的和酷的东西。
我会专注于Linux来教授命令行 - 没人能说这在2010年没有关系! - 处理DOS shell及其(更有限的)可能性和差异作为其中的一部分。
答案 2 :(得分:5)
正如上面的幻象说:“现代Windows中不存在MS-DOS”。 Win2K / WinXP / Win2003中的命令提示符与原始MS-DOS不同。我认为MS-DOS几乎(如果不是绝对的)过时且不值得学习,除非对于想要了解Microsoft OS演进路径的人。
但是,对于Windows用户,仍应学习 cmd 。以下是我认为的原因:
着名书籍 The Pragmatic Programmer 中的第15节(提示21)解释了为什么应该学习命令行。
在Windows 7上, PowerShell 似乎是比cmd更好的选择。
答案 3 :(得分:4)
首先,现代Windows中不存在MS DOS - 自Win2k / WinXP以来就没有 你在Windows命令行中的意思。它有很多很好的用途,但您可能会发现教它们创建.cmd脚本并从“运行”对话框中运行它们会更容易。
我在Windows中使用命令行的原因如下:
除此之外,我很少在windows中使用命令行。如果我需要在批处理过程中做任何事情,我会直接进入我的linux服务器并执行此操作。
Powershell可能会更好,但我没有使用它(正如我所说,我可以使用linux)所以我不能对此发表评论。
答案 4 :(得分:3)
在Windows中你也可以教他们Powershell ......
答案 5 :(得分:2)
永远不要低估批处理文件的有效性。大约一年前,我曾经将它们用于几个小任务,例如通过网络自动复制备份文件。它们非常有用。
答案 6 :(得分:2)
考虑到Cygwin可以在Windows上访问Unix命令行,
但是考虑到MS-DOS有时可能有所帮助,
我会教另一种方式:Unix作为入门者和主要课程,然后是MS-DOS作为旁注。
答案 7 :(得分:0)
也许有一天你的窗户会粉碎,所以如果你知道MS-DOC的基础知识,你可以在格式化磁盘之前从计算机中保存一些文件。或者也许你可以修理你的硬盘。如果您是开发人员,可以使用MS-DOC命令生成一些文件......在某些情况下非常有用。
答案 8 :(得分:0)
学习任何东西都是有用的,但是我不会对它们强制执行,有很多很棒的命令行工具仍然可供使用,有时候编写一个简单的批处理文件来完成一些繁琐的任务会更简单。 DOS并不是一件难以学习的东西,所以我不会花太多时间在它上面,而只是教一些基本的DOS命令并指出它们的一些参考,如果他们希望进一步了解他们的话。
答案 9 :(得分:0)
这就是为什么你应该放弃在当今时代教授DOS(cmd.exe
)的想法。
一些更好的选择,
答案 10 :(得分:0)
其他想法:
对于计算机科学专业的学生来说,Linux / FreeBSD上的学习编程要比在Windows上进行学习编程好得多。首先,开源操作系统便宜;其次,这些类UNIX操作系统组织良好,开放性强,初学者可以获得更多的知识和技术。在这个关于命令行的主题中,我们可以看到* NIX shell比Windows cmd更强大,更漂亮。
对于在Windows平台上工作的程序员或系统管理员,cmd(或PowerShell)是必备技能。我们可以编写cmd脚本来做一些简单的自动作业。对于复杂的任务,我们可以选择VBScript / Python / Perl / AutoHotKey并将它们与cmd一起附加。
答案 11 :(得分:0)
引自hrzafer:
“他们也在学习Windows上的C编程。因此他们可以在代码中使用一些带有system()函数的命令。”
我同意这一点。不仅是“system()”,还有“int argc,char * argv []”,“返回/退出”等。
最好开始使用CLI学习编程。使用文本编辑器和编译器/ debuger / profiler而不是IDE的命令工具包,学生可以理解编译过程,源代码和可执行文件的实质,以及程序和操作系统shell之间的交互。
答案 12 :(得分:0)
我会马上用Linux / Unix开始。虽然你说他们以前从未使用过Linux并习惯于Windows,但我怀疑他们曾经多久使用过DOS /命令行。如果你正在谈论真正的MS-DOS与8.3文件名,config.sys / autoexec.bat,内存限制&司机麻烦,除非绝大多数学生将为遗留系统开发,否则你只会浪费时间在一些不会有太大益处的事情上。当他们开始熟悉DOS然后不得不跳到Linux时,它会变得更糟,与DOS相比,它看起来像一个外星球。
Windows命令行可能很好学,但最终他们应该学习编程基础知识,然后他们可以将它应用于许多脚本语言,如BATCH,BASH,Powershell等......