Linux-подібний термінал для Windows

Я шукаю додаток, який може працювати як інтегрований Linux-подібний термінал для мого ПК з Windows. Наприклад, я можу блукати навколо файлової системи, встановлювати додатки, такі як vi, і т.д.

  • Gratis
  • Використовує Bash
  • Не емулятор (я дійсно бачу свої файли на диску C і взаємодію з ними)
  • Проста установка
  • Сумісно з Windows 10
62
Якщо ви готові втратити баш-вимогу, ви можете також подивитися на Powershell, який є сценарієм і інтегрується в більше служб Windows - en.wikipedia.org/wiki/Windows_PowerShell
додано Автор florin, джерело
Там завжди PuTTY. Для цього потрібно де-небудь (наприклад, малина pi, виділений ПК, віртуальна машина, EC2). Таким чином, ви не відчуєте багато болю Cygwin. Додано це як коментар, тому що це досить погана інтерпретація ваших критеріїв. Тим не менш, для мене, я віддаю перевагу реальному Linux над Cygwin.
додано Автор George R, джерело
додано Автор Mawg, джерело
^ У цьому випадку, чому б не Python? Це також крос-платформна і дійсно повноцінна мова програмування загального призначення.
додано Автор Nic, джерело
Ви запитуєте про командну оболонку або термінал, відмінний від консолі Windows?
додано Автор kuzzooroo, джерело
І не забудьте захопити останню збірку ConEmu, щоб замінити Windows або CygWins за замовчуванням CMD ...
додано Автор zipzit, джерело
ConsoleZ з рідними інструментами gnu є гарною альтернативою
додано Автор blackpanther, джерело

9 Відповіді

Я використовую Cygwin протягом деякого часу, і це, здається, виконує цю роботу. Це було дуже легко встановити, і я міг вибрати з багатьох різних пакетів для установки, як vim, wget і т.д.

Cygwin

Отримайте відчуття Linux - у Windows

     

Cygwin - це середовище, подібне до Unix, і інтерфейс командного рядка   Microsoft Windows. Cygwin забезпечує внутрішню інтеграцію Windows   програми, дані та інші системні ресурси з додатками,   програмні засоби та дані середовища, подібного до Unix.

     

60
додано
@JimGarrison Я думаю, що це може означати тільки, що ви не використовували повільні функції, тому що повільність неможливо було не помітити для скриптів оболонки, які мені потрібні. Не те, щоб це було джерелом розчарування, оскільки я міг просто ssh на сервер Linux і запустити там свої скрипти. Cygwin ніколи не був джерелом розчарування для мене - я б замість цього винив Windows і визнав, що Windows з Cygwin був кращим робочим середовищем, ніж Windows без Cygwin.
додано Автор Adam Endicott, джерело
@JimGarrison Чи покращилася продуктивність протягом цього десятиліття? У 2006 році я вже кілька місяців використовував Cygwin. Використання fork, exec та pipes було настільки повільним, що сценарії оболонки працювали принаймні в 100 разів швидше в Linux, ніж у Windows.
додано Автор Adam Endicott, джерело
Я використовую Cygwin вже більше десяти років. Це мій стандартний термінал командного рядка (mintty), і мені майже ніколи не доведеться використовувати cmd.exe.
додано Автор lazarusL, джерело
@kasperd Я ніколи не помітив проблеми з продуктивністю. Я не сподіваюся, що він буде відповідати рідній продуктивності Linux, але ніколи не було місця, де мене розчарувало погана робота.
додано Автор lazarusL, джерело
додано Автор Shaik, джерело
Чому у вас є фотографія Hamilton C Shell?
додано Автор kohske, джерело

cmder

cmder

Вона поєднує в собі ConEmu , емулятор консолі Windows, доповнений башовими можливостями, Clink і msysgit . Деякі помітні функції включають:

  • Bash shell, through msysGit
  • GNU C Compiler & GNU Make
  • Perl
  • cURL
  • In-built SSH agent
  • Command auto-completion
  • Aliases (with the same syntax as bash)
  • Paste from keyboard with CTRLV

