Most of the common Unix tools and programs have been ported to Linux, including almost all GNU software and many X clients from various sources. Actually, ported is often too strong a word, since many programs compile out of the box without modifications, or only small modifications, because Linux tracks POSIX quite closely. There are never enough applications for any operating system, but Linux is gaining both end-user applications and server applications. Contact the vendor of your favorite commercial Unix application and ask if they have ported it to Linux.
Here is an incomplete list of software that is known to work under Linux:
awk and so on (you name it, Linux probably has it).
C, C++, Objective C, Java, Modula-3, Modula-2, Oberon, Ada95, Pascal, Fortran, ML, scheme, Tcl/tk, Perl, Python, Common Lisp, and many others.
GNOME and KDE (desktops), X11R6 (XFree86 3.x), X11R5 (XFree86 2.x), MGR.
GNU Emacs, XEmacs, MicroEmacs,
elvis (GNU vi),
jed, and others.
bash (POSIX sh-compatible),
ksh compatiblity mode),
ash (mostly sh-compatible shell used as
/bin/sh by BSD), and many more.
PPP, UUCP, SLIP, CSLIP, full TCP/IP communication toolset,
term (runs multiple shells, redirects network activity, and allows remote X, all over one modem line), Seyon (popular X-windows communications program), and several fax and voice-mail (using ZyXEL and other modems) packages are available. Of course, remote serial and network logins are supported.
ez, LyX, Lout, Linuxdoc-SGML, and others.
Nethack, several Muds and X games, and lots of others. One of those games is looking through all the games available at tsx-11 and sunsite.
All of these programs (and this isn't even a hundredth of what is available) are freely available. Commercial software is becoming widely available; ask the vendor of your favorite commercial software if they support Linux.