The usual way to invoke Emacs is with the shell command emacs. From a terminal window running in the X Window System, you can also run Emacs in the background with emacs&; this way, Emacs won't tie up the terminal window, so you can use it to run other shell commands.
When Emacs starts up, the initial frame displays a special buffer
named ‘*GNU Emacs*’. This buffer contains some information about
Emacs, and includes links to common tasks that might be useful
to beginning users. For instance, activating the ‘Emacs
Tutorial’ link opens the Emacs tutorial; this does the same thing as
the command C-h t (help-with-tutorial). To activate a
link, either move point onto it and type <RET>, or click on
it with mouse-1 (the left mouse button).
Using a command line argument, you can tell Emacs to visit one or more specific files as soon as it starts up. For example, emacs foo.txt starts Emacs with a buffer displaying the contents of the file ‘foo.txt’. This feature exists mainly for compatibility with other editors, which are designed to edit one file at a time: once you are done with that file, you exit the editor, and start it again the next time you need it.
Using Emacs in this way—starting it afresh each time you want to edit a file—is unnecessary and wasteful. Emacs can visit more than one file in a single editing session, and exiting the Emacs session loses valuable accumulated context, such as the kill ring, registers, undo history, and mark ring. These features, described later in the manual, are useful for performing edits across multiple files, or continuing edits to a single file.
The recommended way to use Emacs is to start it only once, just after you log in, and do all your editing in the same Emacs session. Each time you edit a file, visit it with the existing Emacs, which eventually has many files in it ready for editing. See Files, for more information on visiting more than one file.
To edit a file from another program while Emacs is running, you can use the emacsclient helper program to open a file in the already running Emacs. See Emacs Server.
Emacs accepts other command line arguments that tell it to load certain Lisp files, call certain functions, and so forth. These features exist mainly for advanced users. See Emacs Invocation.
If the variable inhibit-startup-screen is non-nil,
Emacs does not display the startup screen. In that case, if one or
more files were specified on the command line, Emacs simply displays
those files; otherwise, it displays a buffer named ‘*scratch*’,
which can be used to evaluate Emacs Lisp expressions interactively.
See Lisp Interaction. You can set the variable
inhibit-startup-screen using the Customize facility
(see Easy Customization), or by editing your initialization file
(see Init File).1
You can also force Emacs to display a file or directory at startup
by setting the variable initial-buffer-choice to a
non-nil value. (In that case, even if you specify one or more
files on the command line, Emacs opens but does not display them.)
The value of initial-buffer-choice can be either the name of
the desired file or directory, or t, which means to display the
‘*scratch*’ buffer.