Якщо ви шукаєте менеджера пакетів (наприклад, apt-get або yum ), Chocolatey - можлива альтернатива Windows. Вона не містить усіх пакунків, а деякі іноді є застарілими, але вона має досить вражаюче поширення.

choco install googlechrome
39
додано
+1 для того, щоб сказати, що Chocolatey має вражаюче поширення. :-)
додано Автор fizzer, джерело
+1 для простої згадки Cmder, я люблю цю частину програмного забезпечення. Це також портативний, так що ви можете мати його на USB-ручку і мати його на ходу, що я роблю, щоб уникнути огидного cmd інтерфейсу.
додано Автор casey, джерело
+1. cmder, ймовірно, так добре, як він отримує. Я згадаю, хоча у неї є багато проблем з перемальовуванням. (Наприклад, якщо у вас є меню, що мерехтять і не існують у vim).
додано Автор warren, джерело
У контексті питання (який попросив оболонку bash) я думаю, що це так само добре, як Cygwin. Іноді вам не потрібна повна система Linux разом з менеджером пакунків, просто оболонка bash для швидкої та брудної роботи.
додано Автор Yossi, джерело
Цікаво, що він використовує Git Bash. Я використовую його сам, але це дійсно кращий підхід проти Cygwin? Немає менеджера пакетів. Chocolatey, здається, просто встановлює програми для Windows.
додано Автор Ron Fredericks, джерело

Cygwin, already listed is a good solution.

Однак є й інша альтернатива: MSYS .

MSYS набагато легше, ніж Cygwin, проте може не мати все, що потрібно. Очевидно, вам доведеться оцінювати це самостійно. Це, безумовно, задовольняє всі 5 ваших пунктів кулі. Це безкоштовна, має оболонку Bash, ви можете взаємодіяти з поточними дисками, її легко встановити, і вона працює на Win10.

20
додано
Я настійно рекомендую MSYS2 над старим MSYS.
додано Автор user1833028, джерело

Бабун

A screenshot of me fooling around with nant through Babun. This is a solarized light theme

Я здивований, що ніхто не згадував Бабуна, "вікна оболонки ви будете любити". Це попередньо налаштований Cygwin, який "просто працює", як правило, досить приголомшливий.

Протягом тривалого часу я користувався Git Bash (притаманним Console2), але я відчував, що цього не було. Я хотів більше, але я був дуже заляканий Cygwin: я боявся, можливо, нерозумно, з роздуватися , і труднощі налаштування речі. Я також хотів досить гарний термінал, і out-of-the-box cygwin просто не дуже красиво. Я боюся, що я буду звучати як реклама, але Бабун дійсно просто працював.

Тепер на вимоги:

  • це безкоштовне та з відкритим вихідним кодом.
  • за замовчуванням використовує zsh замість Bash, але відверто кажучи, це майже те ж саме для випадкового користувача. Він може бути переконфігурований, щоб використовувати правильний bash.
  • Файлові файли Windows можуть бути ідеально взаємодіяли, диски доступні під /cygdrive/, але також мають псевдоніми під буквою диска під коренем.
  • Встановлення просто запущено install.bat.
  • Підтримка Windows 10

У нього є проблеми:

  • Symlinks are a bit crap, that's a Cygwin issue.
  • There's a permission-related error that caused me some grief.
  • Its footprint is not negligible (at around 800 MB on my machine with stuff I need for work), which makes non-Cygwin solutions (Git-bash or cmder) more suitable if disk space is an issue (yes, guys, disk space is sometimes still an issue).
  • oh-my-zsh's autocomplete can be slow. But you'll still love it.
  • there are some hiccups with the interaction with Windows files and applications in some edge cases, mostly for files with spaces in their names. These can be avoided easily enough, but it's still a bit of a pain. Calling windows executables with windowsy files as arguments requires the use of cygpath.
  • windows doesn't recognise Babun as an interactive shell, it thinks it's a pipe. This causes all sorts of issues with native node interactive programs. It's a mintty issue, that can be ameliorated

