Linux Fundamentals
🐧

Linux Fundamentals

Tags
Owner
Zach
Verification

Operating System Navigation

Terminal Commands: Learn basic commands like ls, cd, pwd, cp, mv, rm, and mkdir to navigate and manipulate the file system. Desktop Environment: Understand different desktop environments (GNOME, KDE, Xfce) and how to navigate them.

File System

File System Hierarchy: Familiarize yourself with the Linux file system structure, including directories like /home, /etc, /var, /usr, and /root. File Permissions: Learn about file permissions and ownership, including commands like chmod, chown, and chgrp.

System Monitoring and Management

Process Management: Use commands like ps, top, htop, kill, and nice to manage system processes. System Logs: Understand how to view and manage system logs using journalctl and log files in /var/log.

Hardware and Device Management

Device Management: Learn how to list and manage hardware devices using commands like lsblk, lspci, lsusb, and dmesg. Disk Management: Use tools like fdisk, parted, and mkfs for partitioning and formatting drives.

Configuration and Settings

Configuration Files: Understand the role of configuration files in /etc and how to edit them using text editors like nano or vim. Network Configuration: Learn basic network configuration using commands like ifconfig, ip, and nmcli.

Networking

Network Tools: Use tools like ping, traceroute, netstat, ss, and tcpdump for network troubleshooting. SSH and Remote Access: Understand how to use ssh for secure remote access and manage SSH keys.

Security Features

User and Group Management: Learn how to create and manage users and groups using commands like useradd, usermod, groupadd, and passwd. Firewall Management: Use ufw or iptables to configure and manage firewall settings.

System Updates and Package Management

Package Managers: Familiarize yourself with package managers like apt (for Debian-based systems), yum or dnf (for Red Hat-based systems), and pacman (for Arch-based systems). System Updates: Learn how to update the system and manage software packages.

Backup & Recovery

Backup Tools: Understand how to use tools like rsync, tar, and dd for backups. Recovery Options: Learn about system recovery methods and tools like grub and live CDs.

Virtualization

Virtualization Tools: Explore virtualization tools like VirtualBox, KVM, and Docker for creating and managing virtual machines and containers.

Software Installation & Removal

Installing Software: Use package managers to install and remove software packages. Source Installation: Learn how to compile and install software from source.

System Configuration and Management

Systemd: Understand system and service management with systemd commands like systemctl. Cron Jobs: Learn how to schedule tasks using cron and crontab.

Command Line Interface

Shell Scripting: Get started with shell scripting to automate tasks. Common Shells: Explore different shells like bash, zsh, and fish.

Security Policies and Practices

SELinux/AppArmor: Learn about security modules like SELinux or AppArmor and their configurations. Audit Logs: Use auditd to monitor and log system activities.

Troubleshooting Tools

Diagnostic Tools: Use tools like strace, lsof, df, and du for system diagnostics and troubleshooting.