Here is a general introduction to programming, scripting and to the tools with it. You will need different programs and tools on your computer to start. For the first one, it will be required to have bash, git and ssh-keygen. For the next part, related to C language, you will need gcc and make.
The first tutorial explains how to handle git and how to clone / commit / pull / push. This will be usefull for the other projects.
Create an account on
gitlab.subak.ovh and fork the project commit-push and read the readme file.
When completed, you can do the same with c00 project.
All next exercises will be available on the learn group
Why using a terminal?
I use both, but if you can you can use only UI or only terminal to complete everything. It is only depending on your taste but I will cover both ways. It is required to be able to use a terminal when for exemple you access to a computer or a server without any screen, then it is usefull to know ssh and use some commands, it is kind of practicing for it. Also there is some tools with UI for git.. It does work properly, but I want you to practice terminal commands.
I learned this way and I think it teach how to be more rigourus with the code. I will also cover later Lua and other things as well, here is just a brief introduction. There will be also automatic correction for the exercises... But not yet, I need time.
How to activate Linux on Windows
Consol Panel > Programs > Turn Windows Features On/Off. Tick "Windows Subsystem for linux" and restart the computer. Then open the Microsoft Store, seartch for linux. Get Ubuntu.
When running for the first time the program, an username and a password will be asked. It is up to you to set it, remember your password and keep it secret.
source: how to geek
Install tools on ubuntu
sudo apt install git
sudo apt install openssh
gcc and Make
sudo apt install gcc make
sudo apt install vim
On the linux subsystem, there is no UI, so you will need a text editor in the editor, such as vim; but is quite hard to handle the first time, you should make some research to be able to be more efficient with.
- :q to quit
- :w to save file
- :e [filename] open another file
- :wq save and quit
- i enter to edit mode
- ESC exit edit mode