02
Week 2 focuses on UNIX/[[Linux]] origins and the terminal, command-line interface and basic file system navigation. You should be comfortable installing and removing and reinstalling [[Linux]] Ubuntu Server VMs and any apt packages before next week.
- Primary responsibilities of any mentor
- Help you know what to learn
- Help you know where to learn it (curate resources)
-
Help you when you get stuck
-
What is a "shell" and why do I care?
- What is the difference between "terminal", "CLI", and "shell"?
- What is a REPL? (Read, Evaluate, Print, Loop)
- Install and configure terminal software (MS Terminal, iTerm2)
- What is UNIX and [[Linux]]?
- What is GNU? Who invented [[Linux]]?
- Basic system update and package management and installation
- When to use apt vs apt-get? use apt-get when writing a script
- What is a "package"?
- How do I install software?
- Really simple and essential shell commands
- What do the character's in the prompt mean?
- What is an "inode"? Why everything is "just a file"?
- What are UNIX/[[Linux]] permissions?
- What does
.and..mean? - How do I know that
aptpackages are safe? - What is a shell "history"?
Commands Used¶
man- show manual information about a commandsudo- do it as root (superuser)apt- use interactively only (useapt-getin scripts)sudo apt update- update all the sources for packagessudo apt upgrade- upgrade all packages to latest versionapt search ^neo- search for all package starting withneosudo apt install neofetch- installneofetchand dependenciessudo apt remove neofetch- removeneofetchsudo apt autoremove- automatically remove unused packagesls- list the files in the (current) directoryls -al- list all the files including hidden (begin with.)hostname- display name of host computerpwd- print working directorycd foo- change into thefoodirectorycd,cd ~- change back to the home directorycd ..- change into the relative parent directorycd ../..- change into the relative parent of the parent directorycd -- change to previous directorycd /change to the root directory
Related:
- [[https]]://github.com/microsoft/terminal/releases (no app store needed)
- [[https]]://youtu.be/crtZHNclndQ (cool retro terminal)
- [[https]]://www.linuxcommand.org
- [[https]]://replit.org
- [[https]]://medium.com/@rwxrob/problem-with-repl-it-415f885164f
- "AT&T Archives: The UNIX Operating System" [[https]]://youtu.be/tc4ROCJYbm0
- "It's a UNIX system" [[https]]://youtu.be/dxIPcbmo1_U
- "Is it time to rewrite the OS in Rust" [[https]]://youtu.be/HgtRAbE1nBM
- [[https]]://youtu.be/ctGpRWCi8QU
- [[https]]://git-scm.org