Shell
-
What is the shell?
A command line-interface (CLI) to interact with computer. -
Common shells: bash(supported by almost all UNIX systems), zsh, fish
Shell Commands
- Basic structure:
[command] [flag] [arguments] - RTFM:
man (command)
Common Shell Commands
cdlscathead: read the first 10 linesless: read larger filesmvcprm
”.” for this directory, ”..” for its parent.
Editors
- Nano
- Vim
- Emacs
Usage: [editor name] [file]
Open Source Software (OSS)
Free and Open Source Software (FOSS) or Free/Libre Open Source Software (F/LOSS)
“Free as in beer, and free as in freedom”
The Four Freedoms
- The freedom to run the program as you wish, for any purpose.
- The freedom to study how the program works, and change it so it does your computing as you wish. Access to the source code is a precondition for this.
- The freedom to redistribute copies so you can help others.
- The freedom to distribute copies of your modified versions to others. By doing this you can give the whole community a chance to benefit from your changes. Access to the source code is a precondition for this.
Open source software:
Term used by some software and technology companies. You may not have the right to use, modify, or redistribute the software or source code.
OSS Licenses: Legal Jiggery-Pokery
- Copyleft (GPL)
- “I want to make sure that all versions of GNU remain free.” - Stallman (GNU Manifesto)
- “a cancer that attaches itself in an intellectual property sense to everything it touches” - Steve Ballmer
- Permissive (MIT, BSD, Apache, WTFPL)
- Do whatever you want (basically)
UNIX
Unix’s advantages over non-Unix systems
- UNIX philosophy: simple, short, clear, and modular code
- UNIX idea: “everything is a file”
- Worse is better.
- Sockets for networking, now copied beyond Unix systems
- “It’s very simple — you read the protocol and write the code.” - Bill Joy on implementing TCP/IP