Linux OS#

Series of slides describing UNIX-like OSes with examples from Linux environment but generic enough to be applicable on other *NIX platforms.

  • This series should be read in order!

    I have put some thought in the structure of chapters of this series and I made a lot of effort to introduce every new term, topic, tool and mechanism logically in the way which they depend on each other. Every chapter build upon previous one without referencing back and forth.

  • Beware of code snippets!

    Do *NOT* just copy-paste code from the slides to your terminal... Retype it! Especially since the slides are made with Office suite and single/double quotes might be (often are) replaced with typographic "curved" styled quotes... (sorry)

    # you can copy these character from here
    # if you cannot find them on your keyboard...
    
    -      is dash
    --     is double-dash
    `      backquote or backtick
    '      single-quote (vertical, straight, ASCII)
    "      double-quote (vertical, straight, ASCII)
    

    I plan to redo these with Latex - it will be more version-control friendly too...

Intro to OS#

  • Birdview of Operating Systems landscape
  • Brief history of Unix and Linux
  • Linux distributions
  • Software packages
  • Basic concepts

User Interfaces#

  • GUI, TUI and CLI
  • Linux Desktops
  • Benefits of CLI
  • Exploring Terminal

Files and Filesystems#

  • Everything is a file in Unix
  • Type of filesystems
  • Root FS and filesystem tree
  • Disks and partitions
  • Special devices
  • Mountpoints, disk usage
  • Ownership and permissions
  • Fundamental shell tools
  • Basic navigation in CLI

More on Shell#

  • Readline and REPL
  • Pagers and history
  • Manpages
  • Environment ($PATH, $HOME)
  • Builtins and Executables
  • Aliases
  • Shell profiles ($PS1)
  • Unicode and UTF-8 ($LANG)
  • Text editor

    Note: Bash supports extended globs which can be turned on with shopt builtin.

Users, Groups and Processes (TODO)#

  • More on users and groups
  • CLI tools for account management
  • Switching user with su and sudo
  • Setuid and setgid
  • Listing processes
  • Shell jobs and background processes
  • Services and daemons
  • Signals and kill command
  • Nohup command

Unix Tools (TODO)#

  • Learning Unix toolbox
  • Commands for file manipulation
  • Using tar and zip utilities
  • grep, sed and awk
  • Piping and redirection

Command Reference (TODO)#

Summary of all described commands.