Befriending the Shell
You've decided to take the plunge and install Linux. The installation procedure was a cakewalk, and all your hardware was recognized and is working in perfect harmony with Linux. Now what? If you're coming straight from a Windows environment, you may not be accustomed to accomplishing tasks from the command line prompt. One of the cool aspects of Linux is this: what ever desktop environment or window manager you choose to use—KDE, GNOME, fluxbox, and others—your system will not be taken out completely if your GUI suddenly decides to crash, dumping core. Linux cleanly segregates the kernel from your GUI environment, which means you don't even have to have a graphical interface to work with Linux: you can simply use the shell to command your machine at your whim.
The “shell” is a program that interprets and executes your commands. In a graphical environment, you use your mouse, windows, buttons, scrollbars and other widgets to strike up a dialogue with your OS; pressing a button tells your computer you wish to submit some data; checking a checkbox lets your OS know that you want an option selected; dragging and dropping a file from one window to another transfers a file. When you're outside of any GUI, you must learn to use the command line shell to have any type of civilized conversation with Linux.
I maintain a server that's powered by ancient hardware; its paltry 32 megabytes of memory and 486 CPU are a bit long in the tooth for today's resource and cycle hungry software. Forget about installing XP on a 486 box unless you're a glutton for punishment. Installing Linux on that server box was a great way to resurrect enfeebled hardware that should otherwise be discarded. Because of the server's limited memory, I opted to install a version of Slackware Linux that contained no graphical environment packages. Interacting with the shell is the only way I can accomplish anything on my server.
So, you're inside a shell, staring at a blinking cursor next to a dollar sign; you should see a dollar sign—not root's familiar “#” hash symbol—because you don't want to experiment with shell commands as the root user, as you can literally cause system wide chaos if you're not careful; it's better not to shoot yourself in the foot with a shotgun. This is what I see when Linux drops me off into a shell:
My login to the server is “liquidbinary”, and the server's name is “arrakis”, which is a reference to the Spice producing planet in Frank Herbert's sci-fi novel, Dune. The “~” tilde symbol lets me know that I'm currently residing in my home directory—/home/liquidbinary.
The “cd” command moves you from directory to directory.
liquidbinary@arrakis:~$ cd /tmp
Executing the above command drops me off in my “/tmp” directory. Simply type and execute “cd” without any arguments for a nice shortcut to magically transport you back into your home directory.
The shell is a great way to find out information pertaining to your hardware. Try this at the shell:
liquidbinary@arrakis:~$ free –m
The shell should output information about your PC's RAM, displayed in megabytes. Do a “man free” at the prompt to glean more information on the “free” command.
Perhaps you want to display the amount of available disk space on your hard drive. Typing the below command at the prompt will give you the information you crave:
liquidbinary@arrakis:~$ df –m
Much like the “free” command, “df” outputs information about your current disk space, displayed in megabyte format; all partitions that you've mounted to your root directory are accounted for and displayed. “man df” will provide a wealth of information concerning the “disk file system” command.
More On Linux
-Partition Your Hard Drive For Linux
-Make A Start Up Disk For Linux
-Touring the Linux File System
-Emacs - A User's Best Friend
Back To Tips Homepage
How To Build A PC | Different Types of Keyboards | Help with Hard Drive Installation | Computer Networking Basics | Introduction of Motherboard Functions | Computer CPU Processor Speed | Upgrade from Windows 95 to Windows 98 | Computer Monitor Troubleshoot | Partition Hard Drive | Installing New CPU Processor | Types of Network Cables