Linux Notes

Selinux ๐Ÿ‡บ๐Ÿ‡ธ

SELinux stands for Security-Enhanced Linux...

Task State Analysis ๐Ÿ‡บ๐Ÿ‡ธ

Task-state analysis is a way to understand what processes and threads are doing by looking at their runtime states...

Containers and Docker ๐Ÿ‡บ๐Ÿ‡ธ

Containers have fundamentally changed the way software is built, shipped, and run. If you've spent time administering Linux systems, managing packages, configuring services, and troubleshooting dependency conflicts, you already understand the pain that containers were designed to solve. A container ...

System Startup ๐Ÿ‡บ๐Ÿ‡ธ

The system startup process is everything that happens between pressing the power button and reaching a usable login prompt or graphical desktop...

Nfs ๐Ÿ‡บ๐Ÿ‡ธ

NFS stands for Network File System...

Inotify ๐Ÿ‡บ๐Ÿ‡ธ

Inotify is a Linux kernel subsystem that provides a mechanism for monitoring file system events. It allows applications to watch files and directories for changes such as creation, deletion, modification, and access. Rather than repeatedly polling the file system to detect changes, inotify delivers ...

Running Executables ๐Ÿ‡บ๐Ÿ‡ธ

When you type a command such as...

Firewall ๐Ÿ‡บ๐Ÿ‡ธ

A firewall controls network traffic entering, leaving, or passing through a system...

Logical Volume Management ๐Ÿ‡บ๐Ÿ‡ธ

Storage devices such as HDDs, SSDs, USB drives, and virtual disks provide raw space. Before that space can be used conveniently, it usually needs to be divided, organized, formatted, and mounted...

Commands ๐Ÿ‡บ๐Ÿ‡ธ

Let's talk about some seriously useful tricks that'll make your command-line life much easier. Ever find yourself thinking "I know I ran that command yesterday, but what was it again?" or "There has to be a faster way to do this!" Well, you're in luck, the terminal has some fantastic features to hel...

Encryption ๐Ÿ‡บ๐Ÿ‡ธ

Encryption is one of the main tools used to protect digital information. It keeps data private by changing readable information into an unreadable form. The readable version is called plaintext, and the unreadable version is called ciphertext...

Environment Modules ๐Ÿ‡บ๐Ÿ‡ธ

Environment Modules is a tool used to manage software environments from the command line...

Shells and Bash Configuration ๐Ÿ‡บ๐Ÿ‡ธ

A Unix shell is a command-line program that lets a user communicate with the operating system. Instead of using buttons and menus, the user types commands, and the shell interprets those commands...

Performance Monitoring ๐Ÿ‡บ๐Ÿ‡ธ

Performance monitoring is the process of observing how a system uses its resources...

Log Files and Journals ๐Ÿ‡บ๐Ÿ‡ธ

Understanding how logging works in Linux is like learning the language your system uses to communicate. Logs are the detailed records that your system keeps about its activities, and they are invaluable for troubleshooting, monitoring performance, and ensuring security. Let's embark on a journey to ...

Disk Io Analysis ๐Ÿ‡บ๐Ÿ‡ธ

Disk I/O analysis is the process of observing how data is read from and written to storage devices...

Services ๐Ÿ‡บ๐Ÿ‡ธ

A service is a background program that provides a function to the system, users, or other programs...

Ldap ๐Ÿ‡บ๐Ÿ‡ธ

LDAP stands for Lightweight Directory Access Protocol...

Sed and Awk ๐Ÿ‡บ๐Ÿ‡ธ

sed (Stream Editor) and awk are powerful command-line utilities that originated from Unix and have become indispensable tools in Unix-like operating systems, including Linux and macOS. They are designed for processing and transforming text, allowing users to perform complex text manipulations with s...

Hardware ๐Ÿ‡บ๐Ÿ‡ธ

Linux is well known for running on a wide range of hardware. It can run on laptops, desktops, servers, embedded systems, routers, single-board computers, virtual machines, and high-performance clusters...

