Lost. That’s how I felt when I first saw the Linux CLI. Opening a terminal was easy enough, but then I was faced with an empty screen and a cursor. I didn’t know what to do or where to begin.
When first looking up how to use certain Linux commands, I remember feeling overwhelmed and confused by all the different descriptions, syntaxes, and examples provided; after all the reading, I would still be uncertain of how to properly use the command which resulted in a lot of trial & error.
Now that some basic commands have been covered, we can dive into some of their common options. Options are a type of argument you can add to a command that changes the behavior of that command. This could be a wide range of things: altering the output, changing which files you’d like to use, executing a dry run, and so on.
I remember when I was first starting out with Linux - I would only look up instructions on how to do specific tasks. I didn’t invest much time at all trying to gain any foundational understanding. However, after reading enough material, I began to recognize the same commands over and over. At this point, I decided to research the most common Linux commands to gain familiarity with them; this way, I didn’t have to look them up every time I read an article which resulted in a dozen browser tabs. It’s been over a decade since then and, now, it is time for me to contribute my own beginners version.
It’s said that everything on a computer is either a file or process. In a strictly binary way, all computer data is just a combination of 1s and 0s; therefore, files are simply data that’s stored, typically on the hard disk or in memory (RAM), while processes are the manipulation of that data - usually in the CPU. Here, we’ll be reviewing different ways to view those files on a Linux system.
Permissions are one of the first lines of defense when securing a Linux system. From my days as a LAMP-stack admin at a web host, I remember frequently explaining different PHP handlers to customers - both their security implications and trade offs. The security consideration was largely due to system permissions.
On Linux systems, there are an astounding amount of plain text configuration files that determine how the system and various services behave. As such, it’s important to know how to create and edit them. When I was first starting out, I used nano because it was familiar and simple to pick up; although, while many people use nano, I now prefer Vim. Vim is arguably more difficult to learn because it’s not intuitive; however, once you get used to it, I believe it has a lot of useful functionality to offer.
Chances are, you’re not running Linux on your laptop or desktop. As such, if you have Linux servers to manage, you’ll need a Linux terminal emulator installed so you can SSH into those hosts. I’ve used many terminals in the past - Below are a few that I’d like to expand on so you might try them out yourself and determine which one you prefer.
In this post, we’ll be covering one of the first things any systems admin needs to know how to do: modify user accounts. User accounts are necessary to interact with an operating system; so, it’s important to understand the basic actions surrounding them. User accounts aren’t just for logging on either, it can be for various system processes as well. Additionally, they act as a primary security measure to prevent malicious access.
If you had to talk to several people all over the country, it would be inconvenient to physically be there for each conversation; instead, you might call them - much more practical. The same goes for servers. If you have many servers, it wouldn’t make sense to log in to each of them locally - You would need to physically be there with all the peripherals. So, what alternative do you have?