Linux vs Minix vs UNIX vs POSIX

Reading Time: 4 minutes

unix-logo_1_9.png

First of All, What is Linux?

You see, there is a contradiction on what Linux really is. We see that people refer Linux as an Operating System but on the other hand, some people say that Linux is a kernel. Well, let’s put it this way.

In fact, Linux is a kernel written and named by Linus Torvalds which you can take a look from https://www.kernel.org/. When you think about it, kernel is a useless thingy if there is no software using it since kernel manages hardware based on software inputs.

At this point, we have a cute kernel with us.

On the other hand, Richard Stallman initiated GNU Project, aiming to create a free Operating System with free tools. They were pretty succesful with the mission but there was one thing missing. A proper kernel to manipulate hardware by these tools.

Now in addition to a kernel, we have these pretty GNU Project tools with us.

Both Linux and GNU Project were written with the same UNIX mindset therefore, both were compatible. Hence, they mixed Linux and GNU Project together and crafted this magnificent Full-Operating System called “GNU/Linux”.

But even this kind of bare Full-Operating System GNU/Linux was still not really useful since you couldn’t run applications you wanted such as Web Browser, E-mail etc.

To fulfill this emptiness, distributions such as RedHat, Debian, Arch have come into play. They have provided GNU/Linux with user-specific applications.

To cut a long story short, today people often just use the name of the central kernel to refer to the whole system.

It is for you to decide what you call an “operating system”. Is it just the thing that manages hardware (like Linux) or is it the thing you interact with (like your favorite desktop environment), or maybe something in between like a basic (command line based) GNU/Linux.

Continue reading

Linux File System Structure

Reading Time: 5 minutes

linux-filesystem

Linux vs Windows File System Structure

If you worked with Windows before, you most likely saw the C:\ local disk. Probably the second local disk named D:\, E:\, F:\, G:\ or something similar and they are represented as Disk Drive. When it comes to Linux, disk partitions are kept in /dev/sd* path(will come to this shortly). Generally, C:\ disk is meant to be used for system files, applications, tools and so on. Users are tend to use other local disks(D:\, E:\…) to install games, store media thus, for personal files. A:\ and B:\ disks are allocated for floppy disks.

In Linux however, file system structure is different. It is more like a logical structure, rather than a physical one and the structure layout is similar to a Tree Data Structure. In Windows, disks can be divided into two or more and have their own roots. “\” character in C:\ points the root of C: disk. In Linux however, there is only one root node which is “/”(Notice the forward slash, in Windows it is “\”). Unlike Windows where can be many roots, there is only one single node where all files be bind to. Every directory spans from the root node. Deepening the tree structure.

Continue reading

Basic Linux Commands with Examples

Reading Time: 10 minutes

basiclinuxcommands
I believe it’s very important to know at least basic commands of Linux (Also, other Operating Systems). You might say, “I’m a developer/business analyst/tester etc., I don’t need to know these Linux commands!“.

Oh sweet Linus Torvalds (Creator of Linux)… Be sure he’s not around when you say those kind of things, or else he might rage-mail (Read it, you won’t regret) you with the hatred of ten thousand years.

Continue reading