Photo by Oskar Yildiz on Unsplash

If you are new to Linux, I guess the “ls” command would have been one of the first command you would learn. The ls command is passed down to the shell by the user (input) interpreted by the kernel and returns to your terminal (output) the result of the input command. We will go more in depth on this later on, but first lets define ls.

The ls command is use to list all files and directories. This command can be passed down with arguments or options to enhance a further look on a scope level your search. Let’s say…


Photo by Emil Widlund

Programming does need libraries, as crazy as that sounds. So what is a library in a developers world? A collection of pre-compiled codes(functions) that can be used when calling/compiling our program. Libraries helps save development time by keeping functions collected and used when needed. To juggle your memory a bit, remember GCC?

GCC, is a compiler that goes through a series of steps in order to make your program executable. In our image below, you can see GCC converts files into object files (.o) in the “Linking” phase before being executable. …


Photo by Nikhil Mitra on Unsplash

C is a compiled language, therefore anything you write (source code) goes through a series of process in order to have your executable code. I like to think of it like a recipe, you have to go step by step in other get your exquisite code done. Let me show you how to cook a compiled code.

After you have finished your source code you have to pass it through the compiler, in this case GCC (GNU Compiler Collection).


Photo by Bryson Hammer on Unsplash

It was not until I played around with hard and soft <symbolic> links that I understood how they really worked. To start a hard link is basically a copy of another file both pointing at the same spot at the hard drive. Now, if the original file gets deleted the hard linked file will still function because both were looking at the same spot. One thing though, if one hard link gets updated, all the other will also. Remember they are copies, monkey see monkey do.

Soft links in the other hand do not point to the original spot at memory as a hard link, they point to the file it is linked which in turn points to a spot at the hard drive. In contrast to hard links if the original file gets deleted or its name changed, link will go dangling meaning it will not function. They do offer portability which can be linked at different file system and take up less memory.

Learn more about file system:

Below are some images of how hard and soft links work

Gabriel Martinez

Currently Holberton Student, aspiring nomad programming life

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store