How do I tell whether my cygwin installation is 32 or 64 bit?

How do I tell whether my cygwin installation is 32 or 64 bit? I don't remember which setup.exe to download. And I would hate to mess up my cygwin installation.


uname -m

And it should say x86_64 in the output if it's 64-bit, or i686 if 32-bit.


Run uname -m. If your cygwin install is 64-bit, the output will be x86_64. If it's 32-bit, you will instead see i386, i486, i586, or i686.


The other answers address the OP's question, but if you're like me and use both flavors of Cygwin, it's useful to know which one you're using for more than just running setup.exe. If I know my script is running on Cygwin, I prefer

uname -m

because it gives me only "x86_64" or "i686" as output. I can use that in an "if" block like this:

if [ $(uname -m) == "x86_64" ]; then do something; fi

Of course, you can also use "uname -a" with "grep" in an if statement. It's a matter of personal preference.