.Csep Racti Cals.c Om: Project - 00 Setup Linux Development Environment
.Csep Racti Cals.c Om: Project - 00 Setup Linux Development Environment
Project – 00 s.com
t i cal
p r c
Setup LinuxaDevelopment
. cs e
Environment
www
facebook/csepracticals
Project 00 - Setup Linux development environment
1. gcc Compiler
s. c om
2. Linux ISO image – We will use Ubuntu 14.04, you are free to use any
3. GNU debugger
t i cal
p rac
4. Windows as a Host OS
. cs e
5. Virtualization software – Virtual box,
www
6. ssh client – MobaXterm for windows
7. Git installation
It might be possible that you are running linux already and natively on your
Machine. In that case, we still need to install Linux on top of native linux using
8. VIM Editor virtual box. Reason for doing this is that Vbox would help us to simulate multi-
Node environment which we need in one of our project.
9. cscope
Steps 1 and 3 already come pre-installed with linux :p
Lets Begin …
facebook/csepracticals
Project 00 - Setup Linux development environment
3
Assumption :
I am assuming you are running Windows 7 or above and have not worked in Linux
environment ever. Pls follow the steps ahead.
s. c om
l
Step 1 :
c t
From your windows machine,
i ca
ra
Download the Ubuntu 14.04 LTS iso image i386 (32) from Internet. Its free.
ep
s
http://releases.ubuntu.com/14.04/ubuntu-14.04.5-desktop-i386.iso (Resource 1)
w. c
Download Virtual box latest version, and install it as usual
w
w
• Windows users : http://download.virtualbox.org/virtualbox/5.1.26/VirtualBox-5.1.26-117224-Win.exe (Resource 2)
• After installing the Virtual Box, Just Google how to install Ubuntu in Virtual box. There are many
articles regarding this and is very easy process.
10 Industry Linux
Projects
facebook/csepracticals
Project 00 - Setup Linux development environment
4
Assumption :
I am assuming you are running Windows 7 or above and have not worked in Linux
environment ever. Pls follow the steps ahead.
s. c om
t i cal
c
Step 2 :
ep ra
By Now you have Ubuntu installed in your Virtual box as a Virtual Machine.
w. cs
Now we will do Virtual box settings so that Ubuntu Virtual Machine can access internet. We need
ww
internet connection to install the Vim editor in Ubuntu VM.
facebook/csepracticals
Project 00 - Setup Linux development environment
5
Using Virtualization software such as Virtual box , we can run another Operating
System as Virtual Machine on top of our host Operating system.
s. c om
t i cal Ubuntu Applications
s e
Virtual Box – just another application
facebook/csepracticals
Project 00 - Setup Linux development environment
6
Assumption :
I am assuming you are running Windows 7 or above and have not worked in Linux
environment ever. Pls follow the steps ahead.
s. c om
Step 3 :
t i cal
•
ac
By Now you have Ubuntu installed in your Virtual box as a Virtual Machine and
p r
we verified that you are able to access internet from within your Ubuntu VM.
. cs e
w
• Now login to your Ubuntu VM, open terminal (ctrl + alt + T)
•
ww
We will install VIM as follows :
sudo apt-get install vim
• install cscope tool. This tool helps you quickly browse and jump within your code from one place
to another. Screen will help to resume work from exact same place when you login next time.
sudo apt-get install cscope
sudo apt-get install screen
facebook/csepracticals
Project 00 - Setup Linux development environment
Some very basic Linux commands, if you are using linux shell for the first time 7
1. touch <file name> -- create a new file
m
2. rm <file name> -- delete existing file
l s. c o
-- create a new dir
c t i ca
a
4. rm –rf <dir name> -- delete a dir and all its contents
5. cd
ww. c
6. cd <dir path name> -- enter into dir path
w
7. cd ..
8. pwd
-- come out of current dir
9. sudo <cmd name> -- to run any command which require administrative privileges
8
Some very vim commands, if you are using vim editor for the first time
2. i
om
-- enter into insert mode and start code
s. c
3. esc + :w
t i cal
-- save file
rac
4. Esc + :w <file name> -- save file with a new name
p
.
5. Esc + :wq
www
6. Esc /<string> -- search a string in a file, press ‘n’ to jump to next matching string. Press
‘shift-n’ to jump to prev matching string
7. Esc %s/Hello/Bye/gci -- replace Hello with Bye in the file with confirmation from user each time.
8. Explore more on your own, don’t over burden yourself, there are 100s of VIM functionalities. Just
learn few of them as above to get started.
facebook/csepracticals
Project 00 - Setup Linux development environment
9
Some more vim settings:
Open .vimrc file in vim and copy paste the below lines :
vm@vm:~$ pwd
/home/vm
s. c om
vm@vm:~$ vim .vimrc
t i cal Note : All files starting with dot are hidden files
c
and are not listed when “ls –l” cmd is invoked.
ep
filetype plugin on
ra Use “ls –la” to see hidden files as well.
set number
w. cs
set smartindent
In vim, simply selecting a text with mouse is
w
equivalent to copy
w
set tabstop=4 Simply right click = paste
set shiftwidth=4
set expandtab
set hlsearch
10
• Also, download c.vim file from and copy it in ~/.vim/plugin folder
• c.vim file will customize your VIM editor automatically for C programming
• https://drive.google.com/open?id=0B56H_R1fVFZXTmh4MFdsMUFCVEk
s. c om
t i cal
c
https://www.digitalocean.com/community/tutorials/how-to-install-and-use-screen-on-an-ubuntu-cloud-server
a
(Resource 3)
ep r
All you need are :
s
1.
2.
w. c
screen –S <create a new screen>
w
Press ctrl-a , release ctrl-a and then press only d -- detach the screen
w
3. screen –ls -- list the screens
4. screen –d –r <screen name> -- re-attach to the existing screen
5. Press ctrl-a , release ctrl-a and then press only c -- create a new subscreen within screen
6. Press ctrl-a , release ctrl-a and then press only n -- jump to next subscreen
7. Press ctrl-a , release ctrl-a and then press only p – jump to previous subscreen
8. Press ctrl-a , release ctrl-a and then shift-a -- rename a subscreen
9. Press ctrl-a , release ctrl-a and then enter screen number -- jump to particular subscreen
10. screen –X –S <screen name> quit -- destroy the screen permanently
facebook/csepracticals
Project 00 - Setup Linux development environment
11
Assumption :
I am assuming you are running Windows 7 or above and have not worked in Linux
environment ever. Pls follow the steps ahead.
s. c om
t i cal
c
Step 4 :
ep ra
gcc C-compiler and gnu debuggers comes pre-installed with linux. So you need not do
. cs
anything else.
w
•
•
ww
You may not be familiar with what VIM is. VIM is editor for linux. Industry use VIM all the time for
coding in linux. Pls spend some time – an hour or so to get comfortable with VIM.
Learn basic operation to start with. Do not go much deep into VIM functionalities. Its endless.
facebook/csepracticals
Project 00 - Setup Linux development environment
12
Access Your VM from Windows/Host OS directly.
You may want to access your Ubuntu VM directly from windows.
s. c om
l
Install Mobaxterm personal edition in windows, the best ssh client I know so far
c t i ca
Let me take you through the steps to get this done.
ep ra
s
Download home-Edition only.
ww. c
http://mobaxterm.mobatek.net/download.html
w
TIP : After installing ssh in Ubuntu, you need to restart Virtual machine.
facebook/csepracticals
Project 00 - Setup Linux development environment
13
Assumption :
I am assuming you are running Windows 7 or above and have not worked in Linux
environment ever. Pls follow the steps ahead.
s. c om
t i cal
c
Step 5 : Git Installation
ep ra
• Goto www.github.com and create your account.
w. cs
• Create your first repository on the website.
ww
• Install git into your Ubuntu VM
sudo apt-get install git
• Once the git is installed, run the below commands in terminal to configure git
• git config --global user.name “Suresh"
• git config --global user.email [email protected]
• git config --global core.editor vim
facebook/csepracticals
Project 00 - Setup Linux development environment
14
Assumption :
I am assuming you are running Windows 7 or above and have not worked in Linux
environment ever. Pls follow the steps ahead.
s. c om
t i cal
c
Step 6 : Get Familiar with git
ep ra
Git is not that simple, but you should explore git to the extent that you can work with your
. cs
projects on git. Since, you are a single user and no other person is working on your projects,
w
very minimal git operations you need to know to work with git with ease.
•
ww
This one time pain would worth. Git is the strongest proof that you are the fine developer and it
shouts aloud to hiring managers to hire you. It showcase all your work to the entire world.
facebook/csepracticals
Project 00 - Setup Linux development environment
Most used git commands
15
1. git add file1.c file2.c . . .
Move the file from working area to staging area, i.e. changes are ready for commit.
Also, add newly created file to git when new files area created.
m
Discard all the changes in the file in working area
l s. c o
discard and remove all the changes made in the file from staging area. File is reset to last committed version
c t i ca
Mark the file for deletion. From git perspective, deleting a file is just another normal change in a file.
5. git commit
ep ra
s
commit all the staged files locally.
ww. c
upload your all local commits to git servers
w
7. git clone http://github.com/<username>/<repository_name>
download the repository from git servers locally on your machine
That’s all.
facebook/csepracticals
16
Pls Email your Queries
Regarding course
or any other Guidance
s. c om
t i cal
p r ac
. cs
Pls writee in QnA section
w w
w : [email protected]
Email
Thank you
facebook/csepracticals