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
apt
packages 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-get
in 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 withneo
sudo apt install neofetch
- installneofetch
and dependenciessudo apt remove neofetch
- removeneofetch
sudo 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 thefoo
directorycd
,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