So… you’ve managed to get a flavor of Linux installed and now you’re thinking: “It works! Awesome!”, or, “%$#@!”
In either case, you’re going to have to dabble in command-line magic in order to troubleshoot, or get the most out of your Linux experience.
For those of us who “fondly” remember the MS-DOS days, that’s basically all there was to it; a simple command-line interface. While most distributions of Linux come with a nice-looking desktop out-of-the-box, you’ll probably spend a good portion of your time using the terminal (UNIX command line).
The good thing is that, even though it may seem a little scary at first, the terminal will help give you full, unrestricted access to your computer’s file system. This also happens to be the whole point of using Linux: Freedom! I’m at the point now where I’m always using my terminal. Don’t get me wrong, though, it didn’t start out that way… I hated it!
And now… it’s your turn. <evil grin>
So, without further ado, let’s get started!
First and foremost, the command line is your friend. Don’t be afraid of it! The command line gives you intimate access to your Linux system, and there’s no better way to develop a bond with your machine than using it. Some basic commands are below:
“cd <directory_name>” – Navigate the terminal into the following directory
“cd ..” – Navigate the terminal back one directory
“cd” – Returns the terminal back to the “home” directory
“mkdir <directory_name>” – Creates a new directory with the following name
“rm <file_name>” – Removes a file with the following name
“rm -R <directory_name>” – Removes a directory with the following name and all of the files contained within it
“mv <file_or_directory_name> <new_name_or_destination>” – Renames or moves a file/directory
“cp <file_to_be_copied> <new_file_name>” – Copies a file and places its duplicate within the same directory, unless explicitly declared otherwise
“cp -R <directory_to_be_copied> <new_directory_name>” – Copies a directory and places its duplicate within the scope of the same directory, unless explicitly declared otherwise
“ls” – Shows the contents of the current directory
A simple web search will yield more comprehensive references for basic UNIX Commands, like this one.
When I first installed Debian on my computer, I had to manually download and install the Wireless driver because of how new it was. A little command-line magic allowed me to place the driver module in the right spot and get everything working.
Speaking of that… it’s VERY important to make sure you have the latest version of the Linux Kernel. For those of you with older machines, you may not have to worry, but those of you who just walked out of the store with a new computer are going to want to have full-operating-system-compliance with your machine. Most distributions upgrade the kernel differently because some of them use a unique packaging system: “.deb” for Debian systems, “.rpm” for Red-Hat-based systems, and the list goes on.
Since I recommended that you use Debian in my last article, here’s a link for upgrading the kernel.
Another thing to note: more often than not, if you’re making modifications to your file system, you’re going to want to prefix your commands with “sudo” in order to perform that command as a “super-user”. This gives you root access to make system modifications at will, or within the context of that command. For example:
“sudo rm -R <directory_name>” – Would give me the permission I need to remove this protected directory from my file system
Keep in mind that whenever you “sudo” anything, the terminal will prompt you for your user password.
I understand that this is a lot to take in if you’re new to this method of interacting with your computer, so take your time. 🙂
Got it? Good! If not, then let me know.
That’s it for now! In my next post, I’ll talk about the Debian Packaging System and how to install files directly from the Debian repositories. I’ll also cover how to use CMake to build source and install it locally (as an alternative). Finally, I’ll show you applications you can use to get started on making assets for your game.