Linux and its advantages
Why Linux?
Linux is more of an open-source licensed operating system. It is a more robust and CLI-based operating system rather than other graphical-based operating systems like Windows. Linux is more robust due to the early release of solutions to different bugs, thanks to its open-source community. Linux might be complex to a new user or for those who most need a graphical interface to execute a different set of commands. Linux can operate on a wide variety of hardware like computers, supercomputers, mobiles, etc.
Why Linux is more Important than Other OS’s
Linux is more reliable when compared to Windows. Linux will rock with its top-notch design, built-in security resulting in un-parallel up-time. Developers of Linux distros are much active and release major and minor updates from time to time. No doubt that Windows has a large set of commercial software available. Linux, on the other hand, makes use of open-source software available for free. Linux armed with easy-to-use package managers which aid in installing and un-installing desired software applications. Linux is armed with decent desktop themes certainly run faster than Windows.
Linux allows the user to install only the desired software nothing else (no bloatware). Linux allows full freedom to install open source applications in its vast repository. Windows will bore you with its default desktop theme whereas with Linux you can choose from many desktop themes available.You can breathe fresh air after choosing a Linux distro from an available list of Linux distros.
When undergoing a software update or installing/uninstalling software on Linux systems, generally it does not need a machine reboot. Most of the system configuration changes can be done while the system is up.
Linux is installed on the majority of servers demonstrating that it is the best choice with a minimal resource footprint. Even rivals are using Linux on their offerings. As software applications are moving to cloud platforms, windows servers are getting phased out to make room for Linux servers. The majority of the supercomputers run on Linux. Though the battle between Linux and Windows continues in desktop-segment when it comes to server-segment Linux evolves as a clear winner.
Pros of Linux:
· Linux command-line is ready to use and simple to interact with one having expertise of using it can easily use it.
· Linux distros are the only ones that could be used on both, a regular PC and a high-end server.
· Linux is the most secure and versatile OS yet to be rated.
· Linux OS is having one of the richest software production-line which are interestingly free to download and easy to install by the one having skillset of using that distro.
· Linux distro is highly used by great tech. giant companies such as Facebook servers, MIT servers are operational on Linux and if I’m going to mention each company here then I think I will be covering half of the globe here. Because half the total companies are powered by Linux.
· Linux has a large open-source community that is working day and night in order to make sure to update packages, remove bugs in old packages and modules, deploying user-friendly updates, features and documentation in order to help new users to understand more about Linux and its related stuff.
· Takes less storage space and still its faster, reliable, secure, and robust and helps the tasks to be performed on time and without any issues and crashes on the way. This is the beauty of Linux-based OSs.
· One can easily execute administrative commands right from the terminal if the OS. Which gives an edge to computer administrators, System engineers, troubleshooters, and DevOps engineers.
Cons of Linux:
· Most windows apps can’t be run on Linux and for that, we have to install some dedicated packages in Linux OS in order to run those windows based apps. For that, we use the ‘mono’ package manager in the terminal of Linux. But sometimes that might also not help as most of the windows based applications are specifically designed and built only to run in a windows environment.
· Sometimes there are packages that are broken and might take a lot of while to configured and fixed by the developers, companies, and community members.
· Not designed for a person which is very new to using computers and doesn’t a lot about using them. This is mostly for the more experienced persons who have a mid-level of knowledge about using the computers.
· There are some Linux distros that are not open source or free, such as Red hat and enterprise Linux versions. As for updates, fixes and support require financial assistance in the form of paid plans.
Linux has many distributions which are as follows
Taking a leap towards Linux distros. A good professional software developer would say that Linux is everything. Whether now you talk about open source software or dealing with daily life multi-tasking, Linux is everywhere, your all major servers are now fully operating on Linux OS, taking a view on penetration testing tools used by ethical hackers comes to the KAALI (one of the famous distros of Linux for pen-testing and cybersecurity-related stuff). Even for IoT development and control, UBUNTU (Linux distro) is great and efficient to work with. Linux comes with a variety of different distros each having unique capabilities and functionality to work with according to the user needs perspectives. The software product line it shares with its users is almost easily available on the internet and easily installable by tech. professionals.
For IoT and other security purposes:
· Most of the time for IoT development, deployment, control, and other IoT-related functions, the most popular distro is Ubuntu. Ubuntu also features to be one of the top OS of Linux due to its user-friendly and custom-built packages which are mostly built on low-level language to target hardware stuff like drones, IoT, and other smart IC-based hardware.
· For security purposes, mostly Kali and on enterprise-level CSI-Linux operating systems are used. CSI is mostly used for the company's security audits and corporate level pen-testing of their websites, systems, software, applications, server. Kali is also used for the same purposes but it's also used by black and red hat hackers for illegal intrusion into the systems, phishing, stealing of important information and data of users and companies. Most of the white hat hackers daily and go-to tool is Kali.
For Cloud operations and deployment:
· Red hat Linux is the enterprise-level OS that is used by most of the tech giants like Microsoft itself and other corporate-level companies which deal their businesses nationally and internationally. It is not an open-source OS so, in order to use one, one has to buy it in order to deploy and use it to fulfill their company’s cloud-related tasks.
· On the other hand Cent-OS is a kind of open-source OS that has also almost all of the features relative to that of Red hat Linux. It is easier to use and can be updated easily as it is open source and more easy to interact with and most of its packages are available online, one can install them without any hustle to buy them from any paid plans as in Red Hat Linux.
· Fedora also creates an innovative, free, and open-source platform for hardware, clouds, and containers that enables software developers and community members to build tailored solutions for their users.
For gaming purposes:
· Well, they say that one cannot play games on Linux-based OS. But here are some flavors on which one can easily enjoy playing games. Like, Fedora-Games Spin, Sparky Linux — Gameover Edition, Lakka OS, and so on.
Other Distros of Linux:
· Debian is renowned for being a mother to popular Linux distributions such as Deepin, Ubuntu, and Mint which have provided solid performance, stability, and unparalleled user experience. The latest stable release is Debian 10.5, an update of Debian 10 colloquially known as Debian Buster. Also included are security fixes that address pre-existing security issues. If you have your Buster system, there’s no need to discard it. Simply perform a system upgrade using the APT package manager.
· Gentoo is a distro built for professional use and experts who take into consideration what packages they are working with from the word go. This category includes developers, system & network administrators. As such, it’s not ideal for beginners in Linux. Gentoo comes recommended for those who want to have a deeper understanding of the ins and outs of the Linux operating system.
· Arch Linux is a lightweight and flexible geeky Linux distro designed for advanced users or Linux experts who care much about what is installed and the services running. It gives users the freedom to custom or configures the system, to their preference. In a nutshell, Arch is meant for users who really know the ins and outs of working with Linux.
· The OpenSUSE project is a modern and comprehensive community project that provides 2 main SUSE branches: SUSE Leap which is a point release that targets desktop users as well as enterprise development and for testing purposes. This makes it a perfect choice for open source developers and System administrators.
· Hence there are a lot of Linux-based operating systems.
Basic to all common commands of Linux
The most basic and used commands for Linux OS are as follows:
ls -
List directory contents. If you know windows you would know that the command dir is used to list the contents in a directory. In Linux, the ls command is used to list out files and directories. Some versions may support color-coding. The names in blue represent the names of directories. Like
$ ls -l [filename]
cd -
Change the current directory. The forward slash is to be used in Linux. And “cd ../” for going back to the previous directory.
grep -
Find text in a file. The grep command searches through many files at a time to find a piece of text you are looking for.
grep PATTERN [FILE]
grep failed transaction.log
su / sudo command
There are some commands that need elevated rights to run on a Linux system. So you run them as a System Administrator which normal users cannot do.
su — command changes the shell to be used as a superuser and until you use the exit command you can continue to be the superuser
sudo — if you just need to run something as a superuser, you can use the sudo command. This will allow you to run the command in elevated rights and once the command is executed you will be back to your normal rights and permissions.
pwd — Print Working Directory
One way to identify the directory you are working in is the pwd command. It displays the current working directory path and is useful when directory changes are often.
passwd -
This command is used to change the user account password. You could change your password or the password of other users. Note that the normal system users may only change their own password, while root may modify the password for an account.
passwd [username] — changes the password for the user.
rm -
This command is used to remove files in a directory or the directory itself. A directory cannot be removed if it is not empty.
rm [name of the file]
rm –r removes all the contents in a directory and the directory as well.
mkdir — make directory
chmod -
To change the mode of a file system object. Files can have r — read, w- write, and x-execute permissions.
For example:
chmod mode FILE
chmod 744 script.sh
The first number stands for the user who is associated with the file
The second number is for the group associated with the file
The third number is associated with everyone else who is not a part of the user or group
chown -
This command is used to change the ownership of a file/folder or even multiple files/folders for a specified user/group.
chown owner_name file_name
cat -
The cat command (short for “concatenate “) is one of the most frequently used commands in Linux. cat command allows you to create single or multiple files, view contents of the file, concatenate files, and redirect output in terminal or files.
echo -
This command is used to display a text or a string to the standard output or a file.
$ echo “Tffs992”
This is an article on basic Linux commands
The echo –e option acts as an interpretation of escape characters that are back-slashed.
wc -
The wc (word count) command in Linux operating system is used to find out the number of new lines, word count, byte and characters count in a file specified by the file arguments.
wc [options] filenames.
wc -l : Prints the number of lines in a file.
wc -w : prints the number of words in a file.
wc -c : Displays the count of bytes in a file.
wc -m : prints the count of characters from a file.
wc -L : prints only the length of the longest line in a file.
apt-get -
apt -get is a powerful and free front-end package manager for Debian/Ubuntu systems. It is used to install new software packages, remove available software packages, upgrade existing software packages as well as upgrade the entire operating system. apt — stands for advanced packaging tool.
mono -
It is a package manager to install packages and dependencies in Linux OS in order to run windows based apps or those apps which are developed through the .NET framework and C# language.
man && — help -
To know more about command and how to use it, use the man command. It shows the manual pages of the command. For example, “man cd” shows the manual pages of the cd command. Typing in the command name and the argument helps it show which ways the command can be used.
nano, vi, jed — nano -
The nano command is a good text editor that denotes keywords with color and can recognize most languages. And vi is simpler than nano. You can create a new file or modify a file using this editor. For example, if you need to make a new file named “check.txt”, you can create it by using the command “nano check.txt”. You can save your files after editing by using the sequence Ctrl+X, then Y (or N for no). In my experience, using nano for HTML editing doesn’t seem as good, because of its color, so I recommend jed text editor. We will come to installing packages soon.
hostname -
Use hostname to know your name in your host or network. Basically, it displays your hostname and IP address. Just typing “hostname” gives the output. Typing in “hostname -I” gives you your IP address in your network.
tar -
Use tar to work with tarballs (or files compressed in a tarball archive) in the Linux command line. It has a long list of uses. It can be used to compress and uncompress different types of tar archives like .tar, .tar.gz, .tar.bz2, etc. It works on the basis of the arguments given to it. For example, “tar -cvf” for creating a .tar archive, -xvf to untar a tar archive, -tvf to list the contents of the archive, etc.
du -
Use du to know the disk usage of a file in your system. If you want to know the disk usage for a particular folder or file in Linux, you can type in the command df and the name of the folder or file. For example, if you want to know the disk space used by the documents folder in Linux, you can use the command “du Documents”. You can also use the command “ls -lah” to view the file sizes of all the files in a folder.