Mounting ๐Ÿ‡บ๐Ÿ‡ธ

In Linux, mounting is the process of making a filesystem available somewhere inside the main directory tree...

Networking ๐Ÿ‡บ๐Ÿ‡ธ

Networking is the practice of connecting computers, servers, phones, routers, printers, and other devices so they can communicate and exchange data...

Environment Variable ๐Ÿ‡บ๐Ÿ‡ธ

In Unix-style shells, variables let you store and reuse pieces of information, such as your preferred editor...

Rhcsa ๐Ÿ‡บ๐Ÿ‡ธ

The Red Hat Certified System Administrator (RHCSA) certification is one of the most respected credentials in the Linux world. Unlike exams where you pick answers from a list, RHCSA is entirely performance-based โ€” you sit in front of a live Red Hat Enterprise Linux system and complete real tasks with...

Ci Cd ๐Ÿ‡บ๐Ÿ‡ธ

CI/CD stands for Continuous Integration and Continuous Delivery (or Continuous Deployment). It is a set of practices that automate the process of integrating code changes, running tests, and delivering software to production environments. For Linux administrators moving into DevOps, CI/CD pipelines ...

Linux Certification Overview ๐Ÿ‡บ๐Ÿ‡ธ

Earning a Linux certification proves to employers (and to yourself) that you can actually manage real systems under pressure. Whether you're just entering the field or aiming for a senior infrastructure role, there's a certification path that fits your goals. This guide maps out the major options, c...

Infrastructure As Code ๐Ÿ‡บ๐Ÿ‡ธ

If you have ever spent hours manually configuring Linux servers, installing packages one by one, editing configuration files by hand, and then trying to remember exactly what you did when it is time to set up the next server, you already understand the problem that Infrastructure as Code solves. Inf...

Lfcs ๐Ÿ‡บ๐Ÿ‡ธ

The Linux Foundation Certified System Administrator (LFCS) certification validates your ability to perform core system administration tasks on a live Linux system. Like the RHCSA, it's a performance-based exam โ€” you don't answer multiple-choice questions, you complete real tasks on a real system. Wh...

Tar and Gzip ๐Ÿ‡บ๐Ÿ‡ธ

Working with files on Unix-based systems often involves managing multiple files and directories, especially when it comes to storage or transferring data. Tools like tar and gzip are invaluable for packaging and compressing files efficiently. Understanding how to use these commands can simplify task...

Utilities ๐Ÿ‡บ๐Ÿ‡ธ

We will discuss various tools that can be used on Linux systems for tasks such as taking screenshots, recording screens, preparing bootable sticks, and detecting malware. It provides brief explanations of each tool and includes installation and usage instructions...

Cron Jobs ๐Ÿ‡บ๐Ÿ‡ธ

Cron is a powerful utility in Unix-like operating systems that automates the execution of scripts or commands at specified times, dates, or intervals. It is used for tasks such as system maintenance, backups, updates, and more...

Inodes and Symlinks ๐Ÿ‡บ๐Ÿ‡ธ

Inodes are critical as they store essential metadata about files, such as permissions and locations, allowing efficient file system management. Hard links are important because they let multiple file names point to the same inode, saving disk space by avoiding data duplication. Symlinks provide flex...

Kernel ๐Ÿ‡บ๐Ÿ‡ธ

We will now delve deeply into the Linux kernel to understand its role in the operating system, where it resides on your system, and how kernel modules function. We will also explore how to download and examine the Linux kernel source code, and discuss the various configuration options available with...

Processes ๐Ÿ‡บ๐Ÿ‡ธ

In any operating system, a process is the fundamental unit of executionโ€”a live instance of a program. Beyond its executable code (the text segment), a process encompasses its dynamic state: the program counter, CPU registers, call stack, heap, and other variable storage. To manage and schedule these...

Files and Dirs ๐Ÿ‡บ๐Ÿ‡ธ

One of the fundamental skills is to navigate and manage files and directories effectively. Here, we focus on the crucial concepts that will facilitate your work within the file system...

Permissions ๐Ÿ‡บ๐Ÿ‡ธ

File permissions are crucial in any Unix-like operating systems, including Linux, which employ several mechanisms for controlling access to files and directories. These mechanisms include standard permissions, special permissions, and access control lists (ACLs)...

Dwm ๐Ÿ‡บ๐Ÿ‡ธ

The Dynamic Window Manager (DWM) is a minimal, lightweight, and highly efficient tiling window manager designed to help you manage application windows in a clean and distraction-free manner. Instead of overlapping windows as seen in traditional window managers, DWM organizes windows in a tiled layou...

Introduction ๐Ÿ‡บ๐Ÿ‡ธ

Linux is a versatile and powerful open-source operating system that forms the backbone of countless technological infrastructures, from servers and desktops to mobile devices and embedded systems. Known for its stability, security, and flexibility, Linux provides a robust platform that can be custom...

File System ๐Ÿ‡บ๐Ÿ‡ธ

In Unix, files and filesystems are important components of the operating system's structure. A file is a collection of data stored on disk, which can include anything from text documents and images to executable programs. Files are organized within directories in a hierarchical structure, allowing f...

Pipe and Redirect ๐Ÿ‡บ๐Ÿ‡ธ

Input redirection (<) allows a command to read from a file, while output redirection (>) sends a command's output to a file. Streams like stdin, stdout, and stderr control the flow of data between commands and the system, where stdin is the input, stdout is the standard output, and stderr is the err...

Disk Usage ๐Ÿ‡บ๐Ÿ‡ธ

Managing and monitoring disk usage is necessary for server maintenance, allowing administrators to identify disk space shortages caused by large log files, such as Apache or system logs, and malfunctioning applications that generate excessive data. Tools like df provide quick overviews of available ...

Ssh and Scp ๐Ÿ‡บ๐Ÿ‡ธ

SSH, SFTP, and SCP are network protocols that provide secure data communication and file transfer over insecure networks. Here's a brief overview of each...

Package Managers ๐Ÿ‡บ๐Ÿ‡ธ

Debian and Ubuntu are popular Linux distributions for home users. These distributions and their derivatives use the Advanced Package Tool (APT). Other distributions use alternative package managers, like DNF, YUM, Pacman, which have unique functionalities and syntax...

Ports ๐Ÿ‡บ๐Ÿ‡ธ

In computer networking, ports serve as endpoints for communication between devices, similar to doors through which data flows in and out of a computer. In today's interconnected digital landscape, network security is paramount. Network ports are critical points that require diligent management and s...

Partitions ๐Ÿ‡บ๐Ÿ‡ธ

Partitioning a disk involves dividing a physical storage device into separate, manageable sections called partitions. Each partition functions as an independent disk within the operating system, allowing for better organization, multi-boot setups, or separation of system files from user data. The tw...

Grep ๐Ÿ‡บ๐Ÿ‡ธ

The grep command is one of the most powerful and versatile tools in the Unix and Unix-like operating systems, including Linux and macOS. Its name stands for global regular expression print, and it is primarily used for searching plain-text data sets for lines that match a regular expression or a fix...

Managing Users ๐Ÿ‡บ๐Ÿ‡ธ

In Linux, user management is a crucial aspect of system administration. A user is essentially an entity that can log into the computer system and perform tasks based on the permissions granted to them. The Linux operating system stores user-related information in a couple of key files: /etc/passwd a...

Virtual Machines ๐Ÿ‡บ๐Ÿ‡ธ

Virtual machines have revolutionized the way we approach computing resources by enabling the creation of software-based representations of physical hardware. This concept, known as virtualization, allows us to emulate hardware components like CPUs, memory, storage devices, and network interfaces, pr...

Finding Files ๐Ÿ‡บ๐Ÿ‡ธ

The find, locate, and which commands are commonly used for file search operations. The find command performs a comprehensive search using attributes such as name, size, and type. locate provides a faster, albeit periodically updated, search by filename. which locates the path of a program's executab...