This series offers a gentle introduction to Linux for newcomers.
The desktop environment with its bundle of programs sharing a common graphical user interface (GUI) remains a firm favorite with users. That’s unsurprising as a good desktop environment makes computing fun and simple. The graphical desktop environment has become so ingrained in almost everyone’s computer activities that it might seem the shell would fade away. Yet there’s still an important role to play for the shell and accompanying terminal-based software.
What’s a shell? What’s a terminal? The shell is a program that takes commands from the keyboard and gives them to the operating system to perform. On Ubuntu, the default shell is bash (which stands for Bourne Again SHell). The terminal is really a program called a terminal emulator. This is software that lets you interact with the shell.
There are many reasons why it’s useful to use bash and the command-line. For example, command-line skills help with building repeatable data processes, the command-line makes working with text files easier, it uses less resources, can improve productivity and workflow, it’s great for scripting, and command-line skills are useful for cloud services.
As we’re using Ubuntu for this guide, we can click on the grid and start typing ‘terminal’ into the search box. As soon as we type the letter t, we can see the terminal icon. Click the icon. This launches the gnome-terminal program.
We will use a different program called hyper for our screenshots as they look more visually attractive. But the pre-installed gnome-terminal offers all the functionality you’ll need.
When you start Terminal, the application starts the default shell. In Ubuntu that’s bash, but there are other shells available.
The shell shows your username, hostname, and current working directory.
sde@ganges tells us that we’re logged into the shell with the username sde, on a host machine named ganges. Our working directory is /usr/bin.
A shell knows 4 types of commands.
Builtins: Builtin commands are contained within the shell itself. They provide functionality which is difficult or impossible to obtain with separate utilities. Most builtins manipulate the shell state.
Aliases: Nicknames for a command with some options. They are defined in the shell’s initialization file (~/.bashrc for bash).
External commands: They are independent of the shell. Like other programs, the shell executes external programs by looking them up in the executable search path. The PATH environment variable contains a colon-separated list of directories to search for programs.
Functions: They are snippets of shell code given a name. Like aliases, they are defined in the shell’s initialization file.
As this article is targeted at beginners to Linux, we’ll focus on builtins, aliases, and external commands. Let’s look at each in turn.
Pages in this article:
Page 1 – Types of Commands
Page 2 – Shell Builtins
Page 3 – Aliases
Page 4 – External Commands
Page 5 – Navigate the shell efficiently
Page 6 – Appendix – Explanation of Shell Builtins
All articles in this series:
This is for beginners? Every other word seems undefined. I can read Supreme Court briefs and medical research but not this! The most important thing unexplained is what can be accomplished with these commands. If someone is willing to talk to me to explain these things, I am willing to suggest easier explanations.
Every other word seems undefined?? I think you should read more of the guide before coming to your discourteous comment.
You’ll learn a lot from Part 11, as that shows you how to find what you can do with the commands.
Well, I have not figured out just who you all really are yet….. maybe I won’t be able to>?. But, this is the best “Everything About Linux” I have ever found, on the Internet! And I have been doing Linux in many flavors from 1994! Mostly, I go between Debian and Kubuntu, which I use because of the KDE desktop, which I really like, works great for me to do anything I need!
Wow….. I now have a place to send those I try to talk into using Linux and out of paying that expensive Microsoft tax. I bailed out of Microsoft Windows 95SE in 94′. Furthermore, I have never looked back, and I have kept my money to donate to the many parts of Linux that don’t fly the “Blue Screen Of Death” for a fortune.
Don’t go away anytime soon, I’m going to work even harder now to talk others into dumping Windoz!