Linux
I've been playing around
with Linux since February 1999 and am slowly learning more about how
to use it. In my time I've gone through
Redhat 5.0 & 5.1, Mandrake 6.1,
SuSE 6.4 & 7.0 and, most recently,
Mandrake 8.0 (as well as some
experimentation with PhatLinux, a less well known distribution that runs
from within a Windows partition). I'm somewhat ambivalent as to which is the
best - suffice it to say that each has provided a mixture of fun and
'learning experiences' (ie. frustrations).
My rate of progress is beginning to speed up as I'm starting to make use of Linux systems at work as well as at home. We're now starting to run some Intranet web services on Linux, Apache, PHP and mySQL (the trusty LAMP combination) and I'm doing some work developing a new version of our public website using the same set of tools. It's also helped that this website is now hosted on a Linux box, again providing an opportunity for me to build my skills.
Piping
One of the features I've found useful is the power of piping, running a number of commands into one another and so quickly performing a number of related operations. My favourite one so far displays a tailored directory listing, using the following command line:
ls -laF --color | tr -s " " | cut -f 1,5,9 | tr " " "\t"
This is a little bit cumbersome (to say the least) so I saved it as a text file called nls (nice ls!), used the command chmod +x nls to make it into an executable file and made sure I adjusted the .bash_profile file to include the location of the file (~/scripts) in my PATH statement.
Another useful piping discovery was that when the directory listing was too long for one screen, I could use the command ls -l | less to send the information to the less pager program; in DOS the nearest I could do to this was to output the results of the directory listing to a file (dir > list.txt), open it with a text editor, and then remember to delete the file when I finished.
Current Aims
The main thing I've been doing with Linux is using it as a webserving platform. The popular PHP scripting language is in several ways more powerful than the VBScript I first learnt to build dynamic pages with - for example, you can add one to the value of a variable by saying $myvar++; rather than having to go through myvar = myvar + 1. PHP also has a lot more prebuilt tools to play with.
I've also been figuring out how to access data in XML files using PHP. I've got fairly good at using expat to read through a file and either write information to the screen or store it in an array for future use - you can see this in action on my page about songs sung at my church in 2001. I intend to post the source code for this before too long as part of my contribution back to the Open Source Community.
Final Words
As you can see, I haven't scaled any great heights, but I'm enjoying myself trying... and maybe the thing I like most about Linux is that this seems to be what it's all about. Nice one, Linus...