Як правило, якщо ви просто хочете мати гарну оболонку з функціями, не витрачаючи жодного часу на налаштування та налаштування цієї речі, Бабун просто ідеальний. Є дратівливі питання, але мені це подобається :)

18
додано
Не могли б ви відредагувати свою відповідь і включити, як Бабун відповідає кожному з вимог ОП? Щоб отримати посібник із відповідей, ознайомтеся з нашою дискусією про те, що робить відповідь високоякісним . Дякую!
додано Автор jennyfofenny, джерело
+1, тим більше, що він має робочу реалізацію zsh з коробки
додано Автор Erik, джерело

Я використовую комбінацію Git Bash, яка виникає під час встановлення Git та ConEmu . Git Bash використовує MinGW, а ConEmu надає можливість мати декілька вкладок і гарні кольорові схеми, можливість мати повноекранний термінал і багато іншого.

15
додано
Я повинен сказати, що я віддаю перевагу Git Bash над Cygwin, тільки тому, що, якщо я дійсно хочу повну Linux-подібне середовище на моєму комп'ютері, саме тоді я завантажую Linux. Cygwin є велика річ, але це overkill якщо ви тільки захочете оболонку!
додано Автор Evgeny, джерело
@tjd perl - звертається про версію v5.22.0 (остання стабільна) з моєю установкою Git-2.5.2.2.
додано Автор Shaik, джерело
@Boggin Я відмовився від перевірки оновлення до Git 1.9.5 у Windows. Приємно бачити, що вони нарешті доставили!
додано Автор Manuel Kasten, джерело
... і для тих, хто цікавиться археологією програмного забезпечення, Git Bash для Windows поставляється з perl v5.8.8. На вікнах важко знайти більш застарілу версію perl.
додано Автор Manuel Kasten, джерело

MSYS2 is a fork of Cygwin created with the intention of being an updated environment to support building with MinGW. (That is, it's meant to serve as a better maintained alternative to the ever more out of date MSYS. See here for some details.) It functions well as a bash shell with Linux tools on a Windows machine.

Вимоги

  • Free
  • bash is the default shell
  • Installs on your machine and works on your local hard drive, not on an emulated system

    Note that you must either quote your paths (cd 'C:\') or use an alternative absolute specification (cd /c). I believe Cygwin, MSYS, and Інший related variants to be similar in this regard.

  • Uses a standard, executable Windows installer

  • I have not personally tested on Windows 10, but since it's a fork of Cygwin and closely tracks it, I am confident it's as compatible with Windows 10 as Cygwin is.

Інший

На мій погляд, найбільшою перевагою MSYS2 є порівняно чисте управління пакетами. Менеджери пакетів Cygwin і MSYS, на мою думку, заплутані і важкі для використання. Вони графічні і не дуже добре інтегровані з самою системою. На відміну від цього, MSYS2 портував пакман Arch Linux, і все управління пакетами здійснюється в командному рядку. Є багато доступних і легко встановлюваних пакунків, від Python до Perl до vim до SVN для git до компіляторів MinGW. Існує невелика гикавка з оновленням деяких "основних" пакетів: потрібно перезапустити оболонку і запустити оновлення знову, але це набагато краще, ніж для запуску деякого зовнішнього графічного інструменту, на мій погляд.

Див. вступ і порівняння з Cygwin для власної заяви MSYS2 про відмінності від Cygwin і їхніх цілей .

12
додано
@Josef Я вважаю, що я загалом задоволений консоллю, яку він використовує за замовчуванням. Це, безумовно, набагато краще, ніж вікно командного рядка.
додано Автор Martin Gordon, джерело
ConEmu має ту перевагу, що він також може бути використаний для вітчизняних додатків консолі Windows і PuTTY/KiTTY, тому у мене є всі мої консолі, локальні і віддалені, Windows і MSYS2 в одному вікні.
додано Автор Daniel, джерело
Я згоден! Окрім цього, ConEmu - це приємний емулятор консолі. Я використовую zsh або рибу як оболонки, але з MSYS2 в ConEmu, щодня.
додано Автор Daniel, джерело

Windows 10, з оновленням ювілею 2016 року, тепер надає двійковий файл Bash Linux, який працює на самому Windows. Доступ до нього можна отримати через будь-який командний рядок і запустити команди UNIX-стилю (наприклад, ls ), як це було б з будь-якою іншою командою. Для отримання додаткових відомостей про це читайте повідомлення MSDN на сторінці Підсистема Windows для Linux .

Screenshot

11
додано
Я знаю, я дуже схвильований, не можу чекати: D
додано Автор Luke Girvin, джерело
ще деякі відсутні функції wpdev.uservoice.com/forums/…
додано Автор kohske, джерело
@StevenPenny дякую вам за посилання і за згадку про обмеження.
додано Автор Eugene Yarmash, джерело
Це виглядає дуже цікаво.
додано Автор Aiden Grossman, джерело
Це має бути відповідь зараз, оскільки фактичні дистрибутиви Linux працюють на Windows 10 і надзвичайно прості в установці.
додано Автор Arise, джерело

As of 2015 and Python 3.4's release, there's now a reasonably complete user-interactive shell available at: http://xon.sh/

демонстраційне відео не показує, що труби використовуються, але вони підтримуються в оболонці режиму.

Xonsh ('conch') дуже намагається наслідувати bash, тому речі, які ви вже набрали м'язову пам'ять, начебто

env | uniq | sort -r | grep PATH

або

my-web-server 2>&1 | my-log-sorter

will still work fine. You may need cygwin абоmsys around to have access to the GNU coreutils like grep and uniq. Windows has some of it's own builtins under unixlike names that can blow stuff up, so be careful with the order of your PATH variable.

The xonsh tutorial is quite lengthy and seems to cover a significant amount of the functionality someone would generally expect at an ash абоbash prompt:

  • Compiles, Evaluates, & Executes!
  • Command History and Tab Completion
  • Help & Superhelp with ? & ??
  • Aliases & Customized Prompts
  • Executes Commands and/або*.xsh Scripts which can also be imported
  • Environment Variables including Lookup with ${}
  • Input/Output Redirection and Combining
  • Background Jobs & Job Control
  • Nesting Subprocesses, Pipes, and Coprocesses
  • Subprocess-mode when a command exists, Python-mode otherwise
  • Captured Subprocess with $(), Uncaptured Subprocess with $[], Python Evaluation with @()
  • Filename Globbing with * абоRegular Expression Filename Globbing with Backticks
5
додано

MobaXTerm

screenshot

  • Безкоштовно: так . Він має особисту та професійну версію. Професійне видання в основному лише додає договір підтримки та інструменти розгортання AFAICT). Ви можете використовувати особисте видання на вашому робочому місці
  • використовує Bash: Так. Я використовую MobaXTerm 8.6 і використовує звільнення Bash 4.1.17 (0). Новіші версії MobaXTerm можуть користуватися новим Bash
  • Не емулятор: Так, це не емулятор . Він запускає вас у бік того, що виглядає як структура файлів Unix (подивіться як ls/), але якщо ви перейдете до /mnt/c , ваш диск C там.
  • Проста установка: так . Поставляється як простий інсталятор, так і портативний exe
  • Сумісно з Windows 10: Так і Vista та 7

Встановлення таких речей, як Vi, це може зробити. Він має свій apt-get який є MobApt, який базується на apt-cyg (версія 0.59 для мене) Ви робите звичайний стиль debian apt-get install vi і т.д.

Я вважаю, що MobaXterm в основному поєднує Cygwin, але я віддаю перевагу тому, що в останній раз я використовував Cygwin, він потрапив на всю мою операційну систему, додавши себе до версій меню. MobaXterm зберігає все це міститься.

Головні особливості MoboXTerm - це не його локальний термінал. Його, мабуть, найбільш відомий своїм клієнтом SSH, з вбудованим SFTP і X11. І купа інших речей

4
додано