1. The Terminal and the Shell#
A terminal gives you a direct way to work with a computer through commands. This chapter connects the Unix design philosophy to everyday navigation, the relationship between the shell and kernel, safe lab practice, and the organization of the Linux filesystem.
Unix philosophy: Small tools and consistent interfaces make commands useful together.
Terminal navigation: Paths and navigation commands let you find and inspect files.
Authorized practice: Cybersecurity commands belong in approved labs, VMs, containers, WSL instances, or course-provided hosts.
Kernel and shell: The shell interprets commands while the kernel manages system resources.
Filesystem hierarchy: A shared directory structure gives files and programs predictable locations.
Chapter Video
Linux in 100 Seconds (2:41) by Fireship
Hosted on YouTube; property of its original creator, embedded here for educational reference only.
Learning Objectives
By the end of this chapter, you will be able to:
Explain how Unix’s design principles influence command-line tools.
Navigate absolute and relative paths using
pwd,cd, andls.Create, inspect, and remove practice files and directories.
Distinguish the responsibilities of the shell, kernel, and processes.
Identify the purposes of common Linux system directories.
Explain why cybersecurity practice must stay inside authorized lab environments.
Chapter Flow
Glossary
# |
Term |
Explanation |
|---|---|---|
1 |
Unix |
An operating-system family that influenced Linux and its tools. |
2 |
Linux |
The kernel used by Linux distributions. |
3 |
Distribution |
A packaged system combining Linux with programs and utilities. |
4 |
Bash |
A shell that interprets commands and runs scripts. |
5 |
Terminal |
An interface for entering commands and reading their output. |
6 |
Shell |
A program that interprets commands for the operating system. |
7 |
Prompt |
The text indicating that the shell is ready for a command. |
8 |
Kernel |
The core software managing hardware and system resources. |
9 |
Process |
A running instance of a program. |
10 |
Filesystem |
The organization used to store and locate files. |
11 |
Root directory |
The top of the Linux directory tree, written as |
12 |
Home directory |
A user’s personal directory, abbreviated as |
13 |
Working directory |
The directory used as the starting point for relative paths. |
14 |
Absolute path |
A path beginning at the root directory. |
15 |
Relative path |
A path interpreted from the current working directory. |
16 |
Parent directory |
The directory one level above, written as |
17 |
Hidden file |
A Unix file whose name begins with a dot. |
18 |
Command option |
An argument that changes a command’s behavior. |
19 |
File permission |
A rule controlling access to a file or directory. |
20 |
Filesystem Hierarchy Standard |
A convention defining common Linux directory purposes. |
21 |
Authorization |
Permission to inspect, scan, audit, or modify a system. |
22 |
Lab environment |
An approved practice system such as a VM, container, WSL instance, or course-provided host. |