Lecture # 4 - Systems and Network Programming

Shell environment: commands, I/O redirection (pipelines), expansion, permissions

House keeping items:

Agenda for Today (1/27/20):

Class Text is free online: The Linux Command Line, Fifth Internet Edition (class) : A Complete Introduction, William Shotts Free (PDF) format available at: linuxcommand.org

Webminal - A free online Linux terminal/environment

  • Instructions for getting an account here: Webminal
  • Webminal Start Terminal Here
  • Note: if you don't have your Linux environment setup, please use Webminal to accomplish H/W # 2
  • Please continue to work on your environment setup (VirtualBox and Mint Linux). You will need to have Mint for the upcoming programming components coming soon

Environment Setup Notes:

  1. Install VirtualBox
  2. Install Linux Mint (based on Ubuntu -- I prefer MATE desktop, but many people like Cinnamon)
    • Desktop Comparisons: MATE versus Cinnamon
    • Install Guest Additions - device drivers and system applications that optimize the guest operating system for better performance and usability.
  3. Enable "Shared Clipboard and Drag'nDrop": Settings -> Advanced
  4. Configure shared folders, then run the following commands..
    1. run: sudo usermod -a -G vboxsf `whoami`
    2. run: sudo chown -R `whoami`:users name-of-mount-point
    3. log out, and log back in

Lecture # 4 Notes:

  1. Main Lecture Content (class Text): Chapters 5-9
  2. Main Lecture Content (class Text summary): Lecture 4 (Mike C.) notes
  3. Previous CSE384 Instructor Notes: YUZHE (RICHARD) TANG
  4. Linux (Background) Material
    1. History - Unix/Linux Timeline
    2. GNU - "GNU is not Unix - collection of "free" softwate (GPL)
    3. Linux Kernel + GNU software = GNU/Linux
    4. Linux Intro/tutorial by Augustine Abaris Summer 2108 (Boston University)

Resources:

  1. I/O Redirection (LinuxCommand.org)
  2. Permissions (LinuxCommand.org)
  3. I/O Redirection (Guru 99)
  4. Permissions (Guru 99)
  5. LinuxCommand.org - Excellent Linux web resource (class text book here)
  6. Linux Intro/tutorial by Augustine Abaris Fall 2018 (Boston University)
  7. Linux Intro/tutorial by Augustine Abaris Summer 2108 (Boston University)
  8. A good Linux Overview (by Guru99)
  9. Tutorialspoint - deeper look at OS components
  10. Summary of Bash Commands from Dr. Fawcett's notes
  11. Webminal - discussion, examples, exercises Start Terminal Here

Interesting Technologies related to Linux:

  1. Kernel-based Virtual Machine (KVM) - turn Linux into a Hypervisor
  2. Docker (Container Technology)
  3. TCPDump & LIBPCAP
  4. Extended Berkeley Packet Filter (eBPF)
*** Action Items for Next Class ***
  • H/W # 2 due Weds: 01/29
  • Review lecture Resources
  • Read chapters 5-10
  • complete environment (VirtualBox, Mint) setup