Domain: suacommunity.com
Stories and comments across the archive that link to suacommunity.com.
Comments · 20
-
Re:Make files and emacs
Findstr is surprisingly close to grep. It's a new set of arcane command line switches to learn, of course, and even if its regex syntax is identical to grep's (unlikely, though I've never done a proper comparison), you have to deal with the oddities of CMD when it comes to character escaping. However, to state "There is no equivalent to grep" just shows your ignorance of the platform. There's actually a lot of Unix-esque commands in Windows that many people don't know ("tasklist" and "taskkill", "mklink" and "robocopy", the hugely overloaded "net" and the powerful "netsh"). That's not even counting all the stuff in Powershell.
I'm not sure what exactly you consider a "basic scripting language" but modern versions of Windows ship with at least four different scripting languages supported: Command scripts (a superset of DOS batch files, and more primitive than Bourne shell scripts but roughly equivalent in usage), Powershell scripts (possibly a little *too* powerful in some cases, and verbose to write, but capable of nearly anything right up to some GUI stuff), JScript (JavaScript plus some extensions, very powerful if used correctly; runs in Windows Script Host), and VBScript (a BASIC dialect somewhat similar to Visual Basic and intended for scripting small macros and such but can be used for larger tasks; runs in Windows Script Host). Windows Script Host is also extensible - there are plugins for many scripting langauges, including Perl and Ruby - and has been built in for even longer than Powershell (which is only included by default in Vista and later, though is available for XP).
I'll grant you that Windows has no decent code editor out of the box (just because Notepad will happily open
.c files doesn't mean it should!) and that the compiler toolchain is not installed by default (although it's a free download from Microsoft). However, it's really nowhere near as bad as you seem to think. They really should provide a better editor, though!If what you really want is a Unix-like environment in Windows, though, consider Interix. Running in NT's POSIX-compliant Subsystem for Unix Applications (SUA), it's only available on the high-end Windows editions, but it's worth looking into. It integrates much better with Windows than Cygwin does (as a random example, setuid/setgid work) while also feeling much more Unix-y (executables do not need extensions, the file system can be treated as case-sensitive, etc.). Interix comes with a working GCC-based compiler toolchain, although you can build SUA executables using Visual Studio and/or the Windows compiler (MSVC) as well, if you want. SUA is based a moderately old POSIX standard and doesn't support some of the newer stuff, but for "give me a shell where I can run my *nix commands on Windows" it does an excellent job. You can read more about it, including getting the download links, at http://suacommunity.com/ (not associated with the site aside from being a forum member there).
-
Re:A Mature Local Machine Product vs Immature Clou
Vim and gvim are available for Win32 (native port, I believe using MinGW), Win32-via-Cygwin, and POSIX on NT (SUA via Interix; the [g]vim package is available from http://suacommunity.com/ or any other Interix package repo). Kwrite and KATE (KDE's text/code editor programs, with KATE being mostly a multi-doc capable Kwrite) are available for Windows (along with the rest of KDE4) from http://windows.kde.org./ I'm sure there are many others.
-
Re:How Much Would What Cost?
If the servers that you have handy are Windows, but you want to use *nix, there are a few options available.
First of all, there's virtualization. It's free (there are many free virtual machine programs available for a Windows host, and they should all support Linux guests). It does require some of the server's hardware (RAM and storage) though, and *somebody* will need to administrate it (which it sounds like your current IT doesn't really want to deal with).
Second, there's the option of simply hosting your own Linux box, either internrally or externally. A 10-year-old piece of junk PC that has a working CPU (of no particular speed), network card (10 Mbps would do, 100 would be overkill), RAM (128MB would suffice), and storage (20 GB would be enough for years) should cost almost nothing; odds are you could find one for free (I have a couple laptops which exceed those specs that get no real use anymore but still work). Put a copy of Damn Small Linux (or your favorite other ultra-lightweight distro) on there, hook it up to the network, and put your git/hg/svn/whatever repo on there.
Third, there's the option of Cygwin on one of your Windows boxes. It works well enough, is reasonably easy to install, costs nothing, and will allow you to host a version control repository of your choice easily. So long as the service starts automatically and the requite firewall port is open, there should be basically no additional IT overhead; it's not as though VC software for two developers is going to have an even trivial effect on a modern machine's performance.
Fourth, there's the option of Interix, the official POSIX subsystem for Windows. This requires that your servers be either some edition of Windows Server (probable), XP Pro, Vista or Win7 either Enterprise or Ultimate, or Win8 Enterprise. Enable the "Subsystem for UNIX Applications" in the Windows Features control panel, install the Interix utilities (and SDK, if you desire) from Microsoft, install the package manager for http://suacommunity.com/ and use the pre-compiled cvs, svn, or git binaries (you could probably get Mercurial too; I've never tried). Again, you'd need to make sure that the server daemon was running (it should automatically run at startup) and accessible through the firewall, but after that you could pretty much just pretend it was some odd relative of BSD (which is where msot of the included tools are sourced from). As with Cygwin, it would have minimal if any effect on maintenance (Microsoft occasionally pushes SUA/Interx updates over Windows Update, just like any other update), but it gets better performance and more accurately portrays a POSIX system than Cygwin can.
-
Re:Wow.
Haha.
On a serious note, though, you actually can run POSIX apps on Server 2012. NT has, since its inception, included support for POSIX APIs and filesystem behavior. These days it's called SUA (Subsystem for UNIX Applications) and a smallish but fully functional operating environment for it, called Interix, is available for free. The installer will also let you enable various tweaks such as SetUID/SetGID behavior and filesystem case sensitivity, things you can't get with Cygwin or the like. It's implemented as an NT subsystem, same as Win32, so the speed is basically native as well. Interix comes with a working build toolchain, plus you can get a package manager for a repository of precompiled software and updates from http://suacommunity.com./
I'm not sure I'd advocate adopting it at this point if you haven't already - MS has been making moves toward discontinuing support for some years now, and it appears to no longer be in any of the client editions but Enterprise - but it exists, and it works. MS themselves used it to host Hotmail on Apache before they ported it to run on IIS. I use it (on client) both for various utilities that I prefer the POSIX versions of (git and ssh and such, plus sometimes there is no Win32 version) and for bash (my primary shell).
-
Re:KDE on Windows?
Cygwin and Msys are basically pointless. Windows already has a native UNIX subsystem with a strong user community and a couple flavors of Linux. There's even a reverse WINE for binaries that can't be compiled for Interix.
-
Re:Package management
Well sounds like you are doing everything you need to. Other than you might want to take a look at windows services for Unix since it sounds like you need Unix stuff on a PC and this is kernel level:
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=896c9688-601b-44f1-81a4-02878ff11778
http://www.suacommunity.com/SUA.aspx#bundles -
Re:SSH+RDP
I've never used copSSH (although I've used a handful of other SSH programs for Windows), but these days I literally just use OpenSSH. NT system calls were designed to include a superset of POSIX (as well as Win32 functionality), and you can enable a POSIX subsystem that gives you a Unix-like filesystem (complete with case sensitivity and
/proc, /dev, etc.) and support for POSIX system calls. Microsoft provides a free download that installs into this subsystem to give a basic but functional Unix-like environment. You can then install additional software - I use the http://suacommunity.com/SUA.aspx bundles, which include a package manager, X server, and OpenSSH (client and server). From there, you can manage ssh(d) exactly like you would from any other Unix-like system.The biggest downside is that you need a fairly high edition of Windows (XP Pro, Vista or Win7 Enterprise or Ultimate, or any Server edition) to enable the subsystem unless you're willing to resort to some minor hackery. It really is remarkably easy to set up though (the SUAcommunity site includes good walk-throughs) and in addition to a working SSH, you also get bash, subversion, GNU make (a complete GCC toolchain, in fact), python, perl, and a ton of other stuff.
If you *just* need a SSH client, it's overkill, but even if all you need is a client and server, I'd recommend it. The Win32 filesystems are mounted under
/dev/fs/, and of course you can make symlinks to common locations. I've used it as a server for scp and sftp extensively, for example - as you point out, it's faster than using Remote Desktop when all you need is a file or three you left on the wrong computer. -
Re:Not Very Comparable
I wouldn't call GCC 3.3 a great compiler, but it's at least decent. GCC4 is definitely better, and included in newer versions of Interix. GCC in Interix will handle C, C++, and Fortran. In addition, if you do software development on a Windows system, the odds are you have the MSVC compiler, which you can invoke with the cc/c89/wcc commands (in Interix these are shell scripts that massage the UNIX-style operators to their Windows form, then invoke cl.exe and make it produce a POSIX binary). All in all, the complaint about the compiler is a bit silly.
A package manager, X server, and large host of utilities can be installed from a couple of different locations. I've personally found http://suacommunity.com/ to provide the best bundle; it's an easy download and install, simple to update, and I've found the forums to be generally quite helpful when issues are encountered or a feature/update/new package is requested.
-
Re:Not Very Comparable
The POSIX NT subsystem (and Interix, the user-space software that runs in the subsystem) have existed for a very long time, possibly all the way back to pre NT 4. The NT kernel doesn't actually use Win32 (or Win16, DOS, or Win64) system calls; it uses NT system calls,w hich are a superset of the functionality in all of those, plus the functionality required for OS/2 and POSIX. For example, the NTCreateFile system call not only implements the Win32 CreateFile system call (as seen in Win9x) but also the OpenFile system call (Win16) and the open system call (POSIX). For each API that NT supports, there is a user-mode DLL that translates the API-specific system calls (such as open(2)) to NT system calls (such as NTCreateFile()). These are then passed to ntdll.dll, which executes the actual system call (invoking ring-0 kernel code).
The OS/2 subsystem was discontinued years ago, but the POSIX one is still supported. From XP forward, it's been possible to enable the POSIX subsystem and download pre-compiled libraries, shells, utilities, headers, build toolchain (optionally using GCC or MSVC), manpages, and so forth to produce a working, if somewhat bare-bones, UNIX-like environment. Initially called OpenNT and now known as Interix, various third parties have provided additional functionality such as package managers (apt, portage, pkgsrc, or one specifically for Interix from http://suacommunity.com/ ), additional shells, libraries, utilities, X servers, and more.
-
Re:Ummm...do you mean Cygwin?
Ummm... as the very second line of the Overview section points out, SFU/SUA (on Win7 it's called Subsystem for UNIX Applicaitons, but it's essentially the same as SFU) includes "Over 350 Unix utilities such as vi, ksh, csh, ls, cat, awk, grep, kill, etc." It also includes a complete working GNU build toolchain, and much more. That's just the Microsoft download; additional tools (including "bash, OpenSSH, sudo, CVS, ClamAV, bzip2, gmake, curl, emacs, Apache, XView, Ruby, Tcl, Python") are available as downloadable binaries.
Note that while SUA is included with (higher editions of) Windows, it is just the POSIX compatibility layer; you have to get a (free) download from MS that includes all the utilities and libraries. Once you have those, you'll have a fully functional, if somewhat limited (not much software beyond standard utilities) UNIX-like system. The folks at http://suacommunity.com/ maintain a package manager and a repository of binaries for SFU/SUA, which provide a pretty good working environment.
I do occasionally compile programs or libraries from source (if the desired package isn't in the repository) and most of the time it works fairly well. The packages I use most commonly though - ssh, bash, svn, grep, etc.) were all either included in the SUA install or available as binary packages.
-
Re:makes windows marginally bearable
While it requires the higher editions of Windows (XP Pro, Vista/7 Enterprise or Ultimate, any Server edition), you must have missed the presence of the POSIX subsystem in NT (it's been there since the first releases of the OS, incidentally). Called the Subsystem for UNIX Applications (SUA) on recent versions, or Services For UNIX (SFU) on XP and before, the POSIX subsystem is free on supported Windows and includes a decent operating environment called Interix.
Interix includes a few hundred libraries and utilities, mostly BSD derived or SVR5-derived (you can choose which lineage you want at install) but also including things like the GNU build toolchain (gcc 3 and 4, with support for at least C, C++, and Fortran; I haven't tried any others). Additionally, you can install a package manager and an expanded/updated collection of tools and software from http://suacommunity.com/sua.aspx. Manpages are also included (both for bundled software and Interix packages).
Bash (along with other shells such as zsh) is available from suacommunity. Interix ships with csh and ksh. I use Interix bash as my standard Windows command line these days, including running Windows CLI utilities. I also run Python and Ruby interpreters from within Interix (suacommunity packages). You can even run graphical applications if you have an X server such as xming (the suacommunity bootstrapper will offer to install it).
If you have a version of Windows that supports the POSIX subsystem (businesses mostly will), I recommend it over Cygwin. For one thing, you get true *NIX behavior - executables are marked by permissions bits, not by extensions, the filesystem is case-sensitive (technically an install option for Interix, but one you definitely want), and you get UNIX-style permissions including working setUID and setGID (having a working sudo makes using the command line on a non-Administrator Windows session much more pleasant).
-
Re:Only copyleft is "commie", BSD isn't.
Interix was created solely for the reason of destroying UNIX
Do you have any proof?
You ask as if I was accusing Microsoft of being especially evil. This isn't another big secret like the the way they carefully arrange APIs to disadvantage other companies that develop for Windows. In fact let's just ask them.
It allows users with UNIX environments to take advantage of the benefits of the Windows environment without having to rewrite critical applications. In addition, users can immediately use the full Windows-based application development environment to develop native Win32® API-based applications.
In other words we'd like UNIX customers to move to Windows and abandon UNIX.
from the same MS press release:
Interix 2.2 brings Microsoft customers one step closer to its vision of a single desktop computer for all uses by providing a complete enterprise platform to run all Windows-based, UNIX and Internet applications.
In other words, we'd like you to only use Windows.
In fact there is nothing wrong with this as such. The normal way the free market works is by competition in which one company tries to destroy another companies products by getting people to use their own. What could easily be wrong is if they were, for example, ensuring some of their own software in a market where they had used illegal tactics to become a dominant player were only available on their own platform so that their competitors could not try to do the same to them.
It interests me why the MS astroturfers are so touchy about this topic? Could it be that MS has something to hide on this topic?
What would you consider the SUA community?
People who are neither working for the good of the "Open Source Community" nor Microsoft? Possibly, in part, Useful idiots? People who would be better to spend their time improving Debian or CentOS? Is Microsoft contributing or not? I know little of this and would be honestly interested to analyse it.
I think this is the target audience: organizations who want to run UNIX applications on Windows in a supported way. It's probably not indented for people who want a complete GNU system. (Recent packages ship with GCC and GDB, but otherwise come with BSD or SVR4-derived utilities.)
Agreed.
Surely the BSD lawsuit had something to do with Linux taking off instead of BSD?
That is what many people say. However the SCO probably lawsuit hasn't really had that much influence on Linux. I'm not convinced that it's true. Certainly this doesn't apply to Minix or many of the other BSD situations. It certainly doesn't explain the success of Mozilla (copyleft) over Mosaic (not).
[...] But some organizations that do use Linux and GNU software don't contribute much back - consider many of the consumer electronics devices that run GPL software, such as consumer broadband routers. Some provide the source as required by the GPL, but not much else - for example, the Linux source used might be available, but the wifi driver might be a binary module.
The source they do provide means that any major feature they implement in Linux its self is available to others. That's key. That means that competitors who release features into Linux can do so with the knowledge that major improvements to their features will be available to copy back.
As far as the binary module thing goes; this is an exce
-
Re:Only copyleft is "commie", BSD isn't.
Interix was created solely for the reason of destroying UNIX
Do you have any proof?
However, there is nothing they could do to stop the Windows community from doing the port. The reason it's not happening is because Microsoft and Microsoft collaborators aren't interested in becoming helpful collaborating members of the community.
What would you consider the SUA community?
Which leads to the question why didn't Microsoft just go ahead and fix it. Answer; because then it would be difficult to kill it later. Interix might be a sane choice for an organisation which was trying to eliminate old UNIX installs and just had a few applications which were difficult to rewrite at the current time.
I think this is the target audience: organizations who want to run UNIX applications on Windows in a supported way. It's probably not indented for people who want a complete GNU system. (Recent packages ship with GCC and GDB, but otherwise come with BSD or SVR4-derived utilities.)
Some of the other systems you mentioned should be, logically, looking at their design and historical position before Linux really took off and the number of products developed from them which could have contributed to their develomement dominating the market. However they have failed. The reason is simple. Every time someone comes up with a product based on a non copyleft system (OS-X; JunOS, Microsoft's TCP/IP stack, IPSO etc. etc.) the community divides between those working on the product and those working on the OS
Surely the BSD lawsuit had something to do with Linux taking off instead of BSD?
Compare with Linux where the majority of contributions actually come from commercial organisations where the GPL has allowed those organisations to stay in the community instead of being forced to fork.
Many of these contributions come from organizations that have an interest of advancing Linux in general.
But some organizations that do use Linux and GNU software don't contribute much back - consider many of the consumer electronics devices that run GPL software, such as consumer broadband routers. Some provide the source as required by the GPL, but not much else - for example, the Linux source used might be available, but the wifi driver might be a binary module. These organizations don't really stay in the community or fork; they provide the GPL source code for whatever they use, including the modifications.These organizations use GPL software because it's cheaper; their "contributions" to the community might amount to being mostly useless to anyone, or only useful to those who want to hack the devices the software runs on. What exactly am I going to do with the GPL source code used by my TV, for example?
-
Re:Who...cares?
Most of KDE4 has actually been ported to Windows as native binaries (using qt4, which is open-source across all platforms). http://windows.kde.org/ . Still very much a work in progress, but many things (like Kate, possibly my favorite text editor) work great. It has a simple graphical package management tool that allows you to select the KDE packages you want, update them, or uninstall them (and will automatically grab dependencies for you).
For other Unix-y programs, I've found that the native POSIX support in NT is good enough that quite a few programs simply compile and run without a problem. You'll need to install Interix (operating environment for the POSIX subsystem of NT) and its build toolchain (GCC based, though you can use the Microsoft build tools instead if you want). You'll probably also want to grab some of the nice pre-compiled binaries (such as bash, subversion, X11R7 libraries, and gcc4) from the SUA Community folks. Lots of info on this here: http://suacommunity.com/
In theory, you could actually compile KDE on Interix. Not sure anybody has put in the effort though; porting something that size is sure to run into hassles.
-
Re:Gee, just 14 years
Orignally Windows NT supported Win32, Posix, OS/2 and Win16+Dos subsystems
It still supports 3 out of those 4. Win32 and Win16/DOS are fairly obvious (and yes, you can still run DOS software in Win7).
POSIX is often overlooked, mostly because it isn't really advertised much, but it is still there - and yes, this is actually a separate NT subsystem that works alongside Win32, not on top of it like Cygwin does - so it does have fast fork() and exec(), for example.
-
Re:I'm (sorta) one of them
Just a tip: you can run (and build) POSIX apps (including bash, ssh/sshd, svn, gcc, and even things like httpd or window managers) in Windows without Cygwin. There's a POSIX-compliant subsystem for the NT kernel (just as the Win32 API that people are used to is implemented as a subsystem on top of NT). It's only available in the higher Windows editions, but it's faster and better integrated than Cygwin, and avoids a lot of Cygwin's silly restrictions (executables needing a
.exe or similar extension, for example).The subsystem is called SUA (Subsustem for UNIX Applications) and is enabled from the "Turn Windows features on or off" window (you can find it using Start search).
To use it you'll want to install Interix, a basic operating environment that includes a couple shells, a collection of standard utilities, and a working build toolchain. The link to download this will be in the Start menu after enabling SUA, or you can find it online.
Once you've got Interix installed, you can install a package manager and a bunch of pre-compiled binaries (including all the ones listed above, and hundreds more) from http://suacommunity.com/ (you can also get a more detailed version fo these instructions there). It will also offer to install an X server, which is handy if you want to run graphical apps locally or from a server.For the record, I'm not officially associated with Interix or suacommunity.com in any way aside from being a forum member on the latter, but I've found this little-known feature of Windows to be one well-worth telling people about.
-
Re:Stupid, Stupid, Stupid...
For the TL;DR folks:
Yes, you can run and compile POSIX apps in a *nix userspace on Windows. For more info, see http://suacommunity.com/----
Yes, it has since the origin of NT. The NT kernel as we know it was started back when OS/2 was seen as The OS Of The Future, but OS/2 was slow getting started so Microsoft worked on their own thing on the side. They wanted it to be compatible with OS/2 though, so they included an OS/2 subsystem. UNIX was really big at the time also, so they included a POSIX subsystem as well. DOS and Win16 were already doing fairly well, so they included the NTVDM (Virtual DOS machine) with Win16 libraries to support 16-bit programs. Of course, they also included the Win32 API that is what people usually mean when the talk about the "Windows" API.
The OS/2 subsystem was discontinued after Windows 2000, and NTVDM isn't present in x64 versions of NT. However, the POSIX subsystem - including a BSD-derived userspace and GNU build toolchain - are still available in the higher editions of NT. On XP, you need Pro, on Vista you need Ultimate or Enterprise (all server editions should support it). On XP, you first install SFU (Services For UNIX) from Microsoft, which enables the subsystem and installs a basic userland called Interix. On Vista, enabling the subsystem (called SUA, Subsystem for UNIX-based Applications) and installing Interix are separate steps - click on "Turn Windows features on or off" from the Programs and Features control panel, then install "Utilities for Subsystem for UNIX-based Applications" for the Interix libraries, utilities, and build tools.
A package manager providing pre-compiled binaries is available from SUA Community (http://suacommunity.com), or you can use NetBSD's pkgsrc package manager and compile from source, or you can do the standard unpack tarball,
./configure && make && sudo make install routine. I use bash as my standard shell in Windows these days, use ssh (including sshd to connect from remote machines) and svn extensively. I've also used Interix to develop and test code for an embedded device that runs Linux; the source compatibility is pretty good. -
Re:Stupid, Stupid, Stupid...
Holy cow, how does this stuff get under the radar, especially on Slashdot?
Not directing this at the poster..
I am hit by about 80% of IT people not even realizing this exists, and there are a lot of people locked in a 'Windows' corporate world that would really enjoy this stuff, and could use it on a daily basis.
Quick Info...
POSIX was a watered down 'basic' UNIX model OS provided under Windows NT 3.1 through Win2K.
In the meantime MS sponsored and worked with several companies in their own UNIX subsystem technologies, and the result is SUA, or one that came from joint work with Interop and MS.
(MS made the Interop people very rich and bought them out in the early 2000s.)
So there has been a 'basic' POSIX environment running on NT since NT was born, but there has been a higher end UNIX subsystem that has been available around NT 4.0 and later provided by MS around the time Windows 2003 Server was released.
(So this has been free and around for at least 6 years.)
PS: MS also funded and worked with a couple of Linux (yes Linux) UNIX subsystems, but they haven't ever left R&D.
The current UNIX Subsystem for Windows provides SVR-5 and BSD UNIX. (And there are people do Linux stuff as well on their own, but that is a non-issue as it is not official MS supported subsystems.)
So yes Virginia you can easily run UNIX applications on Windows, in a native subsystem - no VM - native, that uses the IPC and Object Manager abilities of the NT kernel architecture that gives the UNIX Subsystem communication to the Win32/Win64 subsystem. Meaning you can take your UNIX app and let it tap an ODBC database driver instead of using MYSQL, as well as run on the Windows Desktop natively.
Two quick Links...
http://technet.microsoft.com/en-us/library/cc771470.aspx
(There is a lot of information on the MS site and whitepapers all around, as well as even OSS sites that work with SUA as it is known.)
---
Even if you are just an IT person that is a UNIX CLI guru, break out the UNIX subsystem on Windows and go to town with your favorite UNIX CLI.
---
Again it has been a free download from MS for XP or Windows Server since at least 2003, and it even ships on the Vista DVDs (Business & Ultimate) that is just a one click to install from that add/remove Windows Features/Components.
This is also one of the cool things about the NT architecture, is the client/server kernel design that offsets and layers upper level OS API sets. NT also uses its 'hybrid' kernel to do things like this that OS X and Linux can't do, by allowing both direct and managed non-direct calls to let it create the upper layer OS subsystems with offset API kernel interfaces that are easily layered.
I hope that this helps *nix people using Windows or at least someone finds this cool and something that makes their life easier.
-
Re:rsync for Windows?
If you want rsync, or other *nix tools of that flavor, Interix (a UNIX-like operating environment that runs on the NT kernel using their POSIX subsystem) is great. It's only available on the higher editions of Windows, which ticks me off (not because I don't have them - being a CS student is great, you get free software - but because a lot of people can't use code I write for it) but it looks and feels pretty much like any CLI *nix environment, and has a package manager which includes rsync. Curses and ncurses programs work fine, manpages are included for everything, X client libraries are included (and there's a free X server available), and it comes with a working build toolchain (gcc based). http://suacommunity.com/
Alternatively, there's the Windows Backup tool. In Win7, you can select locations where files you want backed up are stored, file types that you want to back up, how often it runs, where the backups are stored, etc. Very handy tool. It's also integrated with the Previous Versions feature (basically just a built-in tool for automatically backing up files using free space on the disc) so you can restore specific files to specific versions from backup, or you can a full restore (such as in the case of a corrupted system or hard drive failure).
Powershell is "like bash" in many ways, but it is not bash and I'm not sure if there's a curses library for it yet (it's certainly possible - even DOS had plenty of programs with curses-style interface, for example). Aside from finally including things like aliases, its main strengths are extensibility (cmdlets, effectively shell builtins, are written using
.NET languages and can be added at will - the really cool feature is that .NET objects can be piped between cmdlets, rather than just text strings like most shells) and scriptability (essentially, a better way to automate things than the old Windows Script Host). It can also be used as a CLI shell, of course, with nice features like aliases, command completion, and a help system somewhat like manpages. The ability to treat the registry as a filesystem is quite nice too. Its scripting language isn't compatible with cmd.exe, so cmd is still included for batch files and the like. -
Re:Pointless
Just a note: XP Professional and Vista Enterprise or Ultimate can run a NT subsystem for POSIX, including a fairly complete Unix-like OS called Interix. On XP, look for the "Services For Unix" (SFU) downloads, on Vista it's called "Subsystem for Unix Applications" (SUA).
Although bash isn't included in Interix by default, it's downloadable for free, either manually or via command-line package manager, from http://www.suacommunity.com/ (along with many other tools, including perl, ssh/sshd, svn, and the full GNU build toolchain, to name the ones I use most often). You can run Win32 programs from within an Interix shell as well, so I actually use bash as my primary Windows CLI shell these days.