Saturday, March 22, 2008

Command Line Life

Command line is where I prefer to interact and really get things done. It didn't happen overnight and was encouraged by two things. First was when I introduced linux to my home and it got the old machine (under powered) and the second was my work, as I moved into working with routing equipment, the ONLY way to interact with those machines is via command line.

As I was using my home linux machine as a router for a dial-up connection, I couldn't put too much load on the box, so I needed to learn the command line interface to most of the programs I used in the graphical interface. Net sum game is that I built up a nice collection of text (CLI) programs. I'd like to list a few of my favorites here. Most if not all are still available from most distro repositories. I should say that "man command" will almost always help. The man pages are only available if the program is installed.

For local activity on the machine you should of course master most of the CLI commands for navigating the file system. Commands such as cat, cd, cp, rm, mv and ls. Then to see what's going on use top or ps(recommend switches or grep to limit output). For calculator there is bc. Calender is brought to you by cal. The clock everyone needs in their systray is sponsored by date. And for the old windows folks, you can get a norton commander interface view of the filesystem with vifm.

Text rules in all of this, so for docs, notes, config files, etc..I use vim as my favorite text editor. Yes, it has a high learning curve, but once over it, there is a lot more you can do with that than nano...but if just starting nano is a good choice to get things done. I use antiword to convert word 2k3 or older into text.

Games, games, games. With the meta-package on Ubuntu "bsd-games" you get a slew of them. I'm honestly hooked on boggle. There is a tetris clone(tetris-bsd), hangman and a monopoly clone. Who said command line isn't fun.

For the internet, here comes the good stuff. For a browser we have lynx, links and w3m. For email there is pine and mutt. For irc we have bitchx, irrsi and the text version of xchat. For ftp we have ncftp.

Then we get to my favorite, screen. This is like having multiple desktops in linux but for the command line. Be carefull when you use this the first few times, it can make your eyes cross.

I have to stress something that tends to get overlooked for most "remote desktop" solutions. That is that you can use ssh (my favorite cli command) to connect to a remote machine. If you use it with the export X11 switch (ssh -X host) then you can launch a program from the remote machine. This is really easy when you are connecting a linux machine to a linux machine, but there are programs like X-Win32 that are lightweight and allow for the same possibility.

I really hope this encourages some of you to try the command line and be less nervous about it, there is plenty to do there, so go have some fun. And remember this is just the tip of the iceberg.


No comments: