Linux Fundamentals (What to Learn First)

Linux is everywhere! From web servers to smartphones, understanding its fundamentals unlocks a deeper appreciation for the technology we use every day.

This post will help you to understanding the core concepts of Linux, making you a savvy user in no time. (But make sure to practice these to become expert)

System Fundamentals

  • Kernel - The core of the operating system
  • Shell - A program that provides a command line interface to the operating system 
  • System calls - Functions that provide an interface for user programs to access the operating system's functionalities
  • System libraries - Collections of functions and routines used by programs
  • Processes - An instance of a computer program that is being executed
  • User - An account on a computer system that is used to identify a person or process
  • Group - A collection of users that share common permissions on a computer system
  • Permissions - Controls who can access a file or directory and what they can do with it
  • Ownership - Refers to the user and group that owns a file or directory

Filesystem Hierarchy

  • /etc: The directory on a Linux system that stores configuration files.
  • /var: The directory on a Linux system that stores variable data files.
  • /home: The directory on a Linux system that stores user data files.
  • /root: The home directory of the root user on a Linux system.
  • /bin: The directory on a Linux system that stores essential executable programs.
  • /sbin: The directory on a Linux system that stores executable programs for system administration.
  • /usr/bin: The directory on a Linux system that stores user executable programs.
  • /usr/sbin: The directory on a Linux system that stores system administration executable programs.

  • /tmp: The directory on a Linux system that stores temporary files.

User Management

  • useradd: A command in Linux used to create a new user account.

  • usermod: A command in Linux used to modify an existing user account.

  • /etc/passwd: A file on a Linux system that stores information about user accounts.

  • /etc/shadow: A file on a Linux system that stores hashed passwords for user accounts.

  • UID (User ID): A unique identifier for a user account on a Linux system.

  • GID (Group ID): A unique identifier for a group of users on a Linux system.

Package Management

  • apt: A package manager for Debian-based Linux systems.

  • yum: A package manager for Red Hat-based Linux systems.

  • dnf: A newer package manager that replaces yum in Red Hat-based Linux systems.

  • DEB (Debian package file): A type of package file used by Debian-based Linux systems.

  • RPM (Red Hat Package Manager): A type of package file used by Red Hat-based Linux systems.

  • Tarball: A compressed archive file format used to distribute software in Linux.

Security

  • Firewall: A software program that filters incoming and outgoing network traffic.

  • iptables: A command-line tool for managing firewall rules in Linux.

  • firewalld: A firewall management tool for Linux that is easier to use than iptables.

  • SELinux (Security-Enhanced Linux): A security system for Linux that restricts what programs can do.

Processes

  • PID (Process ID): A unique identifier for a running process on a Linux system.

  • ps: A command in Linux used to display information about running processes.

  • Foreground process: A process that is currently running and has the user's attention.

  • Background process: A process that is running in the background and does not have the user's attention.

Command-line Tools

  • Shell: A program that provides a command-line interface for interacting with the Linux operating system.

  • grep: A command-line tool used to search for text in files.

  • sed: A command-line tool used to edit text files.

  • awk: A command-line tool used to process text files.

  • kill: A command-line tool used to send a signal to a process.

  • top: A command-line tool used to display information about running processes.

  • man: A command-line tool used to display the manual page for a command.

Text Editors

  • nano: A simple text editor for Linux.

  • qedit: A more advanced text editor for Linux.

Networking

  • TCP/IP (Transmission Control Protocol/Internet Protocol): The suite of protocols used for communication over the internet.
  • ifconfig: A command-line tool used to configure network interfaces.
  • netstat: A command-line tool used to display information about network connections.
  • scp: A command-line tool used to securely copy files between computers.
  • ssh: A command-line tool used to securely login to a remote computer.
  • wget: A command-line tool used to download files from the internet.

Comments

Popular posts from this blog

Free Courses - Git & GitHub (DevOps)

6 FREE courses to learn AWS & AWS DevOps (Concepts + Hands-on + Interview)