It’s been four weeks since I started learning Linux at Akwannya Hub, and I’m gradually building a better understanding of how Linux systems work beyond basic commands.
This week, I explored four important areas: Bash scripting, computer hardware, the Linux filesystem, and network configuration.
Here are some of the key things I learned.
1. Getting Started with Bash Scripting
Bash scripting allows us to combine commands into a file that can execute a series of tasks automatically.
A Bash script typically begins with a shebang:
#!/bin/bash
After creating a script, we can make it executable using:
chmod +x script.sh
./script.sh
I also learned about variables, user input, command substitution, conditional statements, loops, and exit codes.
For example, a simple conditional statement:
#!/bin/bash
read -p "Enter your age: " age
if [ "$age" -ge 18 ]; then
echo "You are an adult."
else
echo "You are under 18."
fi
Bash scripting provides a way to automate repetitive tasks and build more efficient workflows.
2. Understanding Computer Hardware
Another area I explored was the hardware that makes a computer work.
Some of the key topics included:
- CPU: Processor architecture, including 32-bit, 64-bit, and ARM, as well as multicore processors and simultaneous multithreading.
- Memory: RAM and swap space, which play different roles in system memory management.
- Storage: HDDs, SSDs, and NVMe storage.
- Motherboards and buses: Technologies such as PCIe and USB.
- Power and firmware: Power supply units, UPS devices, BIOS, and UEFI.
Linux provides commands that help us inspect hardware information:
lscpu
free -h
lsblk
lspci
lsusb
These commands make it easier to understand a machine's processor, memory usage, storage devices, and connected hardware.
3. Understanding Where Data Is Stored
I also explored how Linux organizes files and directories according to the Filesystem Hierarchy Standard (FHS).
Some important directories include:
-
/home— users' personal directories. -
/binand/usr/bin— locations for essential and other user commands. -
/sbin— system administration commands. -
/etc— system configuration files. -
/var— variable data, including logs. -
/liband/usr/lib— locations for system libraries.
I also learned how the PATH environment variable helps the shell locate executable commands.
To investigate where a package has installed its files, different Linux distributions provide commands such as:
dpkg -L package-name
rpm -ql package-name
Understanding the filesystem makes it easier to navigate a Linux system and locate applications, configurations, libraries, and logs.
4. Exploring Network Configuration
Networking was another important part of this week's learning.
I explored IP addresses, subnet masks, default gateways, network interfaces, DNS, ports, and SSH.
Some useful commands include:
ip addr
ip link
ip route
ping example.com
For DNS troubleshooting, commands such as these can help:
host example.com
dig example.com
nslookup example.com
I also learned about checking network connections and listening ports with ss:
ss -tuln
SSH allows us to connect securely to remote machines:
ssh username@hostname_or_ip
An important lesson was understanding SSH host key fingerprints and the known_hosts file. If a host's identification changes unexpectedly, it should be investigated rather than ignored.
Final Thoughts
Week four helped me connect several important pieces of the Linux environment: how scripts automate tasks, how hardware resources are inspected, how files are organized, and how systems communicate over a network.
I'm beginning to see how these concepts fit together and why they matter for system administration, cloud computing, and software engineering.
There is still a lot to learn, but every week gives me another opportunity to build on what I already know.
Four weeks down. Many more to go. 🚀
Top comments (0)