Console Tricks Seminar

In [1]:
# Reset example files and folders
cd ${HOME}
mkdir -p exampledirectory1 exampledirectory2
rm -f exampledirectory?/*
rm -f examplefile2
echo "File1" > exampledirectory1/file1
echo "File2" > exampledirectory1/file2
echo "File3" > exampledirectory1/file3
echo -e "This Is Line1\nThis Is Line2\nThis Is Line3\nThis Is Line4" > examplefile
chmod 755 exampledirectory1 exampledirectory2
chmod 644 examplefile

1. Introduction: What Is a Shell?

Windows Explorer


Maybe this looks more like what you expected:

Terminal Exmulator

But is that a shell?

Yes and no. Let's have a look at the definition of a shell:

In computing, a shell is a user interface for access to an operating system's services. In general, operating system shells use either a command-line interface (CLI) or graphical user interface (GUI), depending on a computer's role and particular operation. Wikipedia

Maybe you wouldn't expect it, but the Windows Desktop, including the Windows Explorer, is a shell (and Microsoft actually calls it so).

On Linux systems we usually mean CLIs (command-line interfaces) when we're talking about shells. That doesn't mean that there aren't graphical shells. The X window system + your desktop environment is also a shell.

Back to our Linux “shell”…

Terminal Exmulator

What we see here are actually two things:

  • A graphical terminal emulator
  • A shell command prompt

The terminal window is basically a software version of this little fellow here: a very modern VT100 terminal (therefore the name “terminal emulator”).