# Linux Basics 101 and GitLab R3 Workshop
## How to connect to a remote Session
***
1. Terminal
+ Windows
+ PuTTy [download](http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html)
+ MobaXterm
+ Mac
+ iTerm
+ Terminal
+ Linux
+ Terminal
2. SSH key generation
+ Windows
+ PuTTyGEN
+ Mac / Linux
+ ssh-keygen
3. Create LUMS account (done by LCSB)
4. Add SSH key to LUMS (**L**CSB **U**ser **M**anagement **S**ystem)
1. Attach SSH key to your LUMS account
2. Go to https://lcsb-ipa.uni.lu
3. Login with first.lastname and password linuxwork2015
> (Note: Use your password for existing LUMS account)
5. Connecting to Virtual Machine
+ ssh `first`.`lastname`@10.79.2.191 -p 8022
## Discover your surroundings
***
* In which folder am I? (Hint: pwd)
* What is the contents of the current folder? (Hint: ls)
* Creating my first file (Hint: touch)
* Creating my first folder (Hint: mkdir)
* How do I enter my folder? (Hint: cd)
* Moving my first file to the new folder (Hint: mv)
* Copying **** (Hint: cp)
## Learn more about any *nix command
***
* Go to your home folder (Hint: cd )
* Are there any hidden files in my home folder? (Hint: man ls)
* How do I get such nice documentation for other unix commands? (Hint: man )
## Copy files to the VM or from the VM (only using console!!)
***
* Logout of the VM (Hint: logout)
* Go to training folder (./linux-training) (Hint: cd)
* Copy file1.txt to “my first folder” on the VM (Hint: scp –P 8022 first.lastname@1079.2.191:/myfirstfolder/)
## Start a simple program:
***
* Intro to command, parameters
* How to zip my folder? Unzip?
* wget -> untar -> changes -> re-pack
## Text editor
***
* nano [Tutorial](http://linuxcommand.org/lc3_adv_mc.php)
* Others, like vim, emacs, Atom, Sublime, etc…
## File System explore
***
### Midnight Commander `mc`
* [Tutorial](http://linuxcommand.org/lc3_adv_mc.php)
* if function keys do not work, use `Esc`+`1` for `F1`, `Esc`+`2` for `F2`, ..., `Esc`+`9` for `F9` and `Esc`+`0` for `F10`
* if you do not have an `Insert` key (e.g. on Apple keyboards) use `Ctrl`+`t` for (un-)selecting files and folders
## Scripts – bash
***
* Simple `bash` scripting [Tutotial](http://linuxconfig.org/bash-scripting-tutorial)
## Basic git (source control)
***
* add
* commit
* push
* pull