I don’t know if this is a dumb question or not but again as my professor says if you have doubts then clear them . What is the difference between Linux text mode and windows command prompt (cmd). I know both windows and Linux are different Operating Systems but when you look at the commands, some of the commands are common For Example cd command
.
asked Aug 27, 2010 at 16:09
2
Although superficially similar in some ways, the two command line interfaces have different lineages:
-
The Windows command prompt is based heavily on that of MS-DOS / PC-DOS, which in turn was based on the CP/M Console Command Processor. The CP/M CCP interface was itself based on an earlier operating system called RSTS.
-
The Linux shells trace their roots back to the original UNIX Thompson shell; the Thompson shell borrowed from the Multics shell (where the term «shell» originated).
Traces of these are still evident today — the DIR
command in the Windows command prompt can be traced all the way back to the DIR
command in RSTS, and similarly the ls
command in GNU coreutils can be traced back to the Multics «list segments» command.
answered Aug 27, 2010 at 16:52
cafcaf
234k40 gold badges323 silver badges464 bronze badges
They’re both based on the same idea and are called Command-Line Interfaces (see wikipedia). They operate off the same principals, just using different keywords to perform similar commands. It should be noted however, that the commands although similarly named, may not perform the exact same function. They are just abstractions of lower level functions of the operating system. Just like people can explain similar ideas using different words and phrases, the same applies in this situation. For reference here’s a list of Bash commands: http://ss64.com/bash/ and the same website has windows commands.
answered Aug 27, 2010 at 16:14
GotDibbsGotDibbs
3,0781 gold badge23 silver badges29 bronze badges
1
The difference is the operating system. The command prompt (cmd) and a terminal emulator (linux bash shell or similar) are text interfaces to the operating system. They allow you to manipulate the file system and run programs without the graphical interface.
answered Aug 27, 2010 at 16:12
Matt PhillipsMatt Phillips
11.3k10 gold badges47 silver badges71 bronze badges
It is not that commands are in common (well yes, maybe some), it is that they have the same name and do almost the same things, as for cd
as you said.
The shells are an abstraction of the underlying operative system, Linux and Windows have a different kernel, hence the difference.
You might want to start here with your reading.
answered Aug 27, 2010 at 16:18
Alberto ZaccagniAlberto Zaccagni
30.9k11 gold badges72 silver badges106 bronze badges
Имеет ли смысл дополнительно скачивать графическое рабочее пространство linux для win 10?
нет
Как вы думаете, правильно ли я поступаю, что начинаю знакомство с linux таким образом?
нет. Нужно начинать в линуксе сразу
в win 10 внедрили ядро linux
Точнее добавили виртуальную систему, которая запускается через bash.exe.
Не совсем корректно работает сеть и обрабатываются переносы строк.
Видимо, она задумывалась как костыль для упрощения работы с файлами через командную строку Windows.
Ставить туда что-то серьезное как-то стремно.
Как вы думаете, правильно ли я поступаю, что начинаю знакомство с linux таким образом?
Имхо, неправильно. Лучше скачайте Virtualbox и установите на него Ubuntu Desktop (т.е. с графической оболочкой). Осваиваться лучше в полноэкранном режиме, чтобы ничто не отвлекало.
в win 10 внедрили ядро linux
не правильно поняли. Добавили подсистему совместимость с линухом. Ядром линуха там и не пахнет.
Имеет ли смысл дополнительно скачивать графическое рабочее пространство linux для win 10?
Сейчас поставить гуи очень сложно и не имеет смысла.
Имеет ли bash под win 10 те же преимущества (такая же она или нет), что и под linux?
Там полноценное окружение. Можно пользоваться менеджером пакетов и запускать бинарники.
Most of us think that Linux has terminal and we can use a command-line interface only in Linux but it is just a myth. There is a PowerShell and a command prompt in windows as well where we may execute the commands easily. But Windows and Linux have commands with the same name as well.
SNo. | Windows | Linux | Description |
---|---|---|---|
1. | dir | ls -l | Directory listing |
2. | ren | mv | Rename a file |
3. | copy | cp | Copying a file |
4. | move | mv | Moving a file |
5. | cls | clear | Clear Screen |
6. | del | rm | Delete file |
7. | fc | diff | Compare contents of files |
8. | find | grep | Search for a string in a file |
9. | command /? | man command | Display the manual/help details of the command |
10. | chdir | pwd | Returns your current directory location |
11. | time | date | Displays the time |
12. | cd | cd | Change the current directory |
13. | md | mkdir | To create a new directory/folder |
14. | echo | echo | To print something on the screen |
15. | edit | vim(depends on editor) | To write in to files. |
16. | exit | exit | To leave the terminal/command window. |
17. | format | mke2fs or mformat | To format a drive/partition. |
18. | free | mem | To display free space. |
19. | rmdir | rm -rf/rmdir | To delete a directory. |
20. | taskkill | kill | To kill a task. |
21. | tasklist | ps x | To list running tasks. |
22. | set var=value | export var=value | To set environment variables. |
23. | attrib | chown/chmod | To change file permissions. |
24. | tracert | traceroute | To print the route packets trace to network host. |
25. | at | cron | daemon to execute scheduled commands. |
26. | type | cat | To print contents of a file. |
27. | ping | ping | To send ICMP ECHO_REQUEST to network hosts. |
28. | nslookup | nslookup | To query Internet name servers interactively. |
29. | chdisk | du -s | For disk usage. |
30. | tree | ls -R | To list directory recursively. |
Examples:
1. Listing Directories and files in the current folder/directory.
For Windows:
For Linux:
2. Renaming a file.
For Windows:
For Linux:
Last Updated :
17 May, 2020
Like Article
Save Article
Операционная система Windows появилась в 1985 году, а первые полноценные дистрибутивы Linux начали появляться в 1993 году. Windows изначально была графической надстройкой MS-DOS, а Linux служил для доступа к терминалу. Спустя годы системы заметно преобразились и представляют собой гораздо большее, чем было ранее.
В этой статье мы разберемся чем отличается Windows от Linux. Мы рассмотрим основные отличия систем, как в плане архитектуры, так и с точки зрения обычного пользователя и разработчика программного обеспечения.
1. Ядро и драйверы
Ядро операционной системы обеспечивает доступ к ресурсам компьютера, а также управляет процессами. Linux использует монолитное ядро, то есть в одном файле содержится большая часть кода, необходимого для функционирования системы. На нижнем уровне оно принимает сигналы от устройств, а на верхнем обрабатывает системные вызовы – доступные программам команды, отвечающие стандартам POSIX. Системные вызовы дополняют библиотеки C, C++ и утилиты проекта GNU, что позволяет выполнять код любой сложности.
Ядро Windows гибридное и состоит из множества библиотек. Таким образом главная программа Ntoskrnl.exe, не имеет прямого доступа к аппаратной части, эту роль выполняет библиотека HAL.dll. А на пользовательском уровне вместо системных вызовов используются функции библиотеки NTDLL.dll, к которой также подключаются библиотеки C, C++ и т.д.
Драйверы Linux по большей части хранятся в ядре, но зачастую подключаются модули ядра, содержащие дополнительные драйверы, например, для видеокарт Nvidia. Драйверы Windows, как вы могли догадаться, выполнены в виде библиотек. В этом плане Linux проигрывает, поддерживается далеко не всё оборудование, к тому же часть устройств имеет только базовый драйвер.
Настройки Linux хранятся в каталоге /etc, где каждая служба и программа имеет свой конфигурационный файл. В Windows некоторые службы также имеют конфигурационные файлы, но все основные настройки хранятся в общей базе – системном реестре.
2. Файловая структура и права доступа
Windows и Linux используют разные файловые системы. Если для Linux стандартом стал ext4, то для Windows – NTFS. В целом они похожи, обе имеют запас по размеру разделов, глубине каталогов и длине имени файлов. Также они поддерживают шифрование, а NTFS помимо прочего умеет сжимать данные для экономии места. Эта функция есть в более перспективной BTRFS, которая должна в скором времени заменить ext4.
Обе системы ведут журналирование изменений, что повышает надёжность. Однако, NTFS не имеет полной поддержки прав доступа POSIX, поэтому она не подойдёт для установки Linux. Стоит отметить и то, что Windows не поддерживает ext4 из коробки, а большинство дистрибутивов монтирует NTFS только по запросу.
Главное же отличие – это файловая структура. В Linux все файлы и каталоги находятся в корневом каталоге /, всё согласно стандартам UNIX. Накопители и их разделы смонтированы в том или ином месте корневого каталога. Например, второй накопитель можно найти в каталоге /mnt. Программы хранятся сразу в нескольких каталогах, настройки в /etc, исполняемые файлы в /bin и т.д.
В Windows пользователю видны логические диски, системный диск C:, а также остальные диски с другими буквами алфавита. Что интересно, Windows тоже поддерживает точки монтирования, и вместо буквы можно указать папку. Программы хранятся в отдельных каталогах, зачастую есть возможность выбрать место установки. Из недостатков стоит отметить регистронезависимые имена. В одном месте нельзя создать две папки с именами Folder и folder, для системы это одно и то же.
Несмотря на то, что Linux изначально создавался в качестве замены UNIX, системы для мейнфреймов с многопользовательским доступом, Windows позволяет более гибко настраивать права доступа. В Linux по умолчанию есть всего три категории прав: пользователь, группа, все остальные.
Windows может выдавать права сразу нескольким пользователям и группам. Linux также это умеет, но через расширение стандарта POSIX в виде списков управления доступом ACL. Для этого используется консольная утилита setfacl и её графический аналог Eiciel. Дальше давайте рассмотрим другие принципиальные отличия Linux от Windows.
3. Окружение рабочего стола
Windows использует оконный менеджер DWM и оболочку Explorer (не путать с файловым менеджером), которые тесно связаны с библиотекой GDI, а та в свою очередь зависит от унифицированного драйвера WDDM. Этот набор библиотек и служб есть в любой копии Windows, поэтому разработка программ стандартизирована. Минусом подобного решения является ограниченная кастомизация интерфейса.
Linux может предложить множество оболочек рабочего стола (GNOME, KDE, Cinnamon и т.д.) со своими оконными менеджерами, а обслуживать это будет протокол XOrg или современный Wayland. Система может выглядеть как угодно, а популярные оболочки имеют множество настроек для изменения внешнего вида. Обратная сторона медали – плохая совместимость программ, написанных под разные оболочки.
4. Программное обеспечение
Сложно отрицать тот факт, что на Windows выпускается гораздо больше программ и игр. На Linux вы не найдёте многие профессиональные программы, начиная с пакета Adobe и заканчивая различными САПР.
Приложения Windows в большинстве своём распространяются в виде установочных файлов формата .exe или .msi, а в Linux зачастую используются репозитории – файловые серверы с огромным количеством пакетов программ и библиотек. Также используются разные форматы пакетов, в зависимости от выбранного дистрибутива. Единая пакетная база заметно усложняет разработку программ. Например, нельзя переписать программу с использованием новой библиотеки, ведь старая используется другими приложениями.
Эту проблему пытаются решить несколькими способами. Сторонние программы могут устанавливаться в каталог /opt, аналог папки Program Files. Также получили распространение песочницы Flatpak и Snap, устраняющие проблемы с зависимостью от системных библиотек, и формат AppImage (одна программа – один файл).
К плюсам Linux также можно отнести большее количество программ с открытым кодом. Это не гарантирует отсутствие уязвимостей, но позволяет создавать и дорабатывать программы, что особенно актуально при завершении поддержки разработчиками. Таким образом многие программы продолжают развиваться, но уже другими людьми.
Если же говорить об уязвимостях, то на Linux пишут меньше вредоносных программ, для защиты от них антивирус обычно не требуется. Но не стоит забывать о том, что большинство атак перешло в интернет. Поэтому даже на Linux не лишним будет установка антивируса для защиты от фишинговых сайтов.
5. Разработка программного обеспечения
Microsoft предоставляет доступ к библиотеке MSDN, она содержит подробную документацию для разработчиков. С написанием сложных программ, вроде игр, проблем также не должно возникнуть, используются одни и те же библиотеки во всех копиях Windows.
Linux позволяет с лёгкостью писать простые программы без графического интерфейса, причём получить доступ к оборудованию гораздо проще, чем в Windows. Устройства расположены в каталоге /dev, к ним можно обращаться практически напрямую. Однако, сложные приложения с графическим интерфейсом надо проверять на работоспособность во всех популярных дистрибутивах, поддерживать их пакеты в репозиториях и так далее. А ведь для этого надо изучить многочисленную документацию, которая выполнена на разном уровне.
Хорошим примером может послужить Android, система практически монополизировала рынок смартфонов, хотя в её основе лежит ядро Linux. А всё дело в том, что её приспособили для использования на мобильных устройствах и привели к единому стандарту.
Пока что разнообразие дистрибутивов Linux не может привлечь крупных разработчиков программного обеспечения. Трудозатраты на поддержку и отладку гораздо выше, чем для Windows, а доход на порядок ниже.
6. Способ распространения
Windows не имеет бесплатной версии, хотя есть способы (легальные и не очень) полноценно использовать систему. Предустановленные системы обходятся заметно дешевле, поэтому Windows имеется на большинстве продаваемых ноутбуков.
Большая часть дистрибутивов распространяется бесплатно, исключение составляют лишь некоторые коммерческие продукты, вроде серверного дистрибутива Red Hat. Бесплатность Linux мнимая, разработку оплачивают крупные корпорации, вроде Oracle и HP. Единичные экземпляры ноутбуков поставляются с Linux, хотя в последнее время он всё чаще предлагается в качестве альтернативы отсутствию операционной системы.
7. Доля на рынке, сферы применения
Linux создавался на основе стандартов POSIX для операционных систем UNIX, а те в свою очередь были основой многопользовательских мейнфреймов. В качестве домашней операционной системы Linux занимает менее 2%, зато около 80% серверов работает под управление Linux. Что уж говорить, если свой серверный дистрибутив Linux есть даже у Microsoft. Также Linux повсеместно используется в маршрутизаторах, телевизорах и прочей технике интернета вещей.
На текущий момент Windows популярен только в сегменте домашних компьютеров и рабочих станций, здесь он занимает более 80%. Windows для серверов хоть и менее популярна с долей около 20-30%, но опережает Linux в плане прибыли. Конечно, это не все отличия Linux от Windows.
Выводы
Теперь вы знаете чем отличается Windows от Linux и эти отличия довольно значительные. В первую очередь они связаны со сферой применения. Windows устанавливается преимущественно на персональные компьютеры, а Linux на серверы. Для домашнего использования Linux по-прежнему подходит лишь отчасти. Разнообразие дистрибутивов отталкивает разработчиков, а без программ интерес к системе падает и у обычного пользователя.
И всё же настольный дистрибутив Linux – это отличное решение для тех, кому компьютер требуется лишь для выхода в интернет, разработки сайтов и несложной работы с документами. Для игр и работы с мультимедиа Windows подходит гораздо лучше.
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
PowerShell – популярный инструмент, используемый IT-специалистами для выполнения широкого круга задач. И хотя Microsoft стремится к тому, чтобы PowerShell выглядел и чувствовался одинаково на всех системах, у PowerShell для Linux и Windows есть несколько важных различий, некоторые из которых могут быть очевидны для опытных разработчиков, но другие могут оказаться неожиданными. Давайте вместе изучим их различия!
PowerShell и Windows PowerShell
Так как в этой статье мы говорим о PowerShell, а не о Windows PowerShell, нам важно понимать различия между ними.
● PowerShell – это программа с открытым исходным кодом, созданная на базе .NET Core и совместимая с операционными системами Windows, macOS и Linux.
● Windows PowerShell – эксклюзивная программа для Windows. Она установлена в системе по умолчанию и создана на базе платформы .NET Framework.
В нашей статье мы будем говорить о последней версии PowerShell для Windows и Linux – 7.2.4.
Немного про .NET Core
.NET Core позволяет PowerShell работать на разных ОС. Платформа, представленная Microsoft в 2014 году, сделала .NET совместимой с Linux и macOS. Это позволило создать кроссплатформенное ПО, построенного на базе .NET Framework. И хотя большая часть функций и возможностей .NET Framework доступны в .NET Core, не обошлось без изменений, которые подробно описаны в документации Microsoft по .NET.
Так чем же PowerShell для Windows и Linux различаются?
Чувствительность к регистру
Из всех различий в PowerShell между платформами чувствительность к регистру – одно из самых значительных. PowerShell-скрипты на Linux чувствительны к регистру в имени файлы или модуля. И хотя системы файлов и модулей чувствительны к регистру, имена файлов в PowerShell можно записывать с помощью автозаполнения, не думая о чувствительности к регистру.
Рисунок 1. Запуск скрипта для Test.txt возвращает True.
Например, если в текущем рабочем каталоге есть файл с именем Test.txt, запуск скрипта для проверки на наличие test.txt и Test.txt вернет True только для Test.txt, как показано на рисунке 1. Однако, если набрать ./test, автозаполнение подставит в командную строку Test.txt, если нет другого файла или папки, название которых начинается с test.
Файловая система
Еще одно ключевое различие между Windows и Linux – это файловая система. Windows использует буквенные обозначения дисков и обратные косые черты в качестве разделителя каталогов, в то время как Linux использует древовидную структуру и косые черты.
Рисунок 2. Система возвращает True при проверке на наличие файла .\Test.txt в Linux
PowerShell позволяет передавать пути командам, используя косую черту, либо обратную косую черту, интерпретируя любую из них как правильный разделитель каталогов для текущей платформы. Это отлично подтверждает скрипт, показанный на рисунке 2. Видно, что возвращается True при проверке на наличие файла .\Test.txt в Linux, даже несмотря на использование обратной косой черты.
Псевдонимы
Псевдонимы – это удобная функция в PowerShell, экономящая время пользователя. Пытаясь сделать PowerShell более привычным для пользователей Linux, Microsoft ввел несколько псевдонимов, которые привязывают Unix-команды к их PowerShell-эквивалентам. Например, команда ls выводит список содержимого каталога в Linux и macOS. А запуск псевдонима ls в PowerShell в Windows вызывает команду PowerShell Get-ChildItem.
Рисунок 3. Результат выполнения команды ls в Ubuntu.
На рисунке 3 показаны результаты выполнения команды ls в PowerShell для Ubuntu.
В отличие от этого, на рисунке 4 показаны результаты выполнения команды ls в PowerShell на Windows.
Рисунок 4. Результат выполнения команды ls в PowerShell для Windows.
Стоит отметить, что в PowerShell для Linux удалены следующие псевдонимы:
-
cp
-
mv
-
rm
-
cat
-
man
-
mount
-
ps
Однако эти псевдонимы все еще существуют в PowerShell для Windows и в Windows PowerShell.
Sudo и PowerShell
Поскольку PowerShell выполняет команды в памяти, sudo невозможно вызвать в PowerShell. Однако, пользователи все же могут вызывать PowerShell непосредственно с помощью sudo и указать, какие команды должны быть запущены.
Подведем итоги
Несмотря на различия между PowerShell в Windows и Linux, основа у них одна и та же. Зная, чем они отличаются друг от друга, IT-администраторы могут с легкостью писать кроссплатформенные PowerShell-скрипты, быстро устранять неполадки и решать связанные с ними проблемы.