Lecture # 6 - Systems and Network Programming

Common tools and commands: editors (vi), grep (regex), find, sed, awk, etc.

House keeping items:

Agenda for Today (02/03/20):

Lecture # 6 Notes:

  1. Tools Presentation

Resources:

    vi editor

    1. Class Text (chapter 12): Introduction to vi
    2. Basic Commands: Colorado State University
    3. vi Tutorial: GeeksforGeeks
    4. vi Introduction: City College San Franciso

    grep - g/re/p (global search a regular expression and print)

    1. grep, regular expressions (regex): Class Text: Chapter 19
    2. Previous CSE384 Instructor Notes: YUZHE (RICHARD) TANG Find and grep presentation
    3. Complete regex tutorial
    4. 15 practical grep examples
    5. more grep examples
    6. Regex cheat sheet: MIT
    7. Regex (Basic) cheat sheet
    8. Nice regex overview, programming examples

    Find and locate files

    1. Class Text (chapter 17) Searching for Files
    2. Find command tutorial: Indiana University
    3. Find Command (Tutorial)
    4. Previous CSE384 Instructor Notes: YUZHE (RICHARD) TANG Find and grep presentation

    sed - stream editor

    1. Class Text (Chapter 20): Text Processing
    2. sed - stream editor
    3. sed examples

    AWK programming langauge

    1. Tutorialspoint
    2. Typical Uses
      • Producing formatted text reports
      • Performing arithmetic operations
      • Performing string operations, and many more

    Processes: ps command

    1. Class Text (chapter 10) processes
  1. Summary of Bash Commands from Dr. Fawcett's notes
  2. Webminal - discussion, examples, exercises Start Terminal Here

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
  5. Update Mint (run): "sudo apt update && sudo apt upgrade -y"
  6. *** Nice presentation from Dr. Fawcett for creating a complete virtual environment using VirtualBox and Ubuntu ***
  7. *** I've also started to build standard Mint VM which I can distribute (see me) ***

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 ***