Crash course on IT for IntBio students
Mastering Linux & Command Line
Getting access to a Linux Machine
You'll need an acceess to a Linux machine.
- Option 1: Install Ubuntu as a Virtual Machine https://www.virtualbox.org
- Option 2: Live Ubuntu USB stick https://www.howtogeek.com/howto/linux/create-a-bootable-ubuntu-usb-flash-drive-the-easy-way/
- Option 3: Connect remotely to a server using SSH protocol. Server address, username and password will be provided. Alternatively, you can launch a server in Amazon cloud, see here https://youtu.be/GQCIKXwLudg (is free for the first year, but requires a credit card for registration).
Using SSH protocol to connect to a remote Linux machine
- To connect to a Linux machine you'll need its address, username, password or security key.
- On Windows install PuTTy https://www.putty.org , https://youtu.be/1wQ8wQfa7lw
- Mac and Linux have built in SSH client
- Forwarding graphics.
Using SCP protocol to transfer files
- Windows: Install WinSCP https://winscp.net/eng/download.php
- Linux/Mac: use
scpcommand or Mindnight Commander https://midnight-commander.org .
Using SSH key authentication
- Here is an exmaple public key in Linux SSH format.
- Converting Linux SSH key format to PuTTy format can be done using PuTTYgen Explained here
- Generating your own SSH keys: Windows - PuTTYgen, Linux/Mac - use
- Connect using SSH key instead of a password:
ssh -i samplekey.pem username@server_address, set correct permission before
chmod 400 samplekey.pem
- PuTTy - see here last image.
- Using X2Go to conntect to a Linux machince that has X2Go installed. Video (in Russian) on using x2Go.
Mastering Linux command line and coreutils
- List of notions and commands to be familiar with. Study yourself or use tutorials below.
- Into to basic terminal commands here.
- Mastering Linux Shell http://swcarpentry.github.io/shell-novice/
- Introduction to Linux - this course by Bioinformatics Institute will make you familiar with basics of Linux.
Package management systems
- apt-get tutorial here
- For enabling the universe repository see here. It contains many community maintained programs.
Useful programs to be familiar with
Some examples and problems for solving
- A bash script to count and plot the number of baby names here.
- Check that you are familiar with all the commands here.
Introduction to Git/ GitHub
GitHub Learning Lab - the Learning Lab bot
- Making your lab web-page via GitHub, here are instructions (in Russian).
Literature reference managers
Introduction to Python
Basic Python / Jupiter notebooks http://www.intbio.org/CBsem/19Feb2018_IT.html