Learning

Linux for Starters: Your Guide to Linux – Get Started with the Terminal – Part 9

Last Updated on May 22, 2022

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.

Linux for Starters - Starting Terminal

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.

Shell Commands

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.

Linux for Starters - Shell Information

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.

Page 2 – Shell Builtins

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:

Linux For Starters: Your Guide to Linux
1What is Linux? Why use Linux? What do I need?
2Choose a Linux distribution meeting your specific needs and requirements.
3Make a bootable Ubuntu USB stick in Windows.
4We show you how to install Ubuntu 21.04 on your hard disk.
5Things to do after installing Ubuntu.
6Navigating your way around the Desktop.
7Updating the system, install new software.
8Open source replacements for proprietary Windows desktop software.
9Get started with the power and flexibility of the terminal.
10We cover the basics of files and permissions.
11Getting help from your system.
12Learn all about the file system.
13Manipulating files from the shell.
14Maintain your system with these simple tips.
15Managing users on your system.
16Explore different desktops to GNOME 3.
17Gaming on Linux.
18Protect your privacy with this guide.
19Access the Windows desktop from Linux using a remote desktop client.
20Set up a virtual machine running Ubuntu as the host and openSUSE as the guest.
21Wine lets you run Windows programs on Linux without emulation.
22Extend your GNOME desktop with extensions and themes.
XUseful Linux commands.
Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Please read our Comment FAQ before posting a comment.

3 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Dave Leach
Dave Leach
3 years ago

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.

Rooster
Rooster
3 years ago
Reply to  Dave Leach

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.

housekid
housekid
2 years ago

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!