Unleash the Power of Terminal with LINUX.

Soham Pal
4 min readSep 15, 2020
Crio.do has changed the way of learning for developers.

Crio.do is an interactive platform where developers learn by doing. Here, the developers build real products to get a hands on experience. We have multiple micro-experiences to get started with. There are multiple topics covered in bytes to improve our skills and get an extra edge over others.

Linux is an operating system just like Mac OS and Windows. Linus Torvalds developed Linux in the year 1991. Unlike the other operating system, Linux is not so mainstream, but it packs a punch inside aka Terminal.

Trust me, these numbers are real : )

By now, you should be wondering: Why Linux ? Here is why :

  1. Linux makes very efficient use of system resources
  2. Linux installation can be customized for users and for specific hardware requirements.
  3. The installation procedure is very flexible, and allows users to choose the modules they want to install.
  4. Majority of cloud computing services run Linux servers.

Moreover there are different flavors of Linux which the users can explore. Ubuntu, Kali, Arch are few of them.

Crio’s #IBelieveinDoing challenge (September Edition) gave me an opportunity to get started with Linux and understand the ins and outs. Let’s get into bit more detail….

Linux Byte (Part 1)

This module is mainly focused on with the basics of Linux. This consists the stepping stones for the Linux world and helps to get rid of the fear of Terminal. It makes us familiar with the necessary commands for our day to day lives, like navigating through files and folders, creating or deleting or modifying them according to our needs.

Some basic commands are as follows :

  1. ls — To list the contents of a directory
  2. man — To display the manual of any command
  3. cd — To change the current directory
  4. pwd — To print the working directory
  5. touch — To make a file
  6. mkdir — To make a new directory (folder)

Linux had it own directory structure (FHS — Filesystem Hierarchy Standard) which is similar to Unix-like operating system. There is also sudo (“superuser do”) command which gives the user some extra security privileges.

Different files have different permission levels. “ ls -l ” is the command to see the permissions of the content files.

Decoding the access mode of files

chmod ” command lets us to change the access mode of a file. The following command is used to add the executable permission to a file.

chmod +x <filename>

Similarly, the following will let us remove the executable permission from a file.

chmod -x <filename>

Looks simple, Right !! Congratulations, you have started cutting off the fear of Linux. Take a deeper dive and I am sure that you will love it : )
You can also write scripts to automate stuffs and perform data analysis just by using terminal.

Git Basics

What is Git ? Git is a distributed version-control system for tracking changes in source code during software development. Different people can coordinate while working on the same project.

Ever happened, when you desperately need your old code back but ran out of Ctrl + Z or you need to integrate changes made to a project independently by your team members without losing any code ? Here, Git comes to the rescue. They help us keep track of changes to our files by taking snapshots of them, so that we can work without the fear of errors.

Projects in Git are called Repositories and developers can create branches to work with the project without hindering the master branch (usually containing the main code base)

Flow of Git

We make changes on our local repository, then we add the modified files in the staging area. We commit the change in our local repository and finally push our code to the remote repository which is present on a server anywhere around the globe.

git add <filename>
git commit -m “Commit Message”
git push -u origin master
git pull

These commands are used to back up your developments considering that you are working on master branch. “ git status ” is used the check the condition of our current developments.

Conclusion

Crio.do is a great platform which encourages developers to learn new skills by working on a real project, which is really effective and efficient than reading books or watching tutorials. We learn more when we solve a problem by ourself. Thanks a lot team Crio.Do for this amazing experience. I am looking forward to participate in more such challenges.

--

--