This guide is meant to be used as a companion of a workshop that we teach every now and then at Turn into Coders. But you can find this useful to get a collection of links and ideas.
If you don't know how to get to the command line, you can start from these basic tasks for new Linux users.
You can get the Bash terminal with the Windows subsystem for Linux. This will lead to installing a terminal that will allow you running most commands.
The alternative (or if you have Windows older than 10) is installing Linux, using a live version or accessing a remote web-IDE, like CodeAnywhere which is free for our purposes.
You can find the Terminal inside the Apps > Utility folder.
This an outline of topics and commands covered in the workshop.
- philosophy, minimalism, one tool does one thing (well)
- basic concepts, the shell is a program that runs builtin commands, programs or scripts (which are a series of programs)
- data moves from one command to another in form of plain text
- touch typing is important. Pick one of these and practice (you should get at least to 60~70 wpm) https://typing.io/ gtypist https://www.keybr.com/ https://www.typingclub.com/ http://play.typeracer.com/
- case sensitivity
- basic commands (
pwd
,ls
,cd
,mkdir
,cp
,mv
,rm
,ln
) - I/O: pipe, redirect, stdin, stdout, stderr
- ctrl+c, z, d
- &,
fg
,kill
- arrows, ctrl+arrow, home end, tab
history
, ctrl+rless
,tail
,cat
,head
- moving around in files (/, hjkl, q)
man
, -htop
,uptime
,ifconfig
,apt
,kill
,chown
,chmod
,du
,grep
,find
,wc
- accounts/permissions
su
,sudo
nano
,vi
- standard folders
export
- script
- zsh - Oh My Zsh
alias
- Python server for static files, out of the box
python3 -m http.server 8000
The Art of Command Line
IBM's Learn Linux, 101 - The Linux command line
Learn Enough Command Line to Be Dangerous
Exoteric *nix terminal tutorial
Awesome shell
An A-Z Index of the Bash command line for Linux
Codecademy - Learn the command line