Skip to main content

Introduction

The Linux usage topic is currently being organized by Andrei and is purely online at the moment. Related content will be posted here, on the website.

info

If you ever get stuck on something or need help resolving an issue, you can always post your question on the #linux channel on our discord server.

danger

While previous programming knowledge is not needed, it's recommended that you understand some basic programming concepts (what are variables, what if statements are, what a function is).

Topic Outline

Hi! I'm Andrei. I've been using Linux and similar operating systems for the past two years, so in this topic I want to casually explain and present different aspects of Linux and Unix-like operating systems. This topic is very different from the others, mostly focusing on computer history and general computer usage, although I will be organizing a significant "unit" that will contain very interesting programming concepts. This tutorial series is meant to guide completely inexperienced people from the basics of the command line to the usage of power user operating systems such as Arch Linux. I will try to post a tutorial discussing different aspects of Unix operating systems at least every two weeks.

If you have any questions about this content or just want to contact me, ping me in #linux on Discord or send me an email at andrei@sdf.org

Planned content

  • What is GNU/Linux?
    • What is the difference between Linux, Unix, and GNU?
      • History of Unix
  • Installing Debian
  • The standard Unix file hierarchy
  • What is a package manager?
    • Using apt(1) and dpkg(1) to install packages on Debian
  • What is an operating system shell?
    • Simple shell scripting, pipes, job control, output redirection
    • Shell builtins (echo,cd,etc)
  • Using standard Unix/GNU command line utilities
    • ls(1)
    • man(1)
      • Man pages
    • cp(1)
    • mkdir(1)
    • rm(1)
    • top(1)
    • ln(1)
    • mount(1)
    • vi(1)
  • Installing Arch Linux
    • Using pacman(1)
  • The X windowing system
    • Wayland
  • Introduction to the C programming language
    • Pointers, Structs, implementing simple data structures in C
      • Dynamic Array
      • Hash Map
      • Linked List
  • Basic systems programming in a Unix environment
    • suid, guid, stdlib and stdio functions
    • file i/o using C
    • using GCC
  • Gentoo (Maybe)
  • Introduction to other Unixes (Maybe)