Generally, there is no difference between Unix and Linux, so I'll only mention Linux.
Unlike Windows, Linux is case-sensitive. Although you can use filenames like "January 2011 Report.xls" standard practice is to use all lowercase and hyphens, not spaces, i.e., january-2011-report.xls
There is a very good reason for avoiding spaces, apostrophes, etc., in filenames--octal is Linux's native language and some programs, etc., will
automatically replace punctuation with the hex equivalent, preceded by %. So you might name a file "January Payments Report" and a program might automatically change that to January%20Payments%20Report.
Unlike Windows, file extensions are
not meaningful.
Note that to a certain extent Ubuntu does not follow this convention.By default no file is executable. You have to set the program's permissions. That is done with the command-line utility
chmod. (Ubuntu has a graphical interface to do that.)
Case-sensitivity applies to
all aspects. Linux utilities have an incredible range of options and parameter flags are also case-sensitive, i.e., cp whatever -r and cp whatever -R would produce different results.
The philosophy behind Linux utilities, names, etc., is that the
user knows what s/he's doing. Until Ubuntu, virtually all Linux users were hard core geeks with formal college course work in Unix. The "dummies" were Windows power users with a background in system administration and programming. The idea is that if you're not comfortable with the command line, skip Linux. Also, you'll be using various utilities a
lot. So it's easier to learn the command name once and then type something short rather than type long names that are easier to remember. Hence, "cp" = Copy; "ls" = List (= Windows Dir), "mv" = Move, etc.
A lot of utility names are based on geek humor. For instance, what Windows users call a command prompt Unix calls a shell. Unlike Windows, there are many shells. The original was called "sh". Someone expanded that a bit. Someone named Bourne expanded it more, leading to "bash", which stands for "Bourne Again shell".
Linux utilities include a detailed set of on-line manuals referred to as "man" pages. You can routinely get help by typing
man commandnameThere are a number of Linux "distros". Red Hat and Novelle are the two largest but they basically sell complete software "stacks" referred to as LAMP, which stands for Linux, Apache server, MySQL and Perl/PHP/Python. Folks using those would normally have experienced Linux system admins.
Software is mainly distributed in "packages" using one of two formats: .rpm (Red Hat Package Manager) or .deb for Debian (the Linux "fork" that includes Ubuntu.) Ubuntu includes Synaptec Package Manager which takes care of most of the technical aspects of downloading and installing software on an Ubuntu system. Because the package management system coordinates "file dependencies", you can't mix installers. If you are using Ubuntu/Debian, you can't install an rpm package.
You will also see references to a "tarball", "make" and compiling. Historically, most Linux/Unix software was distributed as source code in a compressed format (tar stands for tape archive) and it was compiled with the "make" utility. Ubuntu has pretty much eliminated the need for that. Unless you need some oddball utility you will probably never need to use "make".
There is a HUGE amount of high quality free software available for Ubuntu. Most university, industry and government research projects that develop software for particular in-house activities develop for Linux, not Windows. Because a lot of it is done under research grants, they either are required to or voluntarily make the code public. Generally, binary files are
not available, but the installer packages will determine what other files are necessary and download and install those and compile everything automatically.
Unlike Windows, there is no central folder for programs equivalent to C:\Program Files. Programs generally wind up in one of several places. Although this can be confusing if you have downloaded source code and are trying to decide where to put it, that generally is not a problem with Ubuntu because the target location will be predefined in the installer.
There is a version called
Portable Ubuntu, although it is not the latest Ubuntu version. It loads
on top of Windows. So, you can have your Linux programs running in Portable Ubuntu and your Windows programs running simultaneously.
There is a program called WINE which emulates Windows. Basically, it takes Windows API calls to system routines and reroutes them to the equivalent Linux routines.
www.CodeWeavers.com has a commercial version that is normally a bit more advanced, although they do donate their code to the overall WINE project.