> > |
Thanks to everyone that made it to our first session. Here's some follow-up stuff
Linux first made it's appearance in 1991. Looking at *NIX timeline, like
the one here, one can see
that many flavors of UNIX already existed, including BSD, Sun OS, HP-UX,
and others. Indeed, Linux itself started as an personal offshoot of
minix, by Andrew Tanenbaum. If there is something to learn about Linux,
as a unique project, it is the story of it's developer, his persona, and
the world changes that created a ripe environment for this operating
system to flourish.
To me, there are two lesson here: Linux is primarily an active educational
pursuit, and is valuable, independent of any other requisits. Also,
Linux is as much about people, as it is about computers. Just making
software code freely available, doesn't make it better, and it
certainly doesn't make people more willing to share with others.
Something in this mix of social interaction, and computer science makes
Linux successful where many other efforts have not, and I find it important
to consider the people behind Linux, while we tackle the technical aspect, as well.
Someone once asked me about my slow goofy laptop, and asked what I did with it.
When I mentioned Linux, they were surprised to know I was a programmer,
as was I. Until that point, I didn't consider myself one, but after recalling all that I'd learned
about using the command line, I realized that I'd been programming my computer, one line at a time.
I'd been doing it for a while too, so it didn't really strange to me. So it was, I accidentally
became a computer programmer, as will you, with a little bit of practice.
I remembered the old addage, that computers only do what we tell them to do, and
understood that for Linux users, this was still vary true.
So, we are learning Linux, almost as a second language. It's the way we
talk to our computer. The first thing then, is to start a conversation.
To speak to the computer, we ask for a login, and a password.It is easy to get the wrong
idea about Linux, by simply staring at the prompt you get after login.
I have learned that the computer is literally asking you for
instruction. It can be a bit difficult to accept the idea of always
telling your computer what to do.
This is one of the first bridges to cross with Linux, the desire to
communicate patiently, with a machine, to reap the results of successful
dialog. So, if you find yourself staring at the prompt blankly, just log out,
and consider having some fun elsewhere. Think about what you would like
to make your computer do and come back to it when you have a rough
idea. Lastly as "housekeeping" note, from here on out, I'll be pretending our computers are in a time
machine, and lack all the modern multimedia fanciness, we expect. After
all, it's hard to talk to somebody, even a computer, if you are watching a DVD, listening to
music, or playing a game. This certainly wouldn't fly in class, and
we're definitely in a learning posture.
We are learning to use Linux, using a text interface, or command
line. This command line, is used to "talk" to our computer. It allows
us navigate through our file system, and get information about files
residing on the hard disk. If you have ever used DOS, the Linux command
line might not seem so odd. Because of the rich history of UNIX, that
Linux largely inherits, it's command line tools are far more formidable
than those of DOS, and offer flexibility not often seen in graphical
environments.
The command line is also called a "shell". This is because command line
interface wraps around the Linux inner-workings like a virtual clam
shell, interpreting what you type and passing it to the operating
systems internals, in machine-speak, to be executed. the most common
shell in Linux is the bash shell. For a more in-depth description and
comparison of shells check out this link.
Though we only learned a few commands, and concepts, they are certainly
within the core of utilities one needs to have a practical grip on
Linux. First, we learned that upon logging in, we "land" in our own
space, located in "/home/", within our file system. This can be verified
using the "pwd" command. This command displays our Present Working
Directory, and can alway be used to establish your current location.
After that we learned how to "survey" our surroundings, by using the
"ls" command. This command "lists" the contents of a directory.
For example:
- ls lists the contents your current directory.
- ls -l lists the content of your current directory, with detailed information.
- ls /path/to/other/directory lists the contents of a remote directory, without actually being there.
We also learned to use the "cd" command. This command allows you to
navigate through your file system, and change your location. Like the
"ls" program it also has a variety of usage options.
For example:
- cd transports your to your home directory.
- cd /path/to/other/directory transports you to a remote directory.
We learned that "." represents your Present Working Directory, and that
".." represents one directory level above your current one. Combining
these dot-sequences with "cd" and "ls" will run the commands on the
directories the dots represents. As you use the shell more, you'll notice
that most Linux utilities can use these dot-sequences.
In an aside, you learned a bit about passwords, and how to change it
from the command line. For more information about passwords, check out
the following link.
There were a few few things I didn't mention, that would probably be
helpful. For instance, when you finish practicing on your shell, you can
log out multiple ways. The most obvious one is to type "logout". another
way is to hold down the CTRL button, while pressing the "d" key.
For more detailed documentation, here are some sites that offer their
own spin on login, and navigation. If you'd like to get a nice
used book to get some more info, try "Teach Yourself UNIX in a Week."
It's an older text, making easier to find on the secondary (cheaper)
market, and it was part of the inspiration for this series.Those of you
hungry for more can download this handy PDF of Linux commands, and start
tearing it up.
In any case, I look forward to seeing you at our next session. bring
your questions, a notepad, and feel free to share the things you've
discovered while poking around this new Linux world of yours. If you're
still Linux home-less, come by on Wednesday and get an installation
done, or ask for a Knoppix CD, so you can practice.
Have fun,
Aaron Estrada
|