Важность изучения консольных команд - PullRequest
1 голос
/ 14 октября 2010

Я преподаю вводный класс для новых студентов-компьютерщиков. На этой неделе я собираюсь преподавать основные команды консоли Windows (командную строку) и командные файлы (и несколько недель спустя Unix). В прошлом году некоторые студенты скулили, что «это больше не нужно». Поскольку я настаиваю на том, чтобы преподавать это, у меня есть некоторые причины. Но я бы хотел услышать ваше мнение, ребята. Какие причины я могу использовать, чтобы убедить их, прежде чем начать?

спасибо.

Хорошо, после нескольких ответов я хотел бы перечислить причины, по которым я могу научить базовым командам консоли и базовому использованию командного файла.

  • Прежде всего, это помогает понять, как все происходит за сценой. Это будет полезно для многих курсов в будущем, таких как ОС и Сеть.
  • Хорошее начало перед изучением Linux. Тогда почему не Linux сначала? Потому что большинство из них еще никогда не использовали ничего, кроме Windows. (Через несколько недель я научу Linux и виртуальную коробку)
  • Не стоит недооценивать пакетные файлы. Это также хорошее введение в сценарии оболочки UNIX.
  • Они также изучают программирование на С под Windows. Таким образом, они могут использовать некоторые команды с system (); функция в их коде.
  • Всю оставшуюся жизнь им придется выполнять множество задач без использования графического интерфейса.

Редактировать: В первоначальном вопросе MS-DOS я пытался ответить на вопрос о командной строке Windows и командной строке в целом.

Ответы [ 13 ]

9 голосов
/ 14 октября 2010

Это будет то, что они будут использовать? Если нет, то они, вероятно, забудут об этом или узнают об этом, не зная, почему, возможно, ненавидят это, а вы этого не хотите.

Я думаю, что они в конечном итоге будут использовать powershell (если не * nix shell), так почему бы не научить этому?

6 голосов
/ 14 октября 2010

Есть веские причины для изучения работы с командной строкой - это намного быстрее, чем любой графический интерфейс для стольких задач, - но DOS действительно действительно имеет явно устарелый вид.Это не значит, что является устаревшим - cmd по-прежнему поставляется с каждой Windows по веским причинам - но учащимся нужно ощущение, что они изучают что-то новое и классное.

Я бы сосредоточился на Linuxза обучение командной строке - никто не может сказать, что это не актуально в 2010 году!- и разобраться с оболочкой DOS и ее (более ограниченными) возможностями и различиями как частью этого.

5 голосов
/ 14 октября 2010

Как говорилось выше, фаласей: «MS-DOS не существует в современной Windows».Командная строка в Win2K / WinXP / Win2003 отличается от оригинальной MS-DOS.Я думаю, что MS-DOS почти (если не совсем) устарел и не заслуживает изучения, если только для тех, кто хочет понять путь развития ОС Microsoft.

Однако для пользователей Windows cmd еще надо учиться.Ниже приведены причины, по моему мнению:

  1. Командная строка - это базовая оболочка CLI в Windows.Многие утилиты (например, ipconfig / ping / netstat / sqlcmd для SQLServer и т. Д.) Можно использовать только в командной строке.
  2. Пакетный (.bat) или CMD (.cmd) скрипт полезен для множества простых автоматических заданий- хотя его функциональные возможности и синтаксис оба одинаковы.
  3. Для расширения возможностей cmd можно использовать некоторые дополнительные наборы инструментов, такие как Cygwin, Sysinternals, Windows Resource Kit Tools и т. д. Им нужны знания по cmd.

Раздел 15 (Совет 21) в знаменитой книге Прагматичный программист объяснил, почему нужно изучать командную строку.

В Windows 7, PowerShell кажется лучшим выбором, чем cmd.

4 голосов
/ 14 октября 2010

Во-первых, MS DOS не существует в современных окнах - он не существовал с Win2k / WinXP, что вы имеете в виду в командной строке Windows.Есть несколько отличных вариантов его использования, но вам может быть проще научить их создавать сценарии .cmd и запускать их из диалогового окна «Выполнить».

Мои причины использования командной строки в Windows:следующим образом:

  • ipconfig / flushdns
  • ping

Помимо этого, я редко использую командную строку в Windows.Если мне нужно что-то сделать в пакетном процессе, я зайду на свой сервер Linux и сделаю это.

Возможно, Powershell лучше, но я этим не пользуюсь (как я уже сказал, у меня есть доступный Linux).мне), поэтому я не могу комментировать это на самом деле.

3 голосов
/ 14 октября 2010

В окнах вы также можете научить их Powershell ...

2 голосов
/ 14 октября 2010
  • Учитывая, что все больше компьютеров (включая мобильные телефоны и серверы в дата-центрах) основаны на Unix или Linux,
  • Учитывая, что ядро ​​вашего класса - Unix и Linux,
  • Учитывая, что Cygwin предоставляет доступ к командной строке Unix в Windows,

  • Но учитывая также, что MS-DOS иногда может помочь,

Я бы преподавал по-другому: Unix как стартер и основной курс, затем MS-DOS как примечание.

2 голосов
/ 14 октября 2010

Никогда не стоит недооценивать, насколько полезными могут быть командные файлы. Примерно год назад я использовал их для нескольких небольших задач, таких как автоматическое копирование файлов резервных копий по сети. Они могут быть очень полезны.

0 голосов
/ 14 октября 2010

Я бы сразу начал с Linux / Unix. Хотя вы говорите, что они никогда не использовали Linux раньше и привыкли к Windows, я сомневаюсь, что они вообще когда-либо использовали DOS / командную строку. Если вы говорите об истинной MS-DOS с 8.3 именами файлов, config.sys / autoexec.bat, ограничениями памяти и проблемами с драйверами, вы просто будете тратить свое время на то, что не принесет особой пользы, если Подавляющее большинство ваших студентов будут разрабатывать для устаревших систем. Будет хуже, когда они начнут хорошо работать с DOS, а затем перейдут на Linux, который будет похож на инопланетную планету по сравнению с DOS.

Командная строка Windows может быть полезна для изучения, но в конечном итоге они должны изучить основы программирования, а затем применить ее ко многим языкам сценариев, таким как BATCH, BASH, Powershell и т. Д.

0 голосов
/ 14 октября 2010

Цитата из hrzafer:

"Они также изучают программирование на C под Windows. Поэтому они могут использовать некоторые команды с system (); function в своем коде."


Iсогласен с этим пунктом.Не только "system ()", но также "int argc, char * argv []", "возврат / выход" и т. Д.

Лучше начать изучение программирования с CLI.Используйте текстовый редактор и набор команд компилятора / отладчика / профилировщика, а не IDE, студенты могут понять процесс компиляции, сущность исходного кода и исполняемого файла, а также взаимодействие между программой и оболочкой операционной системы.

0 голосов
/ 14 октября 2010

Дополнительные идеи:

  1. Для студентов в области компьютерных наук изучение программирования на Linux / FreeBSD намного лучше, чем на Windows. Во-первых, ОС с открытым исходным кодом дешевая; Во-вторых, эти UNIX-подобные операционные системы хорошо организованы и открыты, так что новички могут приобрести больше знаний и методов. В этом разделе о командной строке мы видим, что оболочка * NIX более мощная и красивая, чем Windows cmd.

  2. Для программистов или системных администраторов, работающих на платформе Windows, cmd (или PowerShell) необходим навык. Мы можем написать сценарии cmd для выполнения простых автоматических заданий. Для сложных задач мы можем выбрать VBScript / Python / Perl / AutoHotKey и присоединить их вместе с cmd.

...