The ALCSA Training #1: Access a shell prompt and issue commands with correct syntax

What is the ALCSA Training?
The ALCSA Training Objectives

In computing, a shell is a program that gives broad and direct access to the operating system on which it runs. The term shell refers to how it is a relatively thin layer around the operating system. The Arch Linux default shell is called bash. Other shells popular in the Arch community are zsh and fish.

You instruct a computer to do things with commands. When using a shell, a command is a text-based instruction. For example, issuing the command:

 $ echo "hello, world"

prints:

hello, world

Note: The $ sign represents the shell prompt. You don't need to type it yourself.

A shell prompt is what you see to the left of where you type. The prompt indicates that the shell is ready to receive commands. It often shows the user, computer name and current directory:

 my_user@my_computer ~ $

Commands have to follow certain rules. For example:

 $ "hello, world" echo

will result in an error. The echo command has to come first, followed by what you want to print. The set of rules governing how to write commands correctly is called syntax.

A shell program that receives text-based commands is called a command-line interface (CLI). Since the CLI has a steeper learning curve, most every day computer use takes place in a graphical user interface (GUI), like Windows.

Arch Linux does not ship with a GUI - you're dropped right into the CLI. From there, you may install a GUI like KDE Plasma or GNOME. To access the CLI from within a graphical desktop environment, you use a terminal emulator (or "terminal" for short). Popular terminal emulators include Kitty, WezTerm and ghostty.

To learn more about a command, refer to the man pages (the system's manual pages). You access them by typing man followed by the command:

 $ man cd

This would bring up man pages for the command cd, which is used to change the working directory.

Here are some useful commands to look up: pwd, cd, whoami, mkdir, ls, cat, echo, less, mv, cp, rm, rmdir, wc, uniq, man, sort, sudo, tree

Resources: Learning the Shell by William Shotts