Beginner Concepts
Basic Linux concepts explained in a simple, public-safe way.
This page is for understanding how Linux works before going deeper into commands, networking, Docker, SSH, or troubleshooting.
What is Linux?
Linux is an operating system kernel.
A Linux distribution combines the Linux kernel with tools, package management, services, and default configuration.
Examples of Linux distributions:
Red Hat Enterprise Linux
Fedora
Debian
Ubuntu
Arch Linux
openSUSE
The kernel is the core part of the system. The distribution is the full operating system experience around it.
What is a server?
A server is a computer or virtual machine that provides a service to users or other systems.
Examples of services:
web server
database server
file server
mail server
DNS server
application server
print server
A server can be physical or virtual.
What is a shell?
A shell is a program that lets you type commands.
Common shells:
bash
zsh
fish
sh
On many Linux servers, the default shell is usually bash.
Check your shell:
echo $SHELL
What is the terminal?
The terminal is the window or session where you interact with the shell.
Examples:
local terminal
SSH session
console session
terminal emulator
The terminal is the interface. The shell is the program interpreting commands.
What is root?
root is the administrator account on Linux.
Root can change almost everything on the system.
Check current user:
whoami
If it returns:
root
then you are root.
Be careful when working as root.
What is sudo?
sudo allows a permitted user to run commands with elevated privileges.
Example:
sudo systemctl restart SERVICE_NAME
Use sudo carefully because it can change the system.
What is a package?
A package is installable software managed by the distribution.
Examples:
openssh-server
nginx
httpd
vim
tcpdump
RHEL-based systems commonly use:
dnf
rpm
Example:
dnf info PACKAGE_NAME
What is a service?
A service is a program that runs in the background.
Examples:
sshd
httpd
nginx
cups
crond
firewalld
Check service status:
systemctl status SERVICE_NAME
What is systemd?
systemd manages services and boot processes on many Linux systems.
Common commands:
systemctl status SERVICE_NAME
sudo systemctl start SERVICE_NAME
sudo systemctl stop SERVICE_NAME
sudo systemctl restart SERVICE_NAME
systemctl --failed
What is a process?
A process is a running program.
Show processes:
ps aux
Interactive view:
top
A service usually runs one or more processes.
What is a file path?
A file path is the location of a file or directory.
Examples:
/etc/hosts
/var/log/messages
/home/user
/tmp/file.txt
Linux uses / as the root of the filesystem.
What is a directory?
A directory is a folder.
List files:
ls
List with details:
ls -lah
Change directory:
cd /path/to/directory
Show current directory:
pwd
What is a mount?
A mount connects a filesystem to a directory.
Example mount point:
/data
/mnt/storage
/home
Check mounts:
findmnt
Check disk usage:
df -h
What is a log?
A log is a record of what happened on the system.
Common log tools and locations:
journalctl
/var/log/messages
/var/log/secure
/var/log/cups/
Check recent logs:
journalctl -xe
What is an IP address?
An IP address identifies a system on a network.
Example documentation IPs:
192.0.2.10
198.51.100.10
203.0.113.10
Show IP addresses:
ip a
What is DNS?
DNS translates names into IP addresses.
Example:
example.com โ 93.184.216.34
Check DNS:
dig example.com
or:
nslookup example.com
What is SSH?
SSH is used to log in to another system securely.
Example:
ssh user@example-server
SSH can use passwords or SSH keys.
What is Docker?
Docker runs applications in containers.
A container is a packaged application environment.
Common commands:
docker ps
docker compose up -d
docker compose logs -f
docker compose down
What is a firewall?
A firewall controls allowed and blocked network traffic.
On many RHEL systems, firewalld is used.
Check firewall:
sudo firewall-cmd --state
sudo firewall-cmd --list-all
Basic troubleshooting idea
When something is broken, ask:
1. What changed?
2. What is the error?
3. Is the service running?
4. Is the disk full?
5. Is the server reachable?
6. Are there logs?
7. Is the issue local, network, service, or permission-related?
Useful first commands:
hostnamectl
uptime
df -h
free -h
systemctl --failed
ip a
ip r
journalctl -xe