Slashdot Mirror


Microsoft Is Making the Windows Command Line a Lot Better (arstechnica.com)

An anonymous reader quotes a report from Ars Technica: Over the last few years, Microsoft has been working to improve the Windows console. Console windows now maximize properly, for example. In the olden days, hitting maximize would make the window taller but not wider. Today, the action will fill the whole screen, just like any other window. Especially motivated by the Windows subsystem for Linux, the console in Windows 10 supports 16 million colors and VT escape sequences, enabling much richer console output than has traditionally been possible on Windows.

Microsoft is working to build a better console for Windows, one that we hope will open the door to the same flexibility and capabilities that Unix users have enjoyed for more than 40 years. The APIs seem to be in the latest Windows 10 Insider builds, though documentation is a little scarce for now. The command-line team is publishing a series of blog posts describing the history of the Windows command-line, and how the operating system's console works. The big reveal of the new API is coming soon, and with this, Windows should finally be able to have reliable, effective tabbed consoles, with emoji support, rich Unicode, and all the other things that the Windows console doesn't do... yet.

46 of 328 comments (clear)

  1. what by nnet · · Score: 5, Interesting

    why does a text console need emoji support?

    1. Re: what by Anonymous Coward · · Score: 5, Funny

      How the hell else do you expect a millenial to be able to figure it out?

    2. Re:what by DickBreath · · Score: 4, Insightful

      Emojis are simply a side effect of supporting Unicode characters -- at long last.

      Now Windows Console will support foreign languages.

      With bigger and bigger Unicode character sets, every font will not only have emojis, and various human languages, it could also eventually have a set of font glyphs for every possible 8x8 cell grid. (That's only 2^64 characters extra in each font!) Then you could use these font characters to display text and graphics like it is 1980 again! That would make Windows Console great (again).

      --

      I'll see your senator, and I'll raise you two judges.
    3. Re:what by Desler · · Score: 5, Insightful

      So it can do things that Slashdot still can't. The irony will probably be lost on the people acting smug over this being "late".

    4. Re:what by Joe_Dragon · · Score: 5, Funny

      emoji is microsoft's systemd

    5. Re:what by Desler · · Score: 2, Insightful

      Another aspie missing the point. Emoji support would come for free if Slashdot could even properly support UTF-8. You know a thing most websites have supported for years and years if not more than a decade.

    6. Re:what by Rockoon · · Score: 3, Interesting

      That is why shashdot doesnt support utf-8. We dont want to see your ascii art, or your smiley faces, or all the other ways that you are just a script kiddie.

      --
      "His name was James Damore."
  2. can I fireup putty and login to an windows server? by Joe_Dragon · · Score: 3, Interesting

    can I fireup putty and login to an windows server? or wait will I need to buy server 2019 to get this server side?

  3. Re:As usual, they are decades late by DickBreath · · Score: 2

    But will there still be any Windows developers left?

    Oh, well. As long as edlin still works.

    --

    I'll see your senator, and I'll raise you two judges.
  4. Did they buy JPSoft? by qzzpjs · · Score: 4, Interesting

    The best way to make CMD livable is to install Take Command. I've been using it since it was called 4DOS back in the pre-Windows days. It has always provided tab filename completion, history, etc (all those nice things in bash) and a much larger command set.

    1. Re:Did they buy JPSoft? by malxau · · Score: 3, Informative

      I've been working on a free alternative (see http://www.malsmith.net/yori/). I won't be able to replicate all of bash, but there's plenty of nice things that can be incorporated into a native Windows shell, and it's sure keeping me busy.

    2. Re:Did they buy JPSoft? by Daltorak · · Score: 3, Insightful

      The best way to make CMD livable is to install Take Command. I've been using it since it was called 4DOS back in the pre-Windows days. It has always provided tab filename completion, history, etc (all those nice things in bash) and a much larger command set.

      Why are you still using CMD in 2018? Why should anyone pay $100 per computer for the closed-source, proprietary Take Command when they could learn Powershell instead? Powershell has full Intellisense nowadays, access to the full .NET Framework library, comprehensive built-in documentation, and thousands of commands that can reach into every part of the system. Plus Powershell is an open-source Github project nowadays. Pair it with the open-source ConEmu for a wicked-good, fully configurable console environment.

    3. Re:Did they buy JPSoft? by phantomfive · · Score: 3, Informative

      when they could learn Powershell instead? Powershell has full Intellisense nowadays, access to the full .NET Framework library, comprehensive built-in documentation, and thousands of commands that can reach into every part of the system.

      Powershell redirect < doesn't work and redirect > can corrupt your files. Furthermore creating new CLI programs that integrate into the Powershell system is a pain. Powershell is great for administering Windows tools, but other than that, it's kind of crap.

      --
      "First they came for the slanderers and i said nothing."
  5. Powershell is powerfull by Camel+Pilot · · Score: 4, Insightful

    But way too verbose and complex... sorta like a java version of bash.

  6. So why is Microsoft doing this? by mykepredko · · Score: 3, Insightful

    Is it to keep up with the Linux's terminals, provide better displaying or Linux apps or establish bragging rights on who has the best console interface?

    When I RFTA, they even note that while Unix/Linux is file based (which makes a "terminal" console more appropriate) Windows is object based with dialog based apps providing access to the system and utilities. I do quite a bit of development on Windows (7) and I really don't find that I need to access the system via the "MSDOS Prompt" console and, when I do, it's adequate for my needs.

    So, while I would have liked a better console for MS-DOS 3.x and OS/2 1.x, I really don't see the need for revamping it for Windows 10 and beyond.

    As for running Linux apps on Windows 10: I would rather suffer the minor inconvenience of turning 45 degrees to my Linux box rather than the major security risk of Windows 10.

    1. Re:So why is Microsoft doing this? by f3rret · · Score: 3, Informative

      They're doing it because MS is moving towards GUI less servers, current editions of Windows Server 2016 are "core" by standard, which means they don't install any GUI components.

      --
      Admit nothing. Deny Everything. Make Counter-accusations.
  7. Translation: When we kill Linux as an OS.. by Rick+Schumann · · Score: 3, Interesting

    When we take over and kill Linux as a stand-alone OS and make it available only under Windows, at least you'll have a command line window that won't make you cry -- even though your tears of loss over your silly little free 'open source' OS will still be sweet to us. Mark my words, Slashdotters, Miscreant-o-soft has had Linux in it's sights for a while now. Don't say you weren't warned when they lock it out of booting on your hardware.

  8. wtf by Anonymous Coward · · Score: 2, Informative

    WHAT YEAR IS IT?!?!

  9. I still won't use Windows 10 by Joshs922 · · Score: 5, Insightful

    As long as it continues to be a SaaS spyware product with forced updates/upgrades, and has an onerous, unacceptable privacy policy that claims the right to access all of my personal data, I don't care if they make it nicer than my favorite desktop Linux distro. I'll never use it.

    1. Re:I still won't use Windows 10 by thegreatbob · · Score: 2

      Except when it's not... silly fly/fade-in animations that make right clicking task bar (and other) entities a nuisance, etc... not saying it's all bad, just that it's far, far from perfect. They ever going to fix that recurring bit where the start menu just randomly stops working for a given user, never to work again until the next forced update or making a fresh user?

      --
      There is no XUL, only WebExtensions...
  10. Re:As usual, they are decades late by mysidia · · Score: 4, Funny

    Next I would like to see Microsoft make CLI versions of all the traditional windows management tools, and
    then for legacy GUI tools; Group Policy Editor, Active Directory Users and Computers, Domains And Trusts, Sites and Services.... make the traditional GUIs Read-Only solely for display and reporting

  11. Re:As usual, they are decades late by postbigbang · · Score: 3, Insightful

    They're not decades late, they chose to be insular and keep things comparatively stupid. Now a few UI folks can fix it, having spent decades fixing the rest of their stuff.

    Microsoft is about revenue, never make a mistake thinking there's an ounce of altruism in what Microsoft is, does, or plans.

    If you want pointers to the body count, let me know. Or if the SCO-Linux-Kernel debacle wasn't enough, let's just say that they don't do UX for free...

    --
    ---- Teach Peace. It's Cheaper Than War.
  12. Re:As usual, they are decades late by Anonymous Coward · · Score: 5, Informative

    You should really look into PowerShell, doubly so on Server.

    Microsoft has something called the Common Engineering Criteria which lays out a set of requirements in order to ship something... as far back as 2011 (I think) there was a requirement that any administrative action you can do with the UI, there must be a cmdline option, with heavy emphasis on PowerShell. The exclusion to this is for pre-existing UI. Add/change a feature, cmdline equivalent is required, leave an older thing untouched in next release, it doesn't require touching.

    Of course half of the exposed options were just WMI endpoints, which can be tweaked via PS even if no official cmdlets were created.

    Source: Former MS employee.

  13. Re:As usual, they are decades late by Anonymous Coward · · Score: 5, Insightful

    powershell has some of the worse syntax I've ever seen in scripting. Way too much punctuation, object name lengths are too long, oh, and it's slow as fuck.

  14. Re:can I fireup putty and login to an windows serv by Anonymous Coward · · Score: 2, Informative

    You've been able to do it through SSH for a year or so. You've been able to do it with PowerShell for quite a while now (a decade?).

  15. Re:As usual, they are decades late by jlowery · · Score: 5, Insightful

    Amen, Brother. How on earth do they let such bad ideas percolate to the end user? I still haven't forgiven them for The Registry: want to change an operating system setting? Just remember this simple GUID: 229G-A17B-CC2E-82DD-E1AF-...

    --
    If you post it, they will read.
  16. Re:As usual, they are decades late by Dutch+Gun · · Score: 4, Insightful

    I'm a largely GUI-centric dev on Windows, but I think that's because Windows tends to work that way, and consequently has a lot of really nice GUI-based tools. For instance, there are nice GitHub desktop clients for Mac and Windows. But as for Linux? Nope - command-line only. So, when I work in Linux, I just sort of assume I have to keep various terminal windows open all the time, and that I'll probably be writing more scripts than when using Windows or Mac. It's just sort of the way things are done.

    I'm comfortable working either way. However, I will say that I vastly prefer Bash to Powershell for CLI scripting. Bash is simple and fairly easy to pick up, if a bit on the clunky side. Powershell feels a bit over-engineered and overly-complex even when doing fairly simple things, and I've never bothered investing the time to really understand it all that deeply. So, I'm very happy about Linux tools, including Bash and various other CLI utilities, being ported to Windows. Because no matter how complete a GUI-based solution you have, there are almost always going to be times when you need to drop back to CLI tools if you're doing something outside of the GUI tool's expectations.

    --
    Irony: Agile development has too much intertia to be abandoned now.
  17. Re:Don't mess it up, I use it daily by Trax3001BBS · · Score: 2

    You know you can fix that, right?

    There is a registry key to tell Windows to use UTC, or use 'timedatectl set-local-rtc 1' to tell Linux to set the hwclock to local time.

    No I didn't know it could be fixed, quick search on your reply looks like I can fix it.
    Thank you.

  18. Re:As usual, they are decades late by DamnOregonian · · Score: 4, Insightful

    I thought I was a reasonably intelligent human until I encountered PowerShell. 5 minutes with it, and I feel retarded. I haven't determined if it's because I'm too stupid to digest that syntax, if my brain cells are forcefully refusing to, or they're outright committing ritual suicide.

  19. Re: As usual, they are decades late by bursch-X · · Score: 3, Insightful

    macOS is a full blown UNIX. How is their CLI an afterthought? There's actually a lot of stuff you can do in Terminal that you can't do via the GUI. Like creating bootable USB stick installers for macOS. Also lots of admin only settings available there.

    --
    There are two rules for success:
    1. Never tell everything you know.
  20. Re:As usual, they are decades late by Daltorak · · Score: 3, Informative

    Next I would like to see Microsoft make CLI versions of all the traditional windows management tools, and then for legacy GUI tools

    Your wish has been granted.... like.... nine years ago. Where've you been, dude and/or dudette? As a random example: Microsoft added Managed Service Accounts in 2008 R2, and you can see a "Managed Service Accounts" folder in AD Users and Computers, but you cannot create or edit them there. You -must- do it through Powershell using New-ADServiceAccount. Here's a blog post from 2009 on the subject.

    Pretty much the only parts of Windows you can't configure through the command prompt, are some of the GUI elements. For example, there is no way to change what is pinned to the taskbar, nor can you programmatically set whether a tray icon will always be visible or not. Folks at Microsoft have said that this limitation is intended to protect the user from app installers that inject themselves all over the place. Setting crucial visual things like display resolution is also disallowed (except on Server Core, where there is no GUI to do this).

  21. Re:As usual, they are decades late by Voyager529 · · Score: 3, Insightful

    Still, it seems MS can eventually recognize what works. This will give all those GUI-only IT "experts" fits, of course.

    As one of those people likely to be maligned as one of those "GUI-only IT 'experts'", I'll throw a few quick thoughts out there for your consideration.

    First off, CLI doesn't always scale down. Making a hundred users in a domain environment? Sure, that needs to be scripted. Making just one? in most cases, quicker in a GUI environment.

    Next, GUIs make things discoverable. using "/?" and man pages is a start, but the results of things aren't always readily obvious; GUIs can better reflect this. Discoverability is also helpful in scenarios where a task is done once every four months - recently enough to generally-remember it, long ago enough to forget the precise syntax. StackOverflow can help with that, but if lookup time is factored into the time entering the command, it's basically-impossible to make the time saving argument.

    Finally, at least for myself personally, I don't administer the same exact set of systems all day, every day. I deal with everybody's systems. Some run Hyper-V, others VMWare, some have Sonicwalls, others have Barracudas or SOHO routers. Supporting end users means I need a functional understanding of their software, meaning I can somewhat-interact with a number of pieces of software specific to law firms, doctor's offices, restaurants, retail establishments, and others. GUIs (well-done ones, anyway) provide cues so I can generally figure things out upon first use if I know the underlying concepts. CLI syntax isn't as easy to pick up, especially in situations where the goal is to pick it up fast.

    Sometimes, GUI is the right tool for the job, and the people that administer them are dealing with many, many different kinds of systems. It doesn't make them dumb (though there are PLENTY of dumb ones), any more than knowing how to use a CLI doesn't inherently make one smart.

  22. Re: As usual, they are decades late by FaxeTheCat · · Score: 3, Informative

    MacOS became Unix with MacOS X. Up to and including version 9 it was not Unix.

  23. Re:As usual, they are decades late by gweihir · · Score: 3, Insightful

    There is nothing wrong with using a GUI when it is efficient for the task at hand. There is a lot wrong with calling yourself an "IT expert" when you cannot use or are severely limited on the command line.

    --
    Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
  24. Powershell is not Bash by aberglas · · Score: 4, Informative

    What more needs to be said. It is ... different.

    Unix shell works on strings. Powershell works on objects. That is an important difference. Especially if the strings have funny characters in them.

    As to speed, it is .net, so I presume compiles down to machine code.

    1. Re:Powershell is not Bash by PmanAce · · Score: 3, Informative
      PowerShell is not a compiled Language. It doesn't produce IL directly either.

      So think of it like an interpreted language that just happens to live in a Dotnet Ecosystem which allows it to instantiate and interact with DOTNET objects thus making it seem like a "DOTNET language". PowerShell has its own Extended Type System (ETS) that makes it more dynamic.. You can create objects on the fly with whatever properties you want, or take an existing dotnet object, and add stuff to it. PowerShell is a dynamic language. With dynamic scoping. It is a pipeline centric language, which passes rich objects through the pipeline (in contrast to binary/text pipelines in unix) PowerShell is a command (verb and noun) centric language in philosophy and implementation, and though it is a RICH Object language, i wouldn't say its object ORIENTATED. you can interact with objects, and create them, but the goal is to produce task based COMMANDS PowerShell lives in different environments. It is a line by line REPL Command line interpreter, but it is also a full scripting engine that can be embedded in other applications.

      https://stackoverflow.com/ques...

      --
      Tired of my customary (Score:1)
  25. Re:As usual, they are decades late by sjames · · Score: 4, Insightful

    The big caviat though is I'll bet a CLI guy has a better chance of success when GUI is the right tool than a GUI guy does if CLI is the right (or only) tool.

    Learning CLI is well worth it.

  26. enough said by NikeHerc · · Score: 2

    "Those who do not understand Unix are condemned to reinvent it, poorly." --Henry Spencer

    --
    Circle the wagons and fire inward. Entropy increases without bounds.
  27. Re:As usual, they are decades late by nazsco · · Score: 2

    There a few IT people that write IT software.

    But honest question: anyone who uses windows at this time, are still using microsoft shells? like cmd and powershell?

    The very first thing I install on windows machines is the nicely packaged git-shell stuff (NOT the github client). It will give me bash native on windows, almost better (or should I say, more practical) than cygwin.

  28. Re: As usual, they are decades late by jaa101 · · Score: 2

    MaxOS X is a completely different OS from all the MacOSes that came before. CLI is not an afterthought for MacOS X. Next you'll be saying that pre-emptive multitasking is an afterthought in Windows because it was only introduced with WinNT.

  29. Re:Paths, Filesystems, and Shells by molarmass192 · · Score: 2

    I'll take a UNIX kernel option too instead of Windows + Registry. In other words Windows Subsystem for UNIX. To me, Linux Subsystem for Windows is like glueing McLaren parts onto a Ford Fiesta and calling the result a sports car. I'd much rather bolt some Ford Fiesta parts onto a McLaren and take that to the races.

    --

    Good people do not need laws to tell them to act responsibly, while bad people will find a way around the laws-Plato
  30. Won't happen by duke_cheetah2003 · · Score: 4, Interesting

    See, the UNIX paradigm has been something that Microsoft has never been able to swallow. Keep it simple. That's it. That's why all the UNIX commands we know and love have survived through the years, they are simple. They get the job done.

    Stuff has been added, sure, but most of the original shell and common system commands have remained the same, decades on. Some 50 years of sameness and simplicity that Microsoft will never understand.

    In all my dealings with Microsoft software, they seem to strive to make things as complicated and insane as possible. Even this new powershell, the commands are needlessly long, with long parameters names and very strict syntax. And not to be outdone, a whole new spam of technobabble error messages. Their APIs and programming languages are the same way, sure they are pretty powerful, but the complexity, nothing is simple. Simple isn't something Microsoft does. So they'll never be able to ever be 'unix' like.

  31. Re:can I fireup putty and login to an windows serv by thegarbz · · Score: 2

    You can fire up putty and login to any Windows machine providing it is in developer mode. Better* still you don't even need to fire up putty. Just use the built in ssh client in Windows. Get with the times.

    *Actually not better. The built-in ssh client in Windows 10 is quite basic.

  32. Re: As usual, they are decades late by tigersha · · Score: 2

    Exactly. I use MacOS every days and spend half my life in iTerm. It is not even remotely an afterthought

    --
    The dangers of excessive individualism are nothing compared to the oppressiveness of excessive collectivism
  33. Re:As usual, they are decades late by xSauronx · · Score: 2

    RE > But honest question: anyone who uses windows at this time, are still using microsoft shells? like cmd and powershell?

    yes, i live in powershell. its very robust and functional as well as being well supported by microsoft and the windows powershell community. i cannot speak to powershell CORE, which is the cross platform edition. it has a lot of limitations in what is available compared to v5 that I use because it is based on .NET core. the powershell window in win 7 is not great -- i have to still use 7 at work for a little longer. it is much better in windows 10, based on this article still does not have some features *nix users would be accustomed to.

    There are surely still too-many gui-only window admins, but that is probably more likely to be the case with SMB and MSP admins than it is medium or enterprise admins -- you can automate a lot of work and tasks in windows with powershell or group policies. You can do a lot of searching and reporting pretty easily as well once you get the data you want to work with. powershell is sort of great (if you are on v4 or higher). I've got dozens and dozens of scripts for monitoring services, processes, doing routine work, reporting on various events/data/user info, working with the device manager--all sorts of things.

    --
    By and large, language is a tool for concealing the truth. -- George Carlin
  34. Re: can I fireup putty and login to an windows ser by reanjr · · Score: 2

    I installed OpenSSH server on Windows over a decade ago. It was almost painless. Would it be nice to have it installed out of the box like OS X and most Linux distros? Sure. But that's hardly a significant difference between platforms.