This is an old revision of the document!
See also the Wikipedia page on AmigaDOS, which contains quite a bit of information on how to use the Amiga Shell.
If you're used to Linux/Unix, you might like to try abc-shell, a Bash compatible shell for the Amiga.
The standard AmigaOS shell is pretty basic. In order to improve your experience, you're best of installing some enhancements.
KCON is one of the most commonly used shell enhancements for classic AmigaOS (3.9 and earlier). It provides scroll bars, command history, tab completion and more.
ViNCEd is a shell replacements for classic AmigaOS that provides Unix like job control (^Z, bg, fg), iconfication, lot of customization options, customizable title bar, scroll bars, command history, tab completion and more. It can replace KCON and a number of other utilities. ViNCEd is built on a library that provides the core for a text editor (hence the name), that is documented and available for custom development.
ViNCEd also ships with UnixDirs3, which gets you slightly more Unix like path handling (e.g. “cd ..” works the way you'd expect if you're used to Linux/Unix)
ZShell is an open source shell with command history, bash like tab completion (that is, inline rather than using a requester/dialog box, though you can bring up a file requester with ^f), colored prompts, a number of built in shell commands and unix style pipes (e.g. “dir | more” works as expected), menus with a number of short cuts, ability to hide file patterns (*.info files for example) from the built in commands. WARNING: While ZShell is very familiar if you come from Linux, and is great when it works, it has some pretty ugly bugs that might leave you with a hung shell window and might even trash other things on your machine.
Amiga commands accept wildcards in most situations where Unix / Windows commands would, but the wildcards are different.
On the Amiga, “#?” is used instead of “*”.
Amiga commands tends to use an OS supplied command line parser called ReadArgs. Commands that use this parser use a standard format for all their command line options.
If you execute such a command with a “?” as the single argument, you will get a brief description of the options and their valid format. For example:
(abridged from “search ?”). The words are the names of the arguments, and may be supplied, but can also be omitted if the arguments are supplied in order and are still unambiguous, unless the argument is a boolean switch (“/S”).
The character after “/” indicates the type of argument.
Thus this would be a valid string for the program above:
search FROM DH0: SEARCH Foo ALL
As would this (and they'd mean the same):
search DH0: Foo ALL
|cat somefile.txt||type somefile.txt|
|grep -r somefile.txt somedir | more|| search somedir foo >PIPE:some-unique-name |
|TODO: Explanation of getting Unix style pipes working|
|cd ..||cd /|
|ls *.txt||list #?.txt|
|rm foo||delete foo|
|grep foo /somedir||search /somedir foo|
|grep -r foo /somedir||search /somedir foo ALL|
|somecommand -?, somecmd –help etc.||somecommand ?|