Right, I'll try and explain this in a way a windows user might understand.
Rember the 'path' environment variable in DOS? It contained the list of directories to search for an executable program typed in the command-line. It looked something like this in autoexec.bat:
Code:
set PATH=c:\;c:\dos;c:\windows;%PATH%;c:\mouse;
Now, what that did was cause the computer to search each of these paths for the executable (.com, then .exe) and then run it in the first one it found. The %PATH% entry was important, that made it search the current directory as well, eliminating the need to type .\edit.com or whatever. In Linux, that is not set by default (for security reasons) and means that it only searches the paths configured for your user when you type a program name. NOT the current dir. To launch a program in the current dir, you need to type
Now, onto identifying executable types. To understand this, you must have a basic understanding of how Linux (and other *nix systems) handle file permisssions. go to a directory and type "ls -l" in the command line (henceforth reffered to as bash or the bash prompt). You will get a list of filenames and their permissions down the left. they look like:
rwxrwxr--
The r's stand for read access. The w's stand for write access and the x's stand for execute (meaning the file can be executed)
The three sets mean something as well. The first three is for 'owner' meaning the owner listed next to the file. The second is for the listed 'group' and the third set is for everyone else.
So, in this example, the owner can read, write and execute the file, as can the group, everyone else however can only read and execute the file.
I would write more, and will if you want later, but ATM I have just spent 10 mins of my limited time in a cybercafe. Therefore I must dash, but I'll be back to explain more later.