Interested in cybersecurity or core backend development? If your answer is yes then Linux is built for you, Linux is not at all limited to just these two purpose being open source entirely this is a great fit for anyone in tech, from dev to hackers anyone can mold it into something which resonates with them, with the advantage of it's highly stable and versatile kernel, you can get it to work with you uniquely.
Let's get into it and learn about it more.
A highly versatile, open source operating system based on Unix and is renowned for its stability, performance, and suite of robust open-source tools.
One of the key aspects of Linux is its distributions, also known as 'distros', which are different versions of the operating system packaged with additional tools, software, or system settings.
Now there are lots of Linux distros to work with so I'll advice to go through each of them or just summarize it with the help of any AI chatbot and start using which ever resonates the best with you.
Here are some distros with there main purpose:
Ubuntu : Most popular and most user friendly Linux distro which comes with inbuilt set of tools for various purpose, great start for beginners.
Link : https://ubuntu.com/
Fedora : Equipped with cutting edge features, perfect fit for software devs.
Link : https://fedoraproject.org/
CentOS : User friendly and is widely used for it's stability in server env.
Link : https://www.centos.org/Kali Linux : My personal favorite and one of the most refined Linux distro, comes with pre packed tools for cybersecurity, so if that's your end goal, dive into it and dive deep.
Link : https://www.kali.org/
Why Linux?
Now, the primary benefit of using Linux in cybersecurity is manifold. Its open-source nature means that it is highly customizable allowing cybersecurity professionals to tailor their systems to their personal needs. Furthermore, the bast array of security tools available for Linux makes it an indispensable tool in any cybersecurity professional's toolkit.
Getting Started with Linux
Let's quickly get into how to actually get your Linux system running, my primary advice will be to run it in a virtual box as it's more secure and easier that way and you'd be able to run multiple distros at once in one system.
Step 1:
Download a virtual box software based on your operating system, I'll suggest to go for oracle virtual box as it's completely free. Link : virtualbox.org
Step 2:
I have already mentioned links of distros above so go ahead and according to your OS download an ISO image of the linux you are planning to install.
Step 3:
Setup your Virtual box with basic settings, I'll link a video for your assistance just go through it step by step. Link : youtube.com/watch?v=x5MhydijWmc This is for windows but mac isn't very different once you have set up your virtual box.
And there you go, you have a perfectly perfect OS inside an OS up and running.
Linux and it's environment.
Linux is considered powerful because of it's CLI ( Command Line Interface ) which gives the user an edge over GUI ( Graphical User Interface ). Depending on the distro you'll be using Bash or Shell which I'll cover in detailing in my upcoming blog as this blog's purpose is just to get you started with Linux.
Important Commands To Get Hands On With Linux.
Command | Description | Example |
ls | Lists all files and directories in the current directory. | ls |
cd | Changes the current directory. | cd /home/user/Documents |
pwd | Displays the path of the current directory. | pwd |
cat | Displays the content of a file. | cat filename.txt |
rm | Deletes a file. | rm filename.txt |
mkdir | Creates a new directory. | mkdir new_directory |
touch | Creates a new file. | touch new_file.txt |
nano | Opens the nano text editor. | nano filename.txt |
sudo | Executes a command with root privileges. | sudo apt-get update |
man | Displays the manual page for a command. | man ls |
cp | Copies a file or directory. | cp source_file.txt destination_file.txt |
mv | Moves a file or directory, or renames it. | mv old_name.txt new_name.txt |
find | Searches for files or directories. | find /home -name myfile.txt |
grep | Searches for a text pattern in files. | grep "my text" file.txt |
chmod | Changes the permissions of a file or directory. | chmod 755 my_file.txt |
chown | Changes the owner of a file or directory. | chown username my_file.txt |
tar | Compresses or decompresses files. | tar -xvf file.tar |
ps | Shows running processes. | ps |
kill | Terminates a process. | kill 1234 (where 1234 is the process ID) |
top | Displays system information and running processes. | top |
df | Displays disk space usage for file systems. | df -h |
du | Estimates file and directory space usage. | du |
free | Displays the amount of free and used memory in the system. | free -h |
uname | Shows system information. | uname -a |
ping | Tests network connectivity to a host. | ping google.com |
wget | Downloads files from the internet. | wget http://example.com/file.iso |
ssh | Remotely log in to or run commands on another machine. | ssh user@host |
history | Shows the command history. | history |
clear | Clears the terminal screen. | clear |
exit | Closes the terminal or ends a terminal session. | exit |
whoami | Prints the username of the current user. | whoami |
date | Displays the current date and time. | date |
cal | Displays a calendar. | cal |
uptime | Shows how long the system has been running. | uptime |
df | Displays the amount of disk space used and available on the filesystems. | df -h |
ifconfig | Displays or configures network interface parameters. | ifconfig |
netstat | Displays network connections, routing tables, interface statistics, etc. | netstat |
head | Outputs the first part of files. | head file.txt |
tail | Outputs the last part of files. | tail file.txt |
diff | Compares files line by line. | diff file1.txt file2.txt |
Conclusion
Now, there's a lot to learn and do with Linux but I hope this article cleared some fog out of your brain about it's sole purpose and usage. Go Ahead and fire a distro up !!