For a Mac user who is familiar with bash shell, you already know a lot about the command line and how to install software in the black. What adds to your knowledge reserve is the server-side operation, which is becoming more common if handling bigger data.
Linux command line:https://classroom.udacity.com/courses/ud595
Linux security/superuser https://classroom.udacity.com/courses/ud299
Host OS: an operating system that’s installed directly on your physical computer.
Guest OS: OS installed indirectly, using a virtual machine (VM) software such as VirtualBox. VMs isolate programming projects from everything else without disrupting their day-to-day environment.
Install VirtualBox and Vagrant. My previous post has some more details when VM is used for psql.
Download the vagrantfile, cd to the target folder.
vagrant up # download the 1.67 GB .vmdk file vagrant ssh # enter ubuntu 14, use 25% memory ls pwd cd curl http://udacity.github.io/ud595-shell/stuff.zip -o things.zip sudo apt-get install cowsay cowsay good morning cowsay -e ^^ good morning cowsay -f tux good morning man conwsay q # exit manual apropos working directory bc # simple calculator
default shell on most Linux and Mac is GNU Bash.
bash --version hostname host udacity.com date history rm xx.txt # equal to os.remove("xx.txt") uptime (ctrl+r) # search previous command unzip things.zip cat bivalves.txt # read short file less xx.txt # read long file wc bivalves.txt # word count: lines,words,bytes diff file1, file2 # show difference nano xx.txt # edit file. ctrl+key is shortcut ping 188.8.131.52 # connect to another computer
- use quote”” or backslash\ if the file name has special symbols or space
- / is root, means absolute path
- ../ is one-level up parent of current work directory
- . path from root to current work directory
- ~ / home directory
- otherwise is a relative path, which is more convenient
package source list
cat /etc/apt/sources.list sudo apt-get update # update info sudo apt-get upgrade # upgrade software sudo apt-get install finger cat /etc/passwd # record of all users ! sudo adduser student ssh firstname.lastname@example.org -p 2222
search package at http://packages.ubuntu.com
- Red Hat: Enterprise level
- Ubuntu: free and ease of use
- Linux Mint Desktop users with proprietary media support
- CoreOS: clustered, containerized deployment of apps.