You are on page 1of 127


Welcome to Linux Online's Getting Started with Linux beginner level course. If you're
new to Linux and want to find out how to use the fastest growing operating system today,
all you have to do is follow these lessons and you'll be using Linux

efficiently in no time.

Getting Started with Linux is designed as a self-study course. We're afraid that due to the
numbers of people who follow this course, we cannot answer any specific questions or
clear up any doubts you may have about the material. In short, there is no extra help
available. You are on your own.

If you're ready to start learning about Linux, you may start at our Table of Contents or
you may want to jump right to Lesson One

We do, however, invite comments, suggestions, error reports and well intentioned
criticism. Before you do fire off an email about anything related to the course, you may
want to visit the author's notes page. It may help to clear up the issue that you were going
to write us about and save some wear and tear on our email server!

Getting Started with Linux - Course Material

Lesson One
What is Linux?
Installing Linux
An actual install
About Debian GNU/Linux

Lesson Two
Installing Debian GNU/Linux
Plunk that CD in the drive
Sundry installation tasks
Reboot and basic configuration
Completing the install process

Lesson Three
Working with Linux - First Things First
Working as another user

Lesson Four
Creating your 'routine' in Linux
The Linux file system
The basic directory structure in Linux
Some more cool short cuts
In Linux, everything is a file
What's left

Lesson Five
Day to Day with Linux
Virtual Terminals
Text editors in Linux
Text editors in Linux - Cont'd

Lesson Six
Shells in Linux
Frequently Used Shell Commands
The 'cp' command
The 'mv' command
The 'mkdir' command
The 'rm' command

Lesson Seven
Plumbing with "pipes" in Linux

Lesson Eight

How to get more information with Linux

Lesson Nine
Other interesting and useful commands
The 'grep' command

Lesson Ten
Power user commands
'tee', '>', '2>'
'whoami', 'whereis' and 'which
'echo' and 'wc'

Lesson Eleven
Miscellaneous commands

Lesson Twelve
Becoming a super user

Lesson Thirteen
Commands to control your system
File systems in Linux
Mounting file systems
Umount command - unmounting file systems

Lesson Fourteen

File permissions in Linux 'chmod' explained Using 'chown' Lesson Fifteen Backing up your files Untarring and unzipping files Lesson Sixteen Installing New Programs Debian Updates Installing new programs on Slackware Lesson Seventeen Printing under Linux Using Linux to access the Internet ADSL with Linux Dial-up connections with Linux Getting in touch with your ISP Lesson Eighteen Getting Linux to make sounds Recording Sound MP3 format Ogg format Compact Disks Lesson Nineteen .

ME. this course is mainly aimed at people who want to migrate to Linux from Microsoft products. word processors and spreadsheets Little goodies to improve your quality of life Tips and Tricks for X-Window More X-Window Tips and Tricks A final word about X-window Lesson Twenty The end of the beginning Getting Started with Linux . Due to the fact that Microsoft.Lesson 1 Getting Started with Linux We have developed this course for one basic reason: To bring the newcomer to Linux to the point where you can. Choosing the look that's right for you Protecting the environment Internet Browsers Email clients Office suites. . The simple fact that you are getting this course off the Internet presupposes that you know how to use a PC. 2. This means that a Linux user is not just a passive subject reacting to what the OS allows him/her to do but he/she is an active "developer" with complete control over the operating system. 2000 and XP. that is the question. 3. using Linux. do everything that you do with MS Windows and much more. MS Windows 9x. To explain the differences between working with Linux and working with other popular OSes. The course should be oriented towards people migrating from other OSes and in particular.Graphic User Interfaces with Linux The GUI family tree X-Window configuration To boot or not to boot (in graphics mode). To stress that the somewhat steeper learning curve in Linux will pay back in the amount of stability and flexibility. has its operating system installed on 90% of the world's computers. Our objectives are: 1. To show that using Linux opens up a whole new world of computing. enjoying an illegal monopoly.

that dish doesn't exist. The goal of GNU was to produce software that was free to use. a kernel is useless. Well. To use a metaphor. the kernel is what tells the big chip that controls your computer to do what you want the program that you're using to do. You might as well find some bread and make a sandwich. Generally. meatballs and cheese. the various versions of MS Windows. A plate of just pasta is fairly unappetizing. Andrew Tanenbaum. A brief history of Linux When Linus Torvalds was studying at the University of Helsinki. Mac OS. an operating system doesn't exist. That's when Linus decided to create his own operating system that would take into account users' comments and suggestions for improvements. both for political and practical reasons. Free Software pre-Linux This philosophy of asking for users' comments and suggestions and using them to improve computer programs was not new. There are a lot of things that go into making that dish like pasta. not zero cost. who worked at the Massachusetts Institute of Technology. Linus and other users sent requests for modifications and improvements to Minix's creator. distribute and modify. but he felt that they weren't necessary. Finding it difficult to continue working under conditions that he felt went against his concept of 'free software' he left MIT in 1984 and founded GNU. tomato sauce. always pointing out that 'free' means 'freedom'. . the kernel is like the pasta. if you go to your favorite Italian restaurant and order 'Spaghetti alla Bolognese'. it is obvious to most people what Linux is. it needs to be explained further. He was a pioneer in the concept of 'free software'. this dish is like your operating system. Without going into great detail. The kernel We should point out here that the focal point of any operating system is its 'kernel'. Linux is not a program like a word processor and is not a set of programs like an office suite. To say that Linux is an operating system means that it's meant to be used as an alternative to other operating systems like MS-DOS. he was using a version of the UNIX operating system called 'Minix'.Preparation What is Linux? Linux is an operating system that evolved from a kernel created by Linus Torvalds when he was a student at the University of Helsinki. Linus Torvalds' goal 6 years later was basically the same: to produce an operating system that took into account user feedback. Without programs. However. Without pasta. had been advocating just such an approach to computer programming and use since the early 1970's. Richard Stallman. Without a kernel. Solaris and others.

another kernel is available. the means used to get Linus' kernel together with the GNU programs was the Internet. you had to have special expertise in how computers worked to be able to install Linux in those days. At this point. at first. Massachusetts and a kernel. a library etc. Later on. Linux. This post might just be for you. It was just a hobby for him. The Internet would also be crucial in Linux's subsequent development as the means of coordinating the work of all the developers that have made Linux into what it is today. Developers began writing drivers so different video cards. We can say then that Linux is an operating system that came to life on the Internet. At first. not for everybody Other popular software companies sold you a CD or a set of floppies and a brief instruction booklet and in probably less than a half an hour.. Those companies had that intention when they actually sat down and developed their operating systems. a fateful year In 1991. In essence. Richard Stallman and GNU had programs but no working kernel. then in its infancy. Linux was born. you could install a fully working operating system on your PC. Finland. compilers. Due to the physical distances involved.. The only ability you needed was knowing how to read. That is. sound cards and other gadgets inside and outside your computer could use Linux. Linus Torvalds didn't have that in mind when he developed Linux. only people with extensive computer programming knowledge would be able to do anything with that early public version of Linux. ideal conditions existed that would create Linux." RMS: The GNU Hurd is not ready for production use. The first people to see Linux knew that Linus was on to something.1991. "Are you without a nice project and dying to cut your teeth on an OS you can try to modify for your needs?." People all over the world decided to take him up on it. Linus Torvalds had a kernel but no programs of his own. a kernel by itself gets you nowhere. [It is called] Linux. he needed more people to help him. Fortunately. And that's what he did. Nevertheless. Linux is introduced Late in 1991. throughout most of first part of the 1990's Linux did not get out of the 'GURU' stage. People began writing programs specifically to be run under Linux. These people started to offer their help. companies like Red Hat made it their goal to . GURU is a term that has evolved to mean anyone who has special expertise in a particular subject. developed by Linus Torvalds in Helsinki. So combining the necessary programs provided by GNU in Cambridge. Read the two men's own words about this: Linus: "Sadly. The version numbers of Linux were getting higher and higher. though. To get a working system you need a shell. Here's what Linus had to say back in 1991. Linus Torvalds had his kernel and a few GNU programs wrapped around it so it would work well enough to show other people what he had done.

known as distributions. Unlike other commercial operating systems that are controlled by one company. though. More reliability and less cost - it's ideal. So. Linux is free to distribute and use. Linux is in the UNIX family of operating systems. There have been cases when Linux servers have been running for more than a year without re-booting and then only taken down for a brief period for routine maintenance. organizations and individuals have developed their own "versions" of the Linux operating system. and they have succeeded. This comes from the fact that Linux has proven to be a tremendously stable and versatile operating system. particularly as a network server. You will have to learn some UNIX concepts in this lesson. but that doesn't mean that Linux is a professionals-only operating system. For some reason. where sensitive information should only be accessed by a privileged few. like webpage servers. This is largely because of the popular tech press' inability to explain in a meaningful way what Linux is. Now that you know what Linux is and how good it is. there is a situation unlike what occurs in the proprietary operating system world: a number of companies. Linux can be installed on a home PC as well as a network server for a fraction of the cost of other companies' software packages. so to speak.install Linux! Installing Linux Some preliminary considerations. most major versions of Linux are designed to be as user-friendly and as easy to install as any other operating system on the market today. you're obviously here to learn how to use Linux. Linux hasn't completely lost its 'Gurus only' image. Some were developed to be used in networks where security is a priority. In fact. Its cost effectiveness has sold it more than anything else. UNIX is primarily designed to be used by professionals. Any learning experience means opening up to new ideas and new ways of doing things. there's one more thing we have to do .bring Linux to the point where it could be installed just like any other operating system. by anyone who can follow a set of simple instructions. There are versions of Linux that are meant to be installed on top of an existing operating system like Windows so people can try out Linux under familiar conditions. If you're reading this. There are many different versions of Linux. The truth is that few tech reporters have real life experience with Linux and it is reflected in their writing. There are versions of Linux that are designed . its down-time is almost negligible. When Linux is deployed as a web server or in corporate networks. There are versions of Linux that were developed to be installed on computers that receive heavy traffic. Linux is enjoying a favorable press for the most part. in the Linux world. Linux Today Today. As mentioned before.

Prepare your manuals As we mentioned before. To use an analogy. Since Microsoft makes its living selling people "ordinary" operating systems. But in reality. Well designed programs will take you through the process of installation step by step so that you will be able to get Linux up and running in a relatively short period of time without any headaches. There are versions of Linux with funny names like "Chainsaw Linux" (no kidding) and "Tutti-Frutti Linux" (yes.just to cover the essentials. I would need a tuxedo. Linux Online maintains a list of all kinds of distributions. We should say here that it is not our intention to endorse the products of the companies we have mentioned here nor do we want to slight those companies that we haven't mentioned. it's a joke) What Linux is right for me? This is a very difficult question to answer. There is even the equivalent of a swimsuit in Linux . If I were going about my daily routine. I would need specific clothes to protect me from scrapes. like Debian. Linux has been fit into all those environments and more. But even commercial operating systems that are billed as being the most user-friendly in the world can't guarantee a 100% problem-free installation. There are others as well. This kind of Linux has been widely available for some time now. You may have heard of some of the companies and organizations that have created distributions for this platform. the major versions of Linux have perfected their products to such a degree that they are very easy to install. I would wear "normal" clothes. if I were going mountain climbing. Linux is just as easily installed and supports just as wide a range of hardware as Microsoft Windows does.a very scaled down version . Linux on PCs containing Intel-based CPUs It would be impossible to cover all of the different types of Linux so this lesson will only deal with standard versions of Linux that are meant to be installed on PCs with Intel- based be installed on platforms like Macintosh. Red Hat and SuSE . There are even versions of Linux that offer documentation and install programs in languages other than English. they have a lot to lose if Linux ever gets popular with the masses. For this reason they have done everything in their power to "warn" the public that Linux is something that you probably don't want and don't need. Mandrake. The PR department at Microsoft is coming up with fewer and fewer reasons not to use Linux. . Most PC users probably just need the everyday version. the cold. If I were going to a formal dinner. wind. There are computer world equivalents of mountain climbing and formal dinners as well as just sitting around the house. We invite you to consult that list before deciding on installing any version of Linux. rain and other adverse climactic conditions.

photo touch- ups. spreadsheets. Microsoft won't give you the source code to their products so you can make improvements (and we all know how much they need them). 1. You may be luckier than you thought. e-mail. Do you have another operating system installed? 2. but the majority of Linux distributions come with the source code . Now. you can do with Linux.The best thing to do before attempting to install Linux is to get the manuals that came with your PC out of the closet and dust them off. it depends on how old it is. Then again. back to the install. with or without manuals. Internet browsers. But there are a couple of questions you need to ask yourself. Major distributions of Linux have taken into account most standard hardware such as video cards. databases. Linux will actually install more easily on older PCs than on some newer ones. you will have what is known as a "dual-boot" system. That means that you have a PC that can use two different operating systems. modems and sound cards. cameras and then there are a lot of things that Linux has to offer on top of all that that other operating systems don't. The important thing is that you have the option to have both. Do you want to continue to use it? If you want to keep an existing operating system.or at least for the programs that aren't proprietary. go get those manuals. they may help to track down a problem or prevent a future one. 'What's the difference?' you may ask. The "free" ideally refers to the source code of Linux. Now. Downloading Linux One of the most misunderstood concepts of Linux is that it is widely spoken of not so much as a "free" operating system but as a "freebie" operating system. nobody can guarantee a problem-free installation for any operating system. Don't try to install Linux on one of those old PCs with a monochrome monitor where everything comes out a yucky green color. You've got your version of Linux and you just can't wait to use it. But let's imagine that you got a hand-me-down PC from your big brother or sister or you picked up your PC at a garage sale or you got the PC from some other source that we really don't want to know about. Though you probably won't need them. MP3. CD Players. now it's time to install Linux. That means word processing. I think that I should pause here and say that everything that you can do with your garden variety operating system. and we'll meet you in the next lesson! An actual install Most reputable PC resellers will hand you a stack of manuals when you buy your machine. but as we said before. . and install Linux as well. That's TOO old! Do you want a 'Dual-boot' system? OK.

He was one of the founders of Pixar. It forms the base of many user-friendly distributions like Ubuntu. These usually come with 90 days of tech support. Non-profit and non-commercial (which lets us off the hook on a lot of issues!) 3. we have chosen Debian GNU/Linux for an example install. the company that created the Toy Story films. Linspire and Xandros. If you don't happen to have a fast connection and a CD burner. 4. A solid. Despite its not-for-profit status. Debian is an extremely versatile distribution. though. from newcomer to seasoned IT professional. and Finding Nemo. About Debian The Debian project was founded by Ian Murdock in 1993. Our pick for an example walk-through installation and setup with be Debian GNU/Linux. but better as an operating system that can be obtained and maintained at a very low cost. Personal PC users can pick up a nice operating system for home use for around 30-50 US dollars. at very little cost. I'm talking about Bruce Perens. Debian GNU/Linux As it would be impossible in this course to talk about and give installation instructions for all of the Linux distributions. Debian gets its name from the combination of Ian Murdoch and his wife Debra's name (Deb-Ian) One of the Linux community's most illustrious people has been a primary developer of Debian. If you happen to have a fast Internet connection and a CD burner. Easily obtained and updated. Debian has no company behind it. via email. . You can also get Linux from PC magazines that will often provide CDs of the major Linux distributions and some basic installation instructions for just the cost of the magazine. The truth is that there is nothing in this world that comes at zero cost. you may download ISO images of the Linux distribution you have chosen (and that lets you have them free of charge). in most cases. a non-profit organization dedicated to helping produce open-source software and hardware. You can pick up a nice boxed set from the makers of commercial distributions. Why have we chosen this distribution? It is: 1. but it has cost you money for the CDs and your time (the costliest thing of all). quality Linux distribution with a long history (in Linux terms) 2. The Debian project is sponsored by Software in the Public Interest. It can also be found running on thousands of mission critical servers that have to be up 24/7. Linux really should never be touted as a zero cost option. This is somewhat fictitious. you can still get Linux. Monsters Inc.The "free" that most people think of is the free of "freebie" or "handout". Applicable to a wide range of uses and users.

The major advantage to Debian is that it can be updated easily via their much lauded apt-get system. so advice on doing it would be of dubious quality. the files are downloaded as the installer needs them. . it cannot be described as difficult either. More information on these methods can be found at http://www. If you have a CD burner. this is an ideal option.x Installation from CD This is probably going to be the most common way of installing Debian. even in a "second fiddle" role. The author must admit that he's installed a great number of Linux distributions side by side with Windows If you don't happen to have a broadband connection. There are two major ways to do this. xDSL or better). Why? There are a couple of reasons: • Lack of experience with the newer Microsoft products. You may want to consider contacting a local distributor of Debian CDs. You can. • We don't work for Microsoft We advocate alternatives to Microsoft products and not the continued use of them. The most popular is to burn the Debian ISO images to CDs and install.debian. Are we going to explain how to do it? Not in great detail. so we go over installation using this method. MS Windows - which other one is there?) on your computer. downloading Debian would be an extremely frustrating experience. Getting Debian GNU/Linux If you have a broadband connection (cable.debian. This can also be done by downloading floppy disk image files instead of CD images. With this option. He hasn't done it with any of the more recent ones. Consult this page for further information about distributors in your area: http://www. Preliminary considerations You may be wondering if you can keep another operation system (ie. • There's very little you can do with Microsoft products that Linux won't let you do as well. Enough said there.Though the installation procedure is not as easy as some commercial distributions. you can easily obtain this distribution and install it. The second is to obtain a minimal ISO image especially designed for an install over the Internet . We will go over this in more detail shortly.

Ideally. There's one that says 'Boot sequence'. . We'll remind you later.C . If you've bought a new car. Let's just say that it's there and you need it for your computer to work. email applications.) make it such that a MS Windows user could have his/her workstation switched with a Linux machine overnight and they would barely break a sweat getting used to it. The graphic user interfaces available plus the ever-growing numbers of productivity applications (office suites. There's really no need here to go into what your BIOS is or what it does. etc. That's the one you want. This is relatively easy to deal with. there are some supposedly non- destructive re-sizing tools. As a matter of fact. Pressing DEL when your computer boots up will just get you into the BIOS setup tools. When you turn on your computer. unless of course you start pressing buttons randomly. Everything works very much in the same way. It won't get you into trouble. Don't forget to set it back to 'C' when you're finished installing Linux.what's the use in re-sizing when you can start clean from scratch. there's a little message that says 'Press DEL to enter setup'. What you need to select is the item 'BIOS FEATURES SETUP' You'll see some more menu items. browsers. Linux has become quite "mature" as an end-user operating system. You can either erase the drive and repartition a blank drive or you can attempt to repartition a working hard drive. You just trade in the old one and start driving the new one. It shouldn't. You'll see a blue screen pop up with some menu items. you can set this item so that it says CD-ROM first. If you've got one partition with Windows on it.C. You may decide you want to throw away Windows all together! Summing up. If you can't boot from your CD there's an option to create a boot floppy. Anything that mentions the word DEL usually scares people. my first install of Slackware Linux was on the D: partition of my Windows workstation. supposedly. They always tell you to back up your data before proceeding. In your machine's BIOS. That just means that it will look for the disk in your CD-ROM drive first when the computer boots. if your PC is less than 5 years old. If you use the page up/ page down keys. being those who run the financial software 'Quicken'). you might just see A. so I find these stories about being "weaned" off Windows to be ridiculous (the exception. Installation of Debian GNU/Linux Booting from a CD Chances are. I recommend Linux-only installations. you can start a Linux installation right from the CD-ROM drive. The way to find out is to look at your computer's BIOS. so I always figure . what was done in the "old" days was to install Windows in C: and D: partitions. you don't have to be "weaned" off that.What we can say about dual-booting If you happen to have MS Windows 9.x you must repartition your hard drive to make room for Linux. Press ESC and then choose the item 'SAVE AND EXIT SETUP'.A and there's no CD-ROM mentioned there.

but alas. You can make a boot floppy. if you had two partitions. So remember. For example. The classic way of partitioning your hard disk is with a program called 'fdisk' The program comes with a lot of whistles and buzzers and flashing messages that say "Danger. We want to say here that this is the SWAT team method of doing it . My dog did try to eat my hard disk once and he really relishes the floppies I leave lying around. Other operating systems usually want to be the only ones in the computer. This 'swap' partition is just a way that Linux uses to get more memory so that you don't run out of it. You should know that any decent working Linux system . But installing Linux isn't dangerous and if you choose to install you may not need such a drastic solution to your partition problem. like two people sharing the same apartment. one person will always exert his rights over the other. but if you yours didn't come with one. Partitioning Your hard disk is like a pie. I'd plan for a bit more To talk about where Linux and other operating systems should go. we'll cover how to create one further along. The re-partioning using this method will get rid of them . If you have that important term paper on your hard disk. having the programs that will let you do anything you did with your Windows system. you can't give a piece to the dog. This will re-arrange your hard drive so you can install Linux. There's a version for Linux but it doesn't mention Will Robinson. Please keep that in mind. unless you've got a hard drive that's bursting at the seams. Linux doesn't use them. Unlike a pie. I digress. or pictures of that dream vacation to Hawaii that you haven't shown to your Aunt Betty yet or your best DOOM scores. In any situation where you've got two things sharing the same space. Will Robinson". There's a tool called FIPS that comes with major Linux versions. As we mentioned before. then it may be just a question of moving some files around. If you're fortunate enough to have a hard drive with more than one partition (the old C: and D: routine). so even though it's really not going to be this way. We'll get to that in a minute. And if you want those photos of Hawaii on there. You can divide it into sections. I mean. or Ginger and Marianne or even the Professor and Marianne if you like. Then you will need another partition known as a 'swap' partition. Linux may call them /hda3 and /hda5 for example.forever! [cue ominous organ music]. and that way it thinks it's the only one there. after you've divided it. That means installing it in /hda1 in Linux speak. You can call them Ginger and Fred. you'll need to make back-up copies of them.will take at least 2 gigabytes. I just use these bad jokes as a way of saying that C and D are naming conventions that belong to other operating systems. That may be an option for you. popular operating systems would generally call them C and D. They often come with boxed sets.and by decent. Unfortunately this lesson can't take into account everybody's individual circumstances.Don't panic. you have to install them in the first 'primary' partition. if .the scorched-earth policy of partitioning. There are also other commercial products that will do the same.

You should go back and initialize these partitions now before proceeding. Once you've installed Linux. It doesn't really take into account that you want to initialize /usr and /home partitions. you should see how much RAM you have. the other operating system should be re-installed first. sort of like those phony mirrors at the supermarket. Now you should initialize the / partition . There is an easy way to do've chosen to go the fdisk route. For example. the feel free to make a 500 megabyte swap partition. You can dedicate the whole hard disk or non-Windows partition (depending on the type of install you're doing). This is simply a way that Linux uses to get an extra memory boost. You must indicate here that you want / to be the bootable partition. you create what's known as a SWAP partition. Plunk that CD in the drive Okay. Now. First. That is to partition your hard disk even further and put "parts" of Linux on separate partitions. This should now boot the Linux kernel located on your CD ROM. Restart the computer. you are free to install Linux in what's left. Custom dictates that your swap partition be double your ram memory. Then my partition scheme ends up looking like this: Partition Location Size swap /dev/hda2 500 mb / (boot) /dev/hda1 1. We've got the CD in the drive. Don't worry about the /usr and /home parts. Do this now. there is what I consider a little glitch in the Debian install. you can actually see the other system's partition.the one that will boot the Linux kernel. This kind of a partition scheme may come in handy if you have problems with your hard disk. /home will contain your personal files. Don't go to the next step yet. We'll talk more about that in another lesson. Now is the moment of truth. this is the scheme that works for me: Let's take a 10 gigabyte hard drive as an example. When you've got that re-installed. /usr will contain most of the programs that will run on your machine. That will come after. There is a better alternative.2 gb /usr /dev/hda3 3. . From this figure. So if you've got 256 megabytes of RAM. What you'll have to do first is partition the hard drive. we need to initialize and activate a the swap partition.5 gb /home /dev/hda4 5 gb Assign partitions to look like this. and we're ready to go. Before we actually assign the other partitions their places and functions. You may be able to save information if it's located in different partitions easier than if it were only one big partition.

Now. You should also choose the settings 'make system bootable'. OK. to better use your hardware. I would. I have often made the fatal mistake of *not* correctly configuring LILO when I have made a new Linux kernel (yes. you'll have to choose a 'hostname' or name for your computer. you would choose a name and append .Sundry installation tasks At this point you should have your hard drive partitioned and these partitions assigned to what areas they'll be housing. You can always rely on a rescue floppy to get you out of this situation. It essentially does nothing unless you tell it to do. These will come in handy. you can also tell it to ask you to choose from different operating systems at boot. The "MBR" is a little slice of the hard disk pie reserved for moments like this! The program will now ask you to create a rescue floppy. You need to remove the floppy and the CD from the drives. now's the time to reboot the basic system that Debian has installed. known as modules. of course. You can choose additional parts to add to the kernel. you can actually make alternative versions of the Linux kernel and have LILO boot them. It might be a good idea now. If you're contemplating a dual-boot etc on the end. In the case of a single machine or a network that's connected to the outside only by way of a dial-up connection. . you should choose 'CD-Rom' for the installation procedure. comes the point in the process to install the Linux kernel. Now. you should choose a single name without the dot extension. Use whatever naming scheme is comfortable for you. At this point. be a name registered with an official domain name registry. People who know that they're going to have to use foreign character fonts may want to add additional support for font sets. Debian does a pretty good job of auto-detecting what you have. Normally if you were in fact a server providing Internet services. as your machine we're going to tell it to boot up the Linux operating system. you can make them from scratch!) and my system has become unbootable. your safest bet is to install LILO in the 'master boot record' when the install program asks you. so there shouldn't be any need to touch anything here. Even if you're not running an Internet server and even if you don't have a network you should choose a name as if you had one. Each block (the four numbered set separated by periods) should be separated by a space. Debian uses a program called 'LILO' to do this. After. as we're installing from a CD. Right now. Later. to go back into the BIOS and set it back for the machine to boot from . Your hard disk is basically a piece of metal with a metal disk flying around in it at incredible speeds. you should choose a 'domain' name. At this point. Now you should enter your ISP's domain name server IPs. For example.

Please choose one that's easy for you to remember but would be difficult to guess or "crack". Without getting into a lot of technical jargon. This account should be only used to perform important administrative tasks. Now you should create an account to work with normally. You'll now be asked if you want to use Md5 passwords. Feel free to use your first name or the first letter of your name and your last name as the login for this account. As we're on the subject of passwords. would become very easy to crack. especially if it's some dictionary word. Reboot and basic configuration Your new Debian GNU/Linux system is now rebooting. What I mean by "normally" is that Linux is a true multi-user system. he/she is restricted to modifying only the files owned by him/her. Charlie X. your password. We'll get into more detail on the duties and privileges of root later on. you'll have to answer a few questions about configuration. Once again. You'll have to evaluate this on your own. 'ch4rl13X' might be a good password. This insures a lot of security and removes a lot of headaches. of course. Suffice it to say. without going into any technical jargon. You should always answer 'yes' to this one because without it. Well. For example. this is another Unix scheme for extra security. everybody comes up with his/own own scheme that works. if I were a Star Trek fan. difficult to remember. however. But at least make sure to remove the CD or else it will boot the CD again and start the install process again. you'll be asked to remove PCMCIA from the system if yours doesn't use it. In the end. If you don't choose this. . I would choose something a little less well-known in Trek lore and modify it somewhat. You should never do routine work as root. but it might be so well known now that it would be found in any program that crackers use to get into systems. Therefore. you should now type in a password for the 'root' account. Trek fans will remember that mutant brat who once tried to take over the Enterprise. Spock probably isn't in the dictionary. Now. you should never use a dictionary word as a password. creating a random string of lower case and capital letters and numbers and just remembering it. It is. 'C2jl7y2B' is an excellent password. Feel free to do so. you'll be asked if you want a 'shadow' password system. By the way.your hard drive first (instead of from your CD drive). Md5 passwords are protected with an extra layer of security. 'root' is the administrator of the system. now it's time to enter the password for the famous 'root' account. so one machine can be used by hundreds of users. I might be tempted to use Spock as a password. When that's finished. It's also known as the superuser account. When each logs in. You should choose this if you think you'll be needing extra security. The most secure method is. Follow the password convention you're comfortable with. Taking some letters and replacing them with similar looking numbers is an acceptable password procedure.

When you have completed the scanning process. you can skip this part. If you are more adventurous. security flaws may have been found in certain programs included with Debian. From the time the ISO images are released to the point where you are installing. For this reason a check is made and any programs with flaws are marked and updated copies downloaded and installed. After the security updates are finished. Some simple advice: just answer the questions as accurately as you can and you should be fine. it will now start searching that site for security updates. you can download and update packages automatically right off this Internet with the 'apt' system. If you connect by way of broadband or better. Though the dselect interface is not visually appealing and may appear daunting to newcomers. Insert each one and wait until you are asked for another. Here you will choose packages "by hand" from a list of hundreds. Our install road has reached a plethora of forks in it. it is fairly straight forward and is actually quite user friendly in the sense that it is almost impossible to run into trouble with the packages you want to install. Completing the install process Now it's time to begin inserting each one of the CDs you have. You will have to do some more work in this department. If you have a dial-up connection. There is a maximum of 8 in the set. this is a good time to use it. you are notified. At the fork(s) in the road Here we reach the end of the install section. This will install programs after you have indicated your general preferences from a menu. We will configure this later. you will be presented with the possibility of doing a simple install with The Debian Task Installer. With Debian. At this point.You will now be asked if you want to configure your system to use your ISP. They will be scanned for available packages for install. That way. we're ready to choose the rest of the packages that will make up our Debian system. if you are connected to the Internet by way of broadband for example and the install program can make a connection to Debian's security site. we can't really document accurately what's going to go on from here. . At this point. but due to the fact that the packages each person might choose and the hardware in his/her machine. you can either choose to keep the package that Debian recommends or "un-select" the package so your own choice can be installed. you may choose the more advanced install process by way of dselect. If you were to choose a package that conflicted with something else. right now it's best not to choose another apt source besides the CDs. you will be asked to choose another 'apt' source.

list file and add our new package sources to it.old This renames the file sources. It will also allow you to get new programs by downloading and installing them automatically. to save the file.list sources. we can do what we want for now. Do this first: vi sources. but with a few simple strokes of the keyboard.list is what told the 'dselect' and 'apt' programs where to get the packages to be installed. . I'm sure the people who maintain the Debian website would appreciate it too! Now. but you will probably be making use of these commands while you use Debian.list to sources. they will challenge you to a pistol duel at 20 paces if you tell them you think it's lousy. you may want to try it!) mv sources. If you have a basic knowledge of Unix commands already. If you have zero experience with Linux or Unix.debian. sources. We'll give you a refresher later on in the course. you should now configure the apt-get system which will allow you to update your system quickly and painlessly.Post Install We'll assume that you've got a working Debian system now. We need to create a new sources.list This brings up the text editor 'vi'.debian.will update your system with the latest security enhances packages. Now you're ready to keep your Debian system in shape.old. Use: apt-get upgrade --show-upgraded to get a little more verbose report of what's going on. We'll tell them to get packages off the Internet directly. apt-get update . (Even if you don' stable/updates main contrib non-free You may want to go to Debian's homepage and look up suitable mirror sites nearer to you. If you've got a broadband or better connection to the Internet.list. Now we're going to change things a bit. You should go to the directory /etc/apt/ and do the following (as root). hit ESC again and ':' the type 'wq' (meaning write-quit) and your file is saved.debian. There are people who love this program so stable main contrib non-free deb http://non-us. 'vi' is probably *not* the text editor for you at this Hit the escape (ESC) key and the letter 'i' and your ready to insert the following. deb stable/non-US main contrib non-free deb http://security.

If your name is Hrothgar. By the way. if Prince Charles is reading this. When you decide to work as root. you had better go into a phone booth first and change into a blue suit with a big 'S' on the front because 'root' is known as the 'superuser' (you can skip the red tights if you want). I say 'should' because doing routine work as 'root' could be hazardous to your health. Charles Philip Arthur George is a bit too long and has spaces. Bob. One thing I find EXTREMELY helpful is that with Linux. This way I can organize my work a lot better and backups are easier this way too. Adding a new user Well. Working as another user Well. If your name is "Bob" then you could create a user account for 'bob'.he should try 'charlie'.installs a new program. Linux makes your computer a true multi-user system. It was after I had trashed all of the files and programs that make Linux run that I realized that working regularly as root wasn't a good idea. let's see what we can do with that Debian system! Working with Linux . 'root' is not for routine work As I mentioned. . then how do you do your day to day work with Linux? That's easy. Now. I can work as different people. lock you out of the building. Then you provided a password so that you and ONLY you could login to the system as 'root'. you can and should work as another person. Try your name. Actually. Root has the keys to everything. You do it by working as a user other than root. use 'Hrothgar' or 'Hrothie' instead of 'bob' for the remainder of the lesson. apt-get install [program/package name] . And the most important thing about being a janitor . it is much more glamorous to be 'Superman' but root is actually more like the 'janitor' of the Linux system. He can shut off the lights. When I first started using Linux myself. I am just a guy with a couple of different jobs. That's really not meant to be just a witty reference to the Man of Steel.First Things First When you work as root You have now installed Linux and the first thing you did was login as 'root'. he has to clean up the system and in the end make sure everything runs.apt-get --purge remove [program/package name] removes any trace of a program from your system. shut off the heat. which Linux doesn't like . It should not be inferred here that I have split-personality disorder. now it's time to create your account. information was not all that readily available and I still had that 'one computer- one user' concept in my brain. You may pick the name you like. which means that besides root.he sees everything.

Now you need to type: cd bob. You will be asked to repeat it. Those would normally be hidden from you if you didn't use the -a.Now 'root' has to do this stuff. You just fill in the correct information. Go to the /home directory. You can type: ls -a to see what's in the directory. Yes. Follow the same advice I gave previously about passwords. Kind of a logical name. You'll see this: /home. You might not see anything.' (period/dot). Getting Started with Linux . has a nice tool called YAST which lets you add users painlessly.Lesson 4 Creating your 'routine' in Linux What's in your user directory When you create a new user. you can also use the command 'useradd'. I know I just warned you about working as root. SuSE. Do this: passwd bob Linux will ask you for your password. but this is where you have to exert your authority. Linux has been told that there's a new user and his name's 'bob'. Also. We'll go into more detail with the ls command later. You probably won't see any fireworks go off. Actually you won't get your hands dirty unless you're eating barbecued ribs at the same time. To see what's in this new directory. MS-DOS users will be familiar with that one. Most major distributions have tools to do this.typing: cd /home you can make sure you're in the /home directory by typing 'pwd'. With the -a option. There is also the get-your-hands-dirty way of doing this. Now you should give yourself a password. Consult your Linux version for information on their tools. Using 'useradd' and 'passwd' To add a new user. . you'll see some files that begin with a '. one vote' it's 'one user - one password'. don't use your 'root' password. isn't it? Try this: useradd bob. . you have to do the following. Like 'one man. That doesn't matter. for example. there is a directory created for that user in /home.

Again MS-DOS users will be familiar with this. The first one we should look at is 'cd'. Any operating system uses a shell to get commands from the keyboard to the computer. There are actually programs for Linux where you talk through a microphone and Linux will carry out commands that you've programmed in advance. Getting in and out of directories with 'cd' We saw a few commands in the last lesson. bash means "Bourne Again Shell". your show of shows. This lesson will cover those commands which you will need to see what's under Linux's hood. We will handle a lot of commands in more detail in later lessons. For now. 'hrothgar' or whoever you happen to be. It is a free version of the Bourne shell and uses a little play on words. you are using a shell. where to find stuff and a little bit about what that stuff is. cd will get you in and out of directories. The Linux file system Now's the time to learn a little bit about the Linux file system. The basic directory structure in Linux Now type this: ls You will probably see something like this: cdrom home opt tmp dev lib proc usr bin etc lost+found root var boot floppy mnt sbin They will be blue in color. . but we didn't go into them much.Now you can go to work as 'bob'. as you can see. It's really cool. That is /root. Those are directories. We'll learn about where Linux puts it stuff. It's a lot easier than punching holes in cards like they used to do in the old days. The Linux shell When you're running Linux and start to type things on that black screen. The most popular shell used for Linux is the bash shell. The root directory shouldn't be confused with root's directory. though. we'll concentrate on the keyboard. It's the directory of directories. Try this one: cd / This will get you into the 'root' or main directory. the king of kings.

Those are programs. You will now see every file in the directory that begins with the letter 'm' Now add an 'o' on to ls m so you get ls mo . This is a file that contains your startup message. This houses most of the configuration files for Linux. You could just type 'ls li' and push the tab key. First the long way. you'll see: lilo. 'cd etc' will get you into the etc/ directory. . For example.' will get you out of bin/. throw it in the bin'. You should see 'motd'. depending on your version of Linux). 'cd . You'll find all of the most used commands there. or you can just type 'cd /etc' in the bin/ directory and it will bring you to the etc/ directory . Do you want to make sure that lilo. Your last commands will appear when you do that.The /bin directory Now type this: cd bin Type ls again. You know. Actually. Linux is going to beep a couple of push the tab key. This is the famous bin/ directory. Anyway..conf And you don't even have to type the whole thing.conf. Linux will type the rest for you. when people say. I like that one so I haven't changed it. There's a long way and a short cut. Isn't that cool! Some more cool short cuts Try this one: type ls m push the tab key. Right now you should be seeing a lot of red (or green. the file that tells you which OS to boot is in there. The /etc directory Now let's look at another directory.conf is still in there? You don't have to type 'lilo. you are now in the etc/ directory. 'That's no good.conf' or even part of it and press the tab key anymore. but you keep pushing. I have always felt this one was misnamed. SuSE has a famous one that says 'Have a lot of fun!'. You just have to press the up arrow. but you can change it so that Linux says anything you want when you log in. bin/ is one of the most important directories in Linux. lilo.

You will eventually have to use this directory. That will be taken up in a more advanced lesson. The /usr directory Let's talk about using some options with commands. you'll find that this really comes in handy. If you're using an IDE hard drive (as opposed to SCSI). You'll see mainly sub-directories here. Pressing the down button gets you back to your most recent commands. like dates. typing: ls -l will give you more detailed information about the contents of a directory. Don't delete that. In Linux. You will see more information. your hard drive will be known as /dev/hda. You can even type the command history and all of the last 400 or so commands you've typed will be presented. No. Everything is considered a file in Linux. land on the floor and spill out ooze all over the place. not only is that digital photo of The Eiffel Tower a file but your monitor is a file too! How can that be? Let's try to explain it. The /dev directory If you do cd /dev and then ls. Try this: First let's go to the usr/ directory by doing cd /usr then type: ls -l . letter combinations. You will probably not have to look in /dev very much. These are the devices that your system uses or can use. Just stop on the command you want and press 'enter'. The more times you press the up button. some numbers. The usr/ directory contains files and programs meant to be used by all of the users on the system. You can often find out the answer to the question: How did I do that? by consulting your shell history. As you get more proficient in Linux. but it is normally placed there on most systems. the farther back in time you go. everything is a file Yes. Power users may change the location of the kernel for reasons of their own (they may prefer /shoe). not really. because your hard disk will spin around. The /boot directory Doing: cd /boot will get you into the /boot directory. you'll see a lot of yellow outlined in black. It will say 'root' a lot. so your hard disk is kept track of as a file that sits there. For example. We'll get into more detail about what all of that means later in the course. That's where the Linux kernel usually is. You will not find any boots or shoes or footwear of any kind there. come jumping out of your computer.Your commands are saved in a history file located in your home directory. because you may need to use two or more different types of kernels in the future. . so don't worry about that.

It's mainly the programs that work under a windows manager that take advantage of this directory. That's where the name /lib comes from. but they're only meant to be used by root. email varies in size as well. variable size) For example. the photo comes up for you to see but a temporary file is created while you're looking at the photo. When you double click on an icon of a photo. 'Shutdown' is in there. Again. Even then.e. Programs may use libraries to carry out their functions.. The /lib directory /lib is for library files. Root's home directory is a restricted area for everybody else. Only root can shutdown the system. Linux response is sort of like. Most programs. Different programs use the same libraries. getting what are known as "dependency" problems are quite rare. you won't be able to do anything while you're there. MySQL keeps its data in a subdirectory of /var called /var/mysql/. . That will sometimes happen when you've downloaded a program and had to compile it yourself from source. Users' home directories are under certain restrictions for other users as well.'. That database would obviously grow in size. The /var directory /var is a directory for certain files that may change their size (i. You will find later on that when you use a Windows-style system with Linux like KDE. The /tmp directory /tmp is a directory that is used to store temporary files. If they don't. they'll tell you that you can't install the program. as the name may suggest. You will probably not have to worry about this directory much unless you start getting messages like 'can't find shared library. there are a few excellent databases for Linux. usually have a pre-configuration program that makes sure that they can find what libraries they "depend" on to run. even when compiled from source. If a user other than root tried to shutdown the system. 'You don't have to know that'. It is also the normal place where email servers store their incoming mail..root's directory . Normally. so Linux will store them here so that every program knows where to find them. However. but you can't touch. I would have a database to register purchases. And if it didn't then I'd be in trouble. you will be taken to the directory /root. The /sbin directory /sbin is another one of those off-limits directories./root If you are not working as 'root' and you type cd /root. he or she would get a message saying that only root can do that. The temporary file is deleted when you close the KDE image program. this window manager will create files there for temporary use. You may look. If I had an e- commerce website. Then that person would be followed by the secret police for three months. One is called MySQL. This directory is like /bin in that it has frequently used programs in it.

Day to day with Linux Shutting down Linux At this point you should have installed Linux. If you go to your home directory. 'cd /home/[username]' and type: ls -a you will see these files. And then when you're finished you'll have to shut off your computer. we'll explain in more detail what these are for. Let's just say that in Linux. For this. we'll use the shutdown command . This is a directory for storing users' personal files. and you've looked around at what you have. we've looked under Linux's hood. more about these directories later in the course. In the next lesson. These preferences are usually included in configuration files which are also stored in users' home directories. Most of these files start with a '. so to speak. we'll take her for a little spin. All of us have certain preferences for using programs. if you want to see what's on a floppy disk or a CD. There are also people who probably just shut off their monitor. so we should maybe let our machine have a rest too once and a while. Actually. Well. there are computers that are never shut off. What's left The /floppy /cdrom and /mnt directories Most installations of Linux will also provide these directories: /mnt /cdrom /floppy These shouldn't contain anything. Later on. You're going to do cd /floppy or cd /cdrom If you try that now you probably won't see anything.Home Sweet Home We talked about /home before. Imagine if your ISP shut off the computer every night! The Internet is a 24/7 business so that wouldn't be practical. As you probably get some sleep occasionally.' (period/dot). As I said. you're not going to be able to just click on an 'a:' icon or a 'd:' icon.

You also have our permission to fix yourself a sandwich in these cases too.The importance of the 'shutdown' command As anyone who's used a computer knows. You'll see a message like: Linux is going for system halt NOW It will start to shut off programs that you're computer is using and you'll see it all happening. If something is causing a problem. That way. you must wait until you see the message: System halted or Power down before you shut off the computer. If you have a big hard disk. you could do severe damage to your Linux file system. That will very rarely happen these days. if you shut off you're computer before you've finished saving work. It lets you see everything it's doing. That's because Linux is a transparent system. Linux will also run a routine check every once and a while automatically. as opposed to some later time. data will be lost. if you shut off Linux incorrectly or there was an inopportune thunder storm and you lost electrical power. Shutdown for a single computer The most common way of shutting down a single user Linux system is for you as root to issue the command: shutdown -h now You use this when you plan on shutting your computer off at that moment. At first. but you should always use the shutdown command when you want to shut off your computer. you can tell another person what you saw and he or she may be able to help will run a check on your hard disk automatically when you use it again. If you don't know how to solve it. if you are having a problem. It won't give you a simple message telling you to wait and then another one telling you you can shut it off now. Re-booting the computer The other command that you will probably use is: . you may be able to track it down. With the shutdown -h now command. Linux will tell you about it if you don't . it will tell you about it when it starts up and when it shuts down. you might as well go and make yourself a sandwich because it's going to take a while. or if there's a power outage that shuts it off for you.

and you found that you needed to do something as 'root'. You wouldn't have to shutdown the program you were working with. Linux is a true multi-tasking. Back in the days of MS-DOS. You could just press ALT-F2 and Linux will prompt you to login as a . you may want to try shutting down the computer at a given time. you may want to try using some time options instead of just now. You have people at workstations on the network busily doing their work. That way people would have a chance to finish what they were doing before the system went down for maintenence. but on a network system this would be changed to indicate a time. shutdown -h 20:01 Which will shutdown the computer at 8:01 PM. would probably be hazardous to the health of the person who sent that command. shutdown -r now If you have installed a dual-boot system and you want to use the other operating system. Unlike MS-DOS. You will get a similar message as with the -h (halt) option that will say something like: System going for reboot NOW The basic reason behind all of these messages is that Linux was conceived to be a networked operating system. 'bob' for example. In the next lesson we'll talk using the system again. For example. (why would you want to do that?) you would use this command. multi-user system. The last part of the shutdown command now is fine for a single-user home PC. in a network. Getting Started with Linux . you can work as more than one user with more than one program at a time The ALT-F keys Let's say. but that's where the similarities end. You could also try: shutdown -h +5 That shuts down the computer in 5 minutes time. Using 'now'. one program could only be run by one user at a time. The next time you shutdown your system. if you were working as a user. Now you know the correct way to shutdown your Linux system. Linux in non-graphics mode may resemble MS-DOS somewhat.Lesson 5 Virtual Terminals One of the coolest things that Linux has to offer is the concept of virtual terminals.

Why use a text editor? A text editor is just like a word processor without a lot of features. If you've been experimenting with your windows manager already. in this case. plus the F keys will allow you to login as a different user. First. we should talk about the terminal mode text editors that are available for Linux. There is a more recent version called 'vim' which means 'vi improved'. All those old Smith-Coronas got put away. The text editor "vi" The most popular text editor for Linux is called 'vi'. The X-window system of Linux will let you do this as well. popularized by Macintosh OSes and Microsoft Windows. All you then need to do is type: 'exit' when your finished. but then we can add the concept of multi-user to it. All operating systems come with a basic text editor. Based on the information it gets from that file. This gave us the opportunity to have various programs running at the same time. but to run a different program. Pressing ALT-F7 will get you back to your windows manager again. wouldn't you say? The combination of ALT. Linux is just as well suited for word processing as any other operating system. cross suite's word processor. I would definitely say for writing. With a computer and a word processing program. You'd just type the root password and then you can do stuff as 'root'. The combination CRL-ALT-F6 will get you out of your windows manager momentarily so you can login as a different user. A preview of virtual terminals in X-window It's true that the 1990's brought us the era of the graphic user interface. KWord. and then press ALT-F1 again to get back to your original terminal . The . white out and crumpled up paper has disappeared forever.There are several excellent word processing programs for Linux like AbiWord.different user. This is a program that comes from UNIX. Getting Started with Linux . We'll talk about these kinds of programs in a later lesson. The main use of a text editor is for writing something in plain text with no formatting so that another program can read it. part of the KOffice suite and the OpenOffice. the program will run one way or another. Linux comes with several.Lesson 5 Text editors in Linux If I were to choose one of the main reason why people use PCs. 'root'. We'll mention this again in the lesson on X- window. you might want to try one more thing. or as the same user. Pretty cool.

vi will accept it and not save your changes. 'pico' and 'joe' pico' and 'joe'. you would press ESC. You have to remember a lot of key combinations to do stuff that other text editors will do for you more easily. Vi may protest if you've written something and you don't want to save it. ':' then 'q'. If you press ESC ':' 'q!' with an exclamation point. quit) To quit without saving. To write something. you would press ESC then the colon key ':' then 'w' (write) To save the file and quit vi. but there are people who swear by 'vi' and do all kinds of things with it like designing entire websites. Using 'joe' 'joe' was . Even if you don't press 'ESC-i' it usually gets the idea that you want to type something and lets you do it after a few keystrokes.problem with 'vi' or 'vim' is that a lot of people don't like it. Press ESC + 'i' then type: hello vi If you wrote jello vi or jello bi or something I don't want to know about. I generally do not use "vi" for anything that requires more than about 30 seconds of work.sounds like a comic strip. Working with 'vi' Let's make a text file. they are two other text editors that I like and I think are a little easier to manage. or more like a sesame seed. There are a lot of commands in vi - and you may explore those on your own at a later date. because I have found that 'vi' is good if I want to get into a text file quickly and change something or I want to write a short note to myself. ESC the colon key ':' then wq (write. press ESC. you have to press ESC and the 'i' key (i for insert). you can always erase your mistakes with the backspace key. on your own terms and in the privacy of your own home. They're like 'vi' in that you use them to create and edit non-formatted text. but they're a little more user-friendly. Type: vi tryvi You'll see a line of tildes down the left side and the name 'tryvi' at the bottom and [new file]. You should get used to the 'ESC-i' keys so you don't end up writing 'ar John' instead of 'Dear John'. To save this file. Actually. That's vi in a nutshell. We should go through some basic 'vi' commands.

Help shows you the key combinations to use with 'joe'. To save and quit or to just quit. That's good. (well. I could always fall back on the tilde file. Using 'pico' 'pico' is another friendly text editor. press CTRL-K-H. we're going to need to use one in order to make our work in Linux a little bit safer and easier. Questions like that will keep you from sending a file into non-existence without wanting to. To quit without saving. It looks a little friendlier.created by Joseph Allen. You won't see the tildes like vi. You can just start writing anything you want. The most important thing about 'joe' is the logical concept that you can just start writing if you want. To save and quit. CTRL-K-X. If you type: 'pico trypico' You'll see the commands you need in 'pico' specified at the bottom. (without the K). which is a copy of your previous edit. like 'tryjoe~' That little tilde file has saved my life a couple of times. CTRL-C. To save the file. press CTRL-o. To use 'joe'. so that's why it's called Joe. press CTRL-K-D. it would have been called 'hroth'. maybe not my life) But it has saved me a lot of work. If you want to see the other features of 'joe'. Well. My favorite little added feature of 'joe' is that if you edit a file again. The most important of these is CTRL-K-H which gets you 'help'. it will save the previous file with a tilde on the end. I suppose if his name had been Hrothgar Allen. as I mentioned before. you could type: joe tryjoe'. All the other commands you'll need are at the bottom of the page. this is our little overview of the main text editors available for Linux. 'joe' is a very good option for writing those short text files that you'll need. press CTRL-x Pico will always ask you if you want to do what you're doing. To save it. Shells in Linux . Try writing anything you want. I've made some changes to a file and then found out that wasn't a good idea. In our next lesson. The majority of joe's commands are based on the CTRL-K keys and a third key.

bashrc' (ls lists files) You can open that file with vi. as we talked about in the last lesson. Some people see this as a throw back to the old days. Everybody knows what 'alias' means- 'an assumed name'. you could have typed 'ls -a' and that would have shown you every file in the directory.bashrc file was. You'll find a lot of files on the system that end in 'rc'.bashrc'. An 'alias' in this file are some lines that you write so that your bash shell assumes that one command is really a variation of it. Linux has these programs too. And sometimes you do! The '. a shell is just a way for your computer to receive commands. . you can modify a command with a dash '-' and a letter To see where the . The most common commands a computer receives are ones to copy files.Sea shells by the seashore.' If you find yourself using these '-letter' combinations a lot. like 'ls'. you can modify your . Can you say that ten times fast? How about 'Shells in Linux'? That's not as difficult.bashrc' An introduction to aliases In that file. including those that start with '. just in case you need it.bashrc' file Before you start using the 'bash' shell you should be aware of a file that sits in your home directory called '. As you already know. you can add something called an 'alias'. The best way to find it is to type. Our lesson will deal with that one. Why you need to use a shell As I mentioned in a previous lesson. list files and delete files. I see it as a way to have more power over your computer because even those operating systems that are billed as more 'user friendly' have provided you with a shell.bashrc file so that even though you type the simple command. Those files allow you to configure a certain program to run just the way you like it. joe or pico. 'ls . in your home directory you would type 'pico . For example. but anybody who's seriously thinking of using Linux on a day-to-day basic should be familiar with the commands that you type in by hand. Learning to use shells in Linux isn't going to be difficult either. The most common shell used for working in Linux is the 'bash' shell. move files around. you actually get 'ls -a'. Popular operating systems have perfected this to such a degree that they have graphic interface programs to do all this for you just by moving the mouse around and clicking on a few buttons.

And finally mv='mv -i' . In Linux. They are: alias cp='cp -v -i' alias rm='rm -i' alias mv='mv -i' Let me explain them. 'cp' is the command to copy a file to another place or to make a copy of a file under a different name. so you know what you've done. because in the bash shell there is really no 'trash' bucket to pick it out of if you delete it. 'mv' is for moving files to a different place or renaming a file. you could type cp -v -i. this means gone forever [cue ominous organ music] You obviously have to be very careful with this one. you now have '. Then you would add: cp='cp -v -i' on the next line write: rm='rm -i' so we don't send anything into byte heaven without a warning. # my personal aliases The pound sign (#) tells the shell not to read that line. so that it asks me if I really want to delete that novel I just wrote. It would be a good idea to add this line first.bashrc' open in 'pico' or your new.bashrc' file. This is probably a good idea all the time.bashrc file Well.Some of these aliases may be very important to keep you from sending that novel you just wrote into non-existence by accident. That's why I've added the -i (interactive) command to my alias. In order not to copy a file to a place where there's already a file by the same name.bashrc file to keep me from getting into trouble. I have an alias for it for the same reasons as the 'cp' command. 'rm' is the remove/delete command. -i for interactive) and it would ask you if you really want to do it in case there's another file by the same name. Adding aliases to the . It's known as a 'comment'. (-v for verbose. favorite text editor. so you could create an alias for it in your '. Then the -v would show you where it went. I have a couple of entries in my .

You can use them both in text mode or in your x-terminal when you're in graphics mode. If you type logout and then login again.. Now you have a safer.Lesson 6 Frequently Used Shell Commands If you install a window manager like KDE. Then all you have to do is press enter. 'cd' means 'change directory'. We talked about this in a previous lesson. easier shell environment. will get you out of it. If you type: source . Typing: cd /[directory name] will get you into one of the main directories in Linux. delete. shell commands are pretty standard in Linux. you can copy. your aliases will work. you don't have to type the whole name Typing: 'cd' and the first letter or letters of a directory and the TAB key will complete it for you. Now your shell's ready to go.So you're aliases will look like this # my personal aliases alias cp='cp -v -i' alias rm='rm -i' alias mv='mv -i' Save that file and logout and login again. . As you get more proficient at Linux. so we're going to teach you the ones that you're most likely to use. Remember. move and rename files by way of a graphic user interface like Konqueror. 'cd' command To show the student the basic uses of the 'cd' command The first command you'll use is 'cd'. Getting Started with Linux . Typing cd .bashrc your aliases will be ready to go. There is also a short-cut. so let's review the basics. But as I mentioned before. you can add more aliases as you see fit. Typing cd without the / and a sub-directory name will get into that subdirectory.

So if you have a file '007_secrets. Please do not use the cuneiform alphabet unless you're from ancient Mesopotamia. You have the date and when it was created or modified or copied there. The next one represents that Linux. those letter.jpg. then any file that begins with a capital letter and then any normal file that begins with a lowercase letter. which is obviously your important tax records.If you type just: cd you'll go back to your home directory The 'ls' command To show the student the various variations of the 'ls' command 'ls' is another command that we've discussed a bit before. Normally we'll want to add on some parameters (those -[letter] combinations) so that we'll get some more detail Using 'ls -l' To show the student how to get some more detail with 'ls -l' 'ls -l' will get you a detailed listing of the directory like this. you have the name of the file. That basically shows what you and others are allowed to do with the file. The next one that it belongs to you. like read it. The next one shows that you've got 1 file. We'll go into that in the next course. Lastly. 'ls -l' will give you a detailed listing in alphabetical order. We'll go into that in a later lesson. -rw-r--r-. are file permissions. Let's go into some more detail. starting with any file that begins with a number. Other parameters with 'ls' Now let's add some more parameters on .jpg The first part. not only recognizes users.1 bob users 103824 Jul 10 12:01 waikiki. but also groups of users. waikiki. Typing 'ls' will list the contents of a directory with just information about file names. 'bob'.txt' that'll be the first one you see. The numbers are the size of the file in bytes. You can use 'ls a*' to list the names of all the files that begin with the letter 'a' and so on down through the alphabet. modify it or make nasty comments about it.

txt') that told us what kind of a file it was. The 'file' command File is an interesting little command. they don't have to and probably won't.exe'. 'ls --help' will give you details of all the possible variations for this command. You don't have to do that if you don't want. you can use this command to get some information about the file. now you know: 'ls -lXr' There is also a parameter that will help you if you want to find out more about these commands or any others. try: 'ls -ltr' The 'r' is for reverse order. 'ls -lSr' will reverse this order. it's 50/50. You can see what type of file it is by typing: 'file stuff' You may see something like this: 'stuff: ASCII text' This means that the file contains plain 'novel. then those will be last. 'more' and 'less' To introduce the student to these commands 'more' is a command that you can use to read. . In 'ls -lS' will list your files from biggest to smallest. for example. If you don't know what some particular file contains and you're curious about it. Linux is also color coded. If you want the oldest to appear first.'ls -l -t' will give you a listing according to the time with the newest ones appearing first in the list. In MS-DOS. 'ls -lX' will list files according to type in alphabetical order. what's written in that 'stuff' file that Tony sent you. in Linux. You don't need to separate the parameters either. the one with the magic markers. 'ls -l -t' and 'ls -lt' are the same thing. It's probably some jokes or his favorite chili recipe.extension. It's attached to an e-mail message and it says 'stuff'. If you have any that end in *. as you know. you'll know what the file is about. MS-DOS got us all used to the idea that a file had to have an extension (file. so once you get used to the colors. Let's say your friend Tony. If you want those to be first. There are a couple of parameters in capitals that you may want to use. programs end in '. sends you a file he says is really neat.

You can scroll back up to see the whole text if you want. You'll have the original 'stuff' in your home directory and then the copy in /home/[your name]/tonyd/. or for making a duplicate of one file under a different name. If you don't want that. you may want to create a directory to keep Tony's files You could make the directory for Tony tonyd (Tony's last name is Dweebweiler) mkdir tonyd then you can do: cp stuff tonyd Remember use your TAB key to save time. We'll talk about that didn't move it there. If you use the command ls -l stuff on both files. type 'less stuff' to see Tony's jokes again Again. press the 'q' key to stop viewing the file The 'cp' command To show you how to copy files with Linux We talked about 'cp' in the lesson on aliases. You can't do that with 'more'. Let's go back to Tony's 'stuff' file For example. You'll be able to tell the difference between the two files because the copy of 'stuff' in the directory 'tonyd' will show a different time. Now you're going to have TWO files named 'stuff' because you copied that file to the directory 'tonyd/' . That's the mv command. Press the 'q' key to stop viewing the file It's useful for this. there's a better way of doing it so that 'stuff' is only in the directory 'tonyd'. 'less' is more than 'more'. 'cp' is for copying files from one place to another. if you get my meaning.You would type 'more stuff' to see the jokes. We'll talk more about 'more' in this lesson when we use it in combination with other commands 'less' is better for viewing files. /home/[your name]. you'll see this. but not really ideal. . if you saved Tony's e-mail attachment to your main /home directory. If you had used the command cp -p instead of just cp you would end up with two identical files in two different places.

You can also copy entire directories to another place.. . You may be working as 'fred' and your directory 'tonyd' is in the directory /home/bob. The other use of 'cp' we talked about was to get a copy of a file with a different name. As I mentioned in a previous lesson. Now let's talk about two more basic uses of the cp command and some short cuts. Now we'll look at the command 'mv'.More uses of the 'cp' command To show you how to copy directories and create duplicates of files." Always remember to use that TAB key and the up and down arrows to save yourself some time. you may want to work as two different users for two different jobs. Tony's file 'stuff' is loaded with jokes. you can use the command: cp -r /home/bob/tonyd/ /home/fred/ If you're in your home directory you can use this command cp -r /home/bob/tonyd/ . For example.. where you work as 'bob' As 'fred'. You can open it in 'pico' and start writing: "Why did the chicken cross the road./ to copy the directory 'tonyd' to your home directory. You may also use the command cp -r /home/bob/tonyd/ ~ with the tilde wherever you happen to be and that will automatically copy the directory 'tonyd' to your other home directory. You may want to add some more jokes and then pass it along to another person You could do this: cp stuff stuff2 or choose a name that's meaningful for you other than 'stuff2' Now you have another file that you can add jokes to while you preserve the original file.

Moving files with the 'mv' command Now you can use the 'mv' command to move Tony's jokes into the directory you made to keep his files. 'stuff' again. It would be to your advantage to use '_' between words though. (if you have another friend named Tom and you like to cook) You can also move entire directories with this command. I would suggest doing something like this: mv stuff tonys_jokes You may have noticed the underscore '_' in the title. mv tonys_jokes tonyd/ If you do cd tonyd and then ls to* you will see his file there along with 'toms_jokes' and 'tomato_soup_recipe'. Just imagine: "The number one bestselling book this week is 'Book' by John Author. You should probably re-name this file to something meaningful. You do not have to use the '-r' option as you did with 'cp'. not as long as 'makemeadirectoryplease' and not too cryptic like 'xr77b'. It's there because Linux doesn't really like spaces in the file names. the people who wrote these programs tried to give them names that described what they do more or less. As you have noticed. 'stuff' is not a good name for a file just as 'book' isn't a good name for a book. The 'mkdir' command 'mkdir' is the command for making directories. 'mv' sort of has a split-personality because it serves these two functions at the same time. Spaces are sort of 'faux pas' in Linux but not 'verboten'. You can do it and Linux will accept it but it will put a \\ between the different words. . 'mkdir' may be familiar to MS-DOS users out there. 'mv' command for renaming files Let's go back yet again to Tony's file. What? You don't have the directory 'my_friends'? Well. let's create it with another command. You would just substitute the file name for a directory name mv tonyd/ my_friends/ would move the directory 'tonyd' to the directory 'my_friends'.The 'mv' command 'mv' is a command that we're going to use to move files around or to rename them.

oblivion. you would type: mkdir my_friends There are no whistles or buzzers.Using the 'mkdir' command To create the directory 'my_friends' that we talked about in the last lesson. The 'rm' command 'rm' is for removing or deleting files. If you created a file called 'bad_jokes' and you wanted to get rid of the file. If you copied or moved anything to 'my_friends' and you typed rmdir my_friends/ Linux would politely tell you that you can't do that.bashrc' file: alias rm='rm -i' so that it asks you if that's what you really want to do. The correct use of 'rm' So you have to be careful with 'rm'. bye-bye. it will ask you. sending them into non-existence. next we'll deal with the 'rm' command. That's why we put an entry into our '. That means. If you'd like some sort of acknowledgment. The 'rmdir' command 'rmdir' is the opposite of 'mkdir'. It should be pointed out that in order to use it. and because you made an alias. you have to use your 'rm' command on the files first to remove them or use 'mv' to get them into another directory. Now you know how to use 'mkdir'. you would type rm bad_jokes. If you type ls -l You'll see it there along with information about it. the directory has to be empty. you could type mkdir --verbose my_friends and it will tell you that you created the directory. rm: remove `bad_jokes'?: .it gets rid of directories. So. Then you're free to use 'rmdir' So. You can even use it to create a directory called 'my_enemies' if you're into that sort of thing.

This is the first time that we're going to see a command that's meant to be used with other commands. it's just a little witticism of mine because the command we're going to learn in this lesson is called 'pipe'.Lesson 7 Plumbing with "pipes" in Linux In this lesson. It just goes ahead and deletes the files in question. another one 'note_to_myself1~' Then I decide that I don't want all of those ~ files littering up my directory and I innocently type: 'rm note_to_myself*' and then 'y' 'y' 'y' and then I realize too late and my brain types: 'Y did you do that!!' The problem is that 'note_to_myself2' contained my important plans for taking over the world and 'note_to_myself3' contained a note about how much money I owe at the dry cleaners. one on top of the other. if you were in a directory and typed 'rm * -f' you would delete everything. I generally use the '-f' option very sparingly. Actually. when I've used the text editor 'joe' a lot I end up with a lot of files that end in a tilde (~). no questions asked. Let's try some plumbing..some words of caution You can also do stuff like rm b* with the asterisk.. You press the '|' key. That means that the pipe will separate two commands so that they will be done one after the other. You could do some very serious system damage if you delete the wrong files. so if you accidentally type 'w'. actually. like when Valentine's day falls on Friday during leap year and coincides with a full moon. but I would use my best judgment with that. Use the configuration tools provided in your version of Linux to un-install programs that you don't want. Linux is so flexible that it even allows you to do plumbing with it. you don't type: pipe. This symbol is like two vertical slashes.You would press the the 'y' key unless of course you remembered that you have a real good one in there and then you would answer: with the 'n' key. 'rm' . but my dry cleaner's not going to give me my suits the next time unless I pay him. Also. The location will vary on keyboards from country to country. Getting Started with Linux . any key other than 'y' is the same as responding with the 'n' key. Well. we're going to do a little plumbing. don't worry. and plumbers work with pipes. it will override the '-i' option and won't ask you anything. For example. That's adding the '-f' option on the end. Plumbing with a computer? Well.. To use the pipe command. Maybe taking over the world can wait. Occasionally. You get files like 'note_to_myself1' and if you've modified it. I have done that before. . Wait until you have some experience before you start removing files 'by hand' as 'root'. If you do this. You may get 'y-itis' and just keep pressing the 'y' key. There's another case of 'rm' that's potentially more dangerous than the 'rm *' case. please be very careful when you're using the 'rm' command as 'root'.

Remember that in a previous lesson we said: "Less is more than more". The manual is a file that shows you how to use the command and list the different options for the command in question. if you looked at the contents of your /proc directory with: ls -l /proc it would be too big to fit in one screen. You're probably going to end up using this a lot. You're personal directory in /home will fill up and pretty soon 'ls -l' will overflow in your terminal or x-terminal window. 'man' . Getting Started with Linux . This command will show the manual for a command or program. You can also scroll up and down in a terminal with the SHIFT-PAGE UP / SHIFT-PAGE DOWN keys. They make your work a little easier and give you added information about your system.Lesson 8 How to get more information with Linux Now we'll talk about some other commands that you will probably need in your day to day work with Linux. if you type man mkdir The manual file for 'mkdir' will come up and give you a detailed explanation of this command. There's a little short cut if you've forgotten to use the pipe.For example.manual pages in Linux The first command is 'man'. Actually. So if we typed ls -l /proc | more you could scroll down with the ENTER key and see it all. You would type: man [the command] For example. . ls -l /proc | less is a better solution because you can scroll up and down with the arrow keys.

Some versions of Linux that are made for languages other than English will give you this documentation in its particular language.change settings of an xterm These are all man pages related to xterm.Managing documention in Linux The manual file for 'mkdir' is actually one of the more straight-forward ones. The 'info' files are not always installed automatically. you'll get a nutshell version of the 'cp' command. There is a command that will show you all of the man page that may shed some light on a certain command. There are also websites that specialize in . xtermset (1) . That is the behavior selected by --sparse=auto. if I typed: apropos xterm I would get something like this: resize (1x) . The 'info' format Typing info [command name] will get you more information on a command and is more current than most man files and perhaps a little more readable. For example. it'll be a little easier to manage.terminal emulator for X terms (5) . If you use your pipe cp --help | less. Apropos The word 'apropos' means pertinent to something else.database of blessed terminals for xtermset. You would then just choose one of these and type man terms for example. For example. sparse SOURCE files are detected by a crude heuristic and the corresponding DEST file is made sparse as well. this appears in the 'man' file for 'cp' By default. but I'm going to call my lawyer. There are a lot that I think we're written by Harry Bigbrains and they were meant to be seen only by Richard Biggerbrain who's sitting in the cubicle next to him. If you use the command cp --help. Specify --sparse=always to create a sparse DEST file whenever the SOURCE file contains a long enough sequence of zero bytes. I've been assaulted by "a crude heuristic". In fact. I don't know about you. some 'man' files will actually tell you to consult the 'info' file. so you may want to consult your own version of Linux about these files. Use --sparse=never to inhibit creation of sparse files.set TERMCAP and terminal settings to current xterm window size xterm (1x) .

Of course. but most of us are going to have to find things now and then. The two asterisks make sure it does that. It's very useful because it has a lot of options and you can use them to modify your searches. You should quickly finish the report.Lesson 9 Other interesting and useful commands The command 'touch' Now we're going to talk about a touchy subject. The first four digits stand for May 7 (0507) and the last four (0915) the time. .txt and it makes it look like you did it at 9:15. 'touch' can be used also to create an empty file.documentation in other languages. Perhaps the smart lad who won the spelling bee by spelling 'prestidigitator' might be able to. If you use a windows manager like KDE. it will go through every directory and find every file that has the name 'hawaii' in it. Getting Started with Linux . if you punched in at 9:40. 9:15 in the morning. just type in: find -name *hawaii* and find out where you put you pictures of you Hawaiian vacation. You don't want to have it look like you did it in February. Finding things with the command 'find' There's so much on a computer's hard drive. You can use your favorite Internet search engine to find Linux documentation in your own language. There may be times in the future when you need an empty file that will be filled up later automatically by the workings of some program. then type: touch -t 05070915 my_report. How to use the 'find' command But if you're getting used to using command line stuff. You would just enter touch [a file name]. We'll deal with the uses of 'touch' in our later courses. The command 'touch' which is used to change the time and/or date of a file. Make sure your digits match your story. nobody could ever know from memory where everything is. then you're in trouble. If you're in your /home directory. you can use the find tool. If they started with 'hawaii' you wouldn't need the first asterisk but you can leave it there if you want. You can use 'touch' if your boss yells at you about not having a report ready at lunchtime.

so let's do it. you may want to find some file that you were working on. The best way is learning by doing. Your windows manager may have this incorporated into its find tool but then again. For example. but it sort of looks like it. Mr. for example: find -mmin +0 -mmin -120 | less will find things that you created or modified up to 2 hours ago and the '| less' part will make it easier to read. The 'grep' command In the last section we talked about the 'find' command which finds files. What does 'grep' mean? 'grep' is a Vulcan word that means "find". create a file called 'mary1. Captain." Spock: "Grepping now. Now we'll talk about the 'grep' command which finds words in files. Spock. the beauty of Linux is having alternatives. you could type. find -mmin +0 -mmin -10 This will list the files that you created or modified within the last ten minutes.txt' pico mary1. .You may have created some file recently. A 'grep' mini-tutorial With 'pico' or any Linux text editor. let's say from now up to 10 minutes ago. Actually it isn't. doesn't it? Kirk: "Find the solar system L10J. If you choose to use a higher number for -mmin -? you should probably use a pipe.txt and enter the text Mary had a little cow. Then create: mary2.txt Then type: Mary had a little lamb Press CTRL-X in 'pico' (if you're using that) and it will prompt you to save." * * Star Trek stuff copyright Paramount Pictures Let's have a little practice session with 'grep'.

if you logged in as 'root' but are working as 'bob'.txt Let's explain this a little. Typing grep drink mary*. It's been a pleasure 'grepping' with you! Power user commands Here is a brief overview of some other commands that you may find interesting at some point as you use Linux. so you'll get this output.txt Mary had a little too much to drink The word 'Mary' is in all of those files. OK. You've created three files that start with 'mary'. Now we know what Mary was doing when she wasn't watching her lambs! Now save that file. For example.txt.txt will show up instead of mary2. Well. If you type grep little mary*. you may be working as more than one person. But if you type the word "cow".txt: Mary had a little cow because the word "cow" is only in mary2. only that mary3. Type the following command: grep Mary mary*.Save that and create the file: mary3. so the asterisk makes sure that 'grep' will look for the word 'Mary' in all three. Linux is a multi-user system. you'll get this output: mary2. Even if you're using one computer at your home. You may see something like this: . 'who' 'who' is a command to find out who's working on your system. now we're ready to try out 'grep'. They will help you to get all of the power out of Linux. so phasers on stun and let's go.txt will get us more or less the same.txt.txt Mary had a little cow mary3. there's 'grep' in a nutshell.txt".txt and type: Mary had a little too much to drink.txt Mary had a little lamb mary2. As you now know.txt you'll get the same output because the word "little" is also in each of those files. 'grep' looks for the word "Mary" in any text file that is called "mary(something). You should get this output: mary1.

you may want to put a date on the file. You can use this command: date | tee -a directory_listing The command 'date' will enter the date and time in the file at the end.root tty1 May 20 09:48 bob tty2 May 20 10:05 This is just Linux's way of saying that 'root' started working on terminal 1 on May 20 at 9:48 in the morning and bob started working on terminal 2 at 10:05. zip cartridge or whatever you used to make the backups. You may use it to find out if you've opened more that one terminal so that you remember to log out. I think I'm going to resist the temptation to make some sort of golf reference here in the lesson on the command 'tee'. 'tee' is used to write out what appears on your screen into a file. You don't need the pipe command (|) with this one. It can be used by your boss to find out that you've come in late too. Remember to use the -a option if you're going to write to that file a second time. You will be using this with the after a pipe '|' . If you've placed files in a directory to be backed up. ls -l > directory_listing will give you the same result. You could print out the file on a label and stick it to the disk. You might do this: ls -l | tee directory_listing to get a file with the listing of a directory. tape. This is mainly used in networked situations so the system administrator knows who's working. If you don't you will erase everything on the file in favor of whatever the second command was. you could use this command to create a listing of that directory. I mentioned plumbing with Linux. The '>' command The "greater than" symbol '>' will do the same as 'tee'.Lesson 10 'tee'. Getting Started with Linux . use the command: date >> directory_listing . '2>' In the lesson on the pipe command. If you want to add the date at the end. If you're using the 'tee' command for the backups I described before. '>'.

You will probably not be using it a lot because we all know how perfect Linux is and how few errors there are when you're using it. You could show it to someone who might know what's missing or you could send it to the author of the program. You amnesia victims are in luck! Actually it tells you who you are in terms of how Linux understands who you are. basically telling you that Linux has no idea what orange juice is . You would simply type: whatis grep for example. is used for creating a file for an error message that you may get.print lines matching a pattern Linux is good. so if you type: whatis orange juice You will get this message: orange: nothing appropriate. If you explore your Linux system. 'whoami' whoami is a nice little program that tells you who you are.with two "greater than" symbols (>>) The two symbols will add to the file without erasing its contents The '2>' command This command. juice: nothing appropriate. He or she would also like to know about it and will probably help you fix it.whoops! . but it's not all-knowing. So if your user name is bob and you type whoami you'll get: bob This comes in handy if you switch terminals a lot and work as a different user. the number two (2) with the "greater than" symbol >. just in case you didn't know already. and you would get this: grep (1) . that is to say. You could just do something like this: [program X that doesn't work] 2> program_X_error You create a file with the error message. You may not have something installed that the program needs to run. your user name.there's some error. But every once and a while you may want to download some software from the Internet You install it and . you will find a lot of programs and you may not know what they do. You may. in terms of computer use anyway. forget who you are! 'whatis' To show you how to use the 'whatis' command 'whatis' is a command so you can find out what a program does.

For example. a program may not find another program it needs to make it run. for example. you would type: whereis pico and you may get this: pico: /usr/bin/pico /usr/man/man1/pico. At times. You would simply type: which java and Linux will inform you of its location /usr/lib/java/bin/java This is a handy command because some locations of programs vary from one version of Linux to the next. so if you type whereis Harry Linux is just going to say Harry: 'which' To show you another tool for locating programs 'which' is similar to 'whereis'. from a different location.gz It shows you where the command is as well as the location of its manual file. a program may need Java to run it but thinks its in another place. It will give you the location of a program. you can type: whereis [program name] and find out. As Open Source software will always let you modify configuration files to get your program working according to your needs. If you want to know whether or not you have it.'whereis' whereis is a nice command for finding other commands or programs. . A software developer may have designed his/her program to access Java. you can get the program to work for your system. that program may need other programs in order to work. If you decide to download any program from the internet.1. It will need to know its location or "path". For example if you type echo hello Linux will display the word 'hello' . If you wanted to find out if you have the 'pico' editor and where it is. 'echo' To show you some uses of the 'echo' command 'echo' is a little command that repeats anything you type. whereis isn't designed to find people.

Just remember to read your note. you've got a poor-man's post-it-note.note to make yourself a reminder for the other reminder note. words and letters (characters) in a file and in that order. Actually. this command will give you the number of lines. Shell scripts will be taken up in a later course.There is really no need to do that under normal conditions.note As you can see. Unfortunately. Use less bill_gates. there are 439 lines. so that means if each line represents one person. There is a practical use for 'echo' in everyday life. then I owe 439 people money. Let's go back to the file about the people I owe money. If we use 'echo' along with 'pipe' (|) and 'tee'. Getting Started with Linux . For example: echo remember to tell Bill Gates he owes me 5 bucks | tee -a bill_gates. There are 6510 words and a total of 197120 characters. You could use 'echo' in those scripts to tell you what the script is doing at any given time. You may find 'echo' useful in the future if you start writing "shell scripts" which are like little programs that you could use to do a few commands at one time. I might add that this is a good tool for people who write letters professionally and get paid by the word.note or less remember_gates.note Will make you a nice reminder note about dear 'ole Bill. I sometimes use it to write short notes. or to prompt you to do something.Lesson 11 Miscellaneous commands . like enter text. If I type: wc people_I_owe_money. You could type: echo remember to open Gates note | tee -a remember_gates.note I will get this output: 439 6510 197120 wc people_I_owe. if you type this in your terminal it will not show you the way to the 'facilities'.note to read your notes 'wc' People following this course from Europe may recognize this as the symbol for 'bathroom'.

dir=ls -l. For example. if you type pwd you may get something like this: /home/bob/homework which shows you that you're in the directory 'homework' in your user directory as 'bob'. I once ran into a case where the remote computer didn't recognize the ls -l command. you're out of luck. Actually. To see just the date. type: date +%T . you will recogize the 'CEST' part. If you do any downloading or uploading of files via FTP by way of a non-GUI FTP program in your terminal. It will give you the same result. you may find this command useful. unfortunately. That stands for 'Central European Standard Time'. If you're living in central Europe. Then I fired off a nasty e-mail asking why in the world they weren't using Linux! 'pwd' The command pwd will show complete information on the directory you're working in. If you get the same thing as I do. There are other uses of the 'date' command. then I'd consider buying lottery tickets) Thu Sep 7 20:34:13 CEST 2000 You probably get everything here. If you live on Mars. Linux recognizes world time zones and you set this up when you installed Linux. 'date' Did you forget your wedding aniversary? Your boyfriend or girlfriend's birthday? Tax day? (everyone wants to forget that one!) No need for that to happen anymore with Linux.These might come in handy from time to time 'dir' The people who traveled down the MS-DOS road will know this one. type: date +%D To see just the time. actually. Just type: date You'll get this: (or something like it. so you know exactly where you are. I just typed in dir and that did the trick.

If you're working in text mode.To see on what day Christmas falls this year (really. 'exit' As you can guess. Getting Started with Linux .Lesson 12 Becoming a super user . Just for fun. There are many other options. Substitute any year or month you like. type: date --date 'Dec 25' and you'll get the day that Christmas falls on this year. If you want to work as another user. That was good luck for him because that way he got to relax for the weekend. you can get out of a terminal with the exit command. typing exit will prompt you to login again. If you type: cal 2000 You'll get the entire calendar for the year 2000. I'm not kidding!). Consult your manual file ('man date') or ('info date') 'cal' Typing cal will give you the calendar of the present month on your screen. the week will start on Monday. Substitute that for any date that you'd like to see. If you type: cal 12 2000 You'll see the calender for December of 2000. I typed cal 10 1492 and I found out that Columbus discovered America on a Friday. as it is preferred in many countries. Substitute any year you like. exit will close the X-Terminal you're working with exit with the option "stage right" will get you an error message. in the nice standard calendar format. use logout instead. If you're in x-windows. There are a lot of useful options. If you add the option cal -m.

it's time to get down to your local computer shop and buy a new hard disk. there are many programs that run graphically that will inform you of the space available on your Linux partition. But this is a very good. 'df' is a good way to keep track of this.20:05 (3:10) bob tty1 Thu Oct 5 still logged in (3:10) root tty1 Thu Oct 5 16:23 . (This is actually taken from a system I use for testing versions of Linux. If you type: last You may get something like this: fred tty6 Thu Oct 5 16:55 . by the way. quick. You are still working as 'bob'.) Filesystem 1024-blocks Used Available Capacity Mounted on /dev/hda2 481083 408062 48174 89% / if you start seeing a 'df' output like this. non-graphic way to keep track of your hard disk space. For example. His address. you could fire off a nasty e-mail to him about mis-use of your server. you worked as 'fred' for 3 hours and 10 mins. Anyway.The following commands are frequently used by systems administrators to keep an eye on what's going on with their systems 'last' The command last will show you the people who have logged into the computer today and the terminals they are/were using. is "thedevil@hell. You worked as 'root' for 20 minutes (probably some administration tasks) and you booted your computer at 4:22 PM. You'll see it's somewhat pressed for space. This is a good way to see who's been using the computer if it's networked. if you saw a an entry for 'satan' and you hadn't given the Prince of Darkness permission to" 'df' 'df' is a command that you're going to use a lot if you're pressed for hard disk space.16:43 (0:20) reboot system boot Thu Oct 5 16:22 As you can see. If you type df You may get something like this. Once again. .

On the other hand look at the output for 'people_who_owe_me_money.note As you can see. It's probably best to use the option du -b (-b for bytes) and it will give you the exact figure in bytes. it's a big file. You could exit that program and then type free again to see if it was the culprit. 'du' shows the closest kilobyte figure.note But instead. you may find out that your memory usage is high using this command. Linux's memory management is quite good but a certain program may be "hogging" memory.note .'free' 'free' is a command that you can use if you want to know how much RAM memory you have free on your system.note I may get an output like this: 194 people_I_owe_money.note': 1 people_who_owe_me_money. if a program is running particulary slowly. I owe a lot of people money. By default. You can use it on a directory or on a particular file. 'du' 'du' is the way to see how big files are.note I'll get: 197120 people_I_owe_money. By typing: free and you will get something like this total used free shared buffers cached Mem: 14452 13904 548 28208 492 7312 -/+ buffers/cache: 6100 8352 Swap: 33260 1556 31704 Sometimes. Let's look at a couple of examples: If I type: du people_I_owe_money. if I type: du -b people_I_owe_money. This is another command I use a lot.

13 0.5 1. whichever you prefer top To show you the use of the 'top' command.7% system 0.6 0:00 inetd 258 root 0 0 580 548 428 S 0 0.4% idle Mem: 62972K av 50420K used 12552K free 22672K shrd 5312K buff Swap: 1020116K av 3152K used 1016964K free 27536K cached PID USER PRI NI SIZE RSS SHARE STAT LIB %CPU %MEM TIME COMMAND 332 root 12 0 4492 4184 1480 R 0 8.8 0:00 syslogd 161 root 0 0 692 688 296 S 0 0.2 0:02 init 2 root 0 0 0 0 0 SW 0 0.0 0.ugidd 157 root 0 0 512 508 412 S 0 0.12 0. Just typing ps will give you the processes you're running as a user.7 19. and it will list the files and subdirectories and give you the byte or kilobyte count.1 1.0 0.0 1. 'top' is designed to show you how your CPU is being used. Here you will see what processes are running 'top' is a good command to use when you want to see what your system's doing. that's not the kilobyte figure.1% user 0.0 0:00 kpiod 4 root 0 0 0 0 0 SW 0 0. It will give you a pretty complete list of everything that's going on in your computer.0 0. It may look like this: .0 0.5 0:00 FvwmButtons 1 root 0 0 168 168 144 S 0 0.0 0. That's the byte figure! You can also use this on a directory.0 0.0 0:00 kswapd 5 root 0 0 0 0 0 SW 0 0.2 0:00 top 345 bob 0 0 972 972 704 S 0 0.0 0.0 0.0 0. Here's a sample output of the 'top' command: 9:09am up 4 min 2 users load average: 0.0% nice 88.0 0.06 34 processes: 31 sleeping 3 running 0 zombie 0 stopped CPU states: 11.0 0:00 kflushd 3 root 0 0 0 0 0 SW 0 0.6 0:09 X 350 bob 4 0 13144 11M 7728 S 0 2.1 0:00 update 137 bin 0 0 300 296 228 S 0 0.No.0 0:00 md_thread 48 root 0 0 136 120 96 S 0 0.4 0:00 portmap 141 root 0 0 292 264 212 S 0 0.0 0.4 0:00 rpc.8 0:00 lpd Getting Started with Linux .4 0:00 atd 225 root 0 0 424 416 348 S 0 0.0 0.Lesson 13 Commands to control your system ps 'ps' will give you a list of the processes running on your system.3 0:04 netscape 386 bob 1 0 768 768 596 R 0 0.3 6.0 0:00 klogd 212 at 0 0 304 276 220 S 0 0.

The information that you'll probably be most interested in is the column that shows the "process ID" or "PID".xinitrc-- 1449 2 S 0:01 /usr/X11R6/bin/fvwm2 1459 2 S 0:00 /usr/X11R6/lib/X11/fvwm2/FvwmButtons7 4 . There will be other columns about memory usage. It implies 'death'. you can terminate a program. you can type ps -u. In other words.fvwm2rc 0 8 0 0 & 1464 2 S 1:27 /opt/netscape/netscape 1472 2 S 0:00 (dns helper) 1730 2 S 0:00 xterm -FONT 8x13 -backgroundWheat -T xterm-1 1731 p1 S 0:00 bash 1760 2 S 0:01 emacs 1781 p1 R 0:00 ps If you happen to forget what your name is. This is the user mode and your user name will appear in the first column. If you're not using a networked computer. you will see yours and root's processes.PID TTY STAT TIME COMMAND 293 2 S 0:00 -bash 1436 2 S 0:00 sh /usr/X11R6/bin/startx 1437 2 S 0:00 tee /home/bob/. you would type ps and you would get this output that we talked about before. We'll get into why these are so important in the next part of the lesson. you kill the program. with the command 'kill' plus a PID.X.err .err 1445 2 S 0:00 xinit /home/bob/. Actually. Well. You can see other users processes if you type ps -au.X. In the last part of this lesson we talked about process IDs or "PIDs". To do this.fvwm2rc 0 8 1461 2 S 0:00 xclock -digital -FONT10x20 -geometry +520+550 1462 2 S 0:00 /usr/X11R6/lib/X11/fvwm2/FvwmPager9 4 . you can type just ps -a and try to guess who's using the process. If the 'exit' button doesn't work. first. PID TTY STAT TIME COMMAND 293 2 S 0:00 -bash 422 2 S 0:00 sh /usr/X11R6/bin/startx 437 2 S 0:00 tee /home/bob/. You will probably only use this with troublesome processes. there's more than that. If you're into detective work. you can 'kill' it. programs that may not let you exit regularly. 'kill' "kill" is a very explicit word. A good example of this is when you try a new program that hasn't got all the bugs worked out of it yet. the time you started running the processes and others.

If you have done something like this by mistake. (Kind of an absurd thing to do. The game is called "Evil and Nasty Alien Visitors". there's no need to use the 'kill' command. You would just type: kill and the PID number. 441. Here's a little trick. it's a good idea to run ps -au and look closely at your PIDs. (the last one on my 'ps' example) It's a beta (i.e . Another way to kill a process. That is to say. the way data is stored and managed in Linux. File systems in Linux This is a beginner's course and one of the concepts that newcomers to Linux find different is the idea of a file system in Linux.check it out and tell the author what bugs are still in it) version and the game starts giving you problems. That is: kill 441 and the program disappears. in my example. you can just type: killall evilaliens and that should also do the trick. 'ps' and 'kill' and you know the name of the "binary" or program itself. you can use the keys CTR+ C to stop the 'find' process. You're playing in your x-windows enviroment and you have an x-terminal open (probably the one you typed 'ps' into). When you use 'kill' as root. Linux users that use KDE or . In these cases. You have license to 'kill' the process you desire. Try typing this: find *. The aliens just took over Oklahoma and you swore you got them all. you are the 007 on Her Majesty's Linux Service.xinitrc -- 441 2 S 0:01 /usr/X11R6/bin/evilaliens Let's say you're trying a new game that was just ported to Linux. Now you can't exit the program either. but good as an example) It will just start finding everything. The name of the "binary" or program itself is called evilaliens. You don't want to end up killing some process that you need. you are the all-powerful master of the universe.438 2 S 0:00 xinit /home/bob/. MS-Windows and Mac users are used to clicking on an icons and dragging the files they want copied to a floppy or another part of the hard drive. If you don't want to do two steps. If you're working as 'root' and you need to use the 'kill' command. along with all those nasty aliens. Using 'kill' as root Remember that when you work as root. (or at least the computer). as I mentioned before.

Formatting a floppy for Linux Most floppies sold on the market are pre-formatted for MS-Windows.GNOME can also copy files in that way to different parts of the hard drive. You would also have to indicate as an option in that command that the file system you want to access or "mount" is a Windows 'vfat' file system. If that person is a Windows user. then you would have to indicate once again that the file system is 'vfat'. we should talk here a bit about the type of file system Linux uses. MS-Windows. If you want to copy Linux files to a floppy to be used in another Linux machine or to be used by you later in Linux. On the same idea. you can use commands such as 'su' to do the work of root on certain occasions when you're not actually working as root. you might have to access files in the Windows partition of your hard drive. including your floppy drive. your floppy drive. We'll explain this command in later lessons. At one point. then it might be better to format the floppy for Linux's ext2 file system. You will hear the customary noise of the floppy drive (some are louder than others - some older ones that I've heard sound like a chain saw) and you will get some output like this: Linux ext2 filesystem format . You have to be working as 'root' to be doing this. if you would like to use floppies. You would also have to use the command 'mount' before you copied data to or got data from a floppy disk. However. from Windows 95 on up uses a file system called 'vfat' Linux uses a different system called 'ext2'. you would place a floppy in the drive and type: mke2fs /dev/fd0 The command is an abbreviated way of saying "make an ext2 file system". As you get more familiar with Linux. To create a linux floppy "by hand". everything is a file in Linux. You can copy data from Linux to a Windows formatted floppy with no problem. There are also other types of file systems out there. As we mentioned in the first part of the course. you may want to store some files on a floppy or access data on a floppy that someone has given to you. We should also say now that this is considered an administration task. The other part is the device. you would have to format and then "mount" the floppy as a Linux 'ext2' file system. which is known to Linux as "fd0" (floppy drive 0). You may have chosen to have both Windows and Linux installed in your computer. though floppies are becoming somewhat obsolete. You would use a command called 'mount' to do that. If you want to copy data from your Linux partition to a floppy.

for example. a CD-ROM drive and another partition of your hard disk (the Windows partition. telling Linux that it is a file to be written to or copied from. If you want to mount a Windows floppy. the floppy type (indicated by the option -t) is a Linux formatted floppy. you have a directory called floppy. You now have a Linux formatted floppy. Mounting file systems In this part of the lesson about file systems we'll learn how to use the commands mount and umount We've mentioned previously that there's a different idea in Linux as to what constitutes a floppy disk drive. Though some windows managers for Linux have provisions for clicking on an icon to access a floppy drive. When we typed: mount -t ext2 /dev/fd0 /floppy we told Linux that our floppy disk is now part of our Linux file system (/dev/fd0) and that any files we would like to store on that disk will be copied to /floppy. If you don't. we would use the command mount and type the following: (remember: you need to be working as 'root' to do this) mount -t ext2 /dev/fd0 /floppy Now this assumes a couple of things: • you have a floppy disk in the drive (you'd be surprised how many times I forget to actually put the floppy in the drive) • in this example. incorporating it temporarily into your Linux file system or. Some don't. That means basically.and some other information about the size of the floppy etc. in other words. the method behind this is quite different from other OSes. typing the command 'df' (the command to see how much free disk space) should include something like this: /dev/fd0 1390 649 669 49% /floppy . Let's explain what we've just done here. To access a floppy disk from the command line of our shell. you should create it (mkdir floppy). If you did it right. Some Linux distributions create this automatically during the installation process. for example). You may want to run this command to check if the floppy has defects e2fsck /dev/fd0 Some windows managers have a nice program to do both the formatting and the checking of the disk at the same time. as if it were just another directory on our Linux system. change the option to -t vfat • in your root directory (you can get to it by typing: cd /). In Linux the floppy drive or other device must be "mounted".

Your numbers may vary (especially if your floppy is blank!) Now. the standard command to do this is: mount -t iso9660 /dev/hdb /cdrom The type. you would type: cp my_file /floppy If you wanted to create individual subdirectories on the floppy. you would first change to the /floppy directory: cd /floppy Then you would use the mkdir command to create the directories you want. Mounting another partition of the hard disk. If you would like to get some files from a CD-ROM. I use the different empty directories (/floppy /cdrom /mnt) to avoid confusion. A message will tell you that when you mount this type of device. You can also use the command cp -r my_directory/ /floppy to copy the directory automatically to the floppy. If you would like to access files on the Windows partition you would type the following command: mount -t vfat /dev/hda1 /mnt Windows is always in the primary partition. to copy to and from the floppy disk. The device (/dev/hdb) is the non- SCSI type of CD-ROM and the mount point (/cdrom) should exist. You won't be able to write to this type of CD-ROM drive. You may use the /mnt directory to mount the other devices (floppies. If it doesn't. (make sure you have space! . You may have Linux and Windows installed in the same computer. just as you may have done with the /floppy directory. The choice for /mnt is the standard mount point in this case. iso9660 is the standard file system for a CD. CDs) as well. so that's why we've used the device /hda1 (hard disk partition 1). Remember that the concept of CD-ROM is read only. .I have on occasion tried to copy a 3MB file to a 1MB floppy!) Mounting other devices You can also use the mount command to copy to and from other devices. you should create it in the root directory with 'mkdir'. Many people may have preferred to install Linux along with another operating system.

Now that we know how to mount these outside file systems in Linux.If you change to the mount directory (cd /mnt) and then type: ls and you'll see something interesting. without the N of un) Being u(n)familiar with the mount concept when I started with Linux. when you use umount or it will give you a drive busy message. I typed unmount instead of umount and much to my surprise. The command for this is: umount [/mount point] In the examples I used in this lesson. When you copy files from the Windows partition to the Linux partition you should bear this in mind.therefore umount /floppy • CD: /cdrom . I'd rather not take a chance. but for a more accurate accounting of what you have on your system. I just wanted to point out another thing too. I always take the time to unmount these external file systems when I'm finished with them. Everything looks like it's a program (binary) instead of a regular file.unmounting file system Mounting file systems that aren't part of the standard Linux system is considered a temporary condition in Linux.depending on your distribution of Linux). isn't good enough for me.umount /mnt Remember also to NOT be accessing the floppy etc. You won't have the various color combinations as you do in Linux. You are 'unmounting' but the command is umount (that is. you may have left a terminal open where you were using to copy or write to the particular drive. the important thing now is to learn how to unmount it when we're finished using it. if you wanted to copy an mp3 file from the Windows partition to the Linux partition to test out your sound configuration. the chances are pretty slim that you're going to trash a file system. That's because Windows' file system doesn't distinguish file types. Slim. Nowadays if you have mounted a system and you shut down the computer without unmounting. it would show up as a executable program and not just a standard file under Linux.umount /cdrom • Windows partition . the mount points were: • floppy: /floppy . We'll talk about file permissions and and making changes to them shortly. If you get this. however. you could do serious damage to your system if you didn't unmount manually after you were finished. For example. The directories are blue but the files are green (or red . Umount command . you may want to change the permissions of the file so that it shows up as a regular file in your color scheme. This doesn't effect your playing it. Check your terminals if you get this error. In the early days of Linux. I got .

(well.Lesson 14 File permissions in Linux Linux has inherited from UNIX the concept of ownerships and permissions for files. We will show you how to understand file permission symbols and how to modify certain files so that they're more secure. but I just thought it best to warn you.the fact that many different people can use the same computer or that one person can use the same computer to do different jobs.txt This basically says. We're going to explain some basic concepts about who owns the file and who can do what with a file. U(n)deniably. interpreting this from RIGHT to LEFT that the file. now you can use the standard devices that most PC users need. We won't get into an enormous amount of detail here. the big advantage that Linux has is its multi-user concept. Zip drives and matter/anti-matter flow inducers. For all I know. the people who use this computer). There are security and privacy issues here as well. it's important to know what belongs to me. We'll save that for the Linux system administration course. It belongs to bob in particular and it is one (1) file. I may be the only person who has.the message: command not found. That's where the system of file permissions comes in to help out in what could be a very confusing situation. Then come the file permission symbols. maybe we'll save that last one for the super-advanced classes!) Getting Started with Linux . you will get a list of files that may include something like this -rw-r--r-. to you and to everybody. (because Janet is Bill's fiancée) In the end. 1 bob users 1892 Jul 10 18:30 linux_course_notes. Obviously. files. etc. We don't want an ordinary user using a program that could potentially trash the whole system. there's a need to keep things organized and secure.e. Let's face it. This is basically because it was conceived as a networked system where different people would be using a variety of programs. It took me a while to figure out that the command didn't include an N. As we mentioned at the beginning of this course. CD writers.txt was created at 6:30 PM on July 10 and is 1892 bytes large. we don't want Bill to read Bob's love letters to the Janet who works in R & D.separate the permissions into three types . Later in our advanced class we'll talk about installing and using other devices like scanners. linux_course_notes. Well. Let's look at what these symbols mean: • The dashes . I had done something wrong. File permission symbols If you run the command ls -l in your home directory. I haven't really done a survey on how many people have actually done this. It belongs to the group users (i.

If you own it. As we can see here. An interesting place to look at different kinds of file permissions is the /bin directory. You. you can do what you want with it. • The program name. In a one home computer environment anyone who uses the computer can read this file but cannot write to (modify) it. • The file is an executable (program) so that's why the letter x is among the symbols. Here we have the commands that anybody can use on the Linux system. • The changes are in the owner and group. This is a completely normal situation. for example. • The second part of the these symbols after the second dash. Root owns the file and it is in the group "root". so there is no w permissions for it for anybody but root. so there is no need for anybody other than root to "write" to the file. bytes are all standard. That's pretty logical. a file compression utility for Linux. there are some differences. Root is actually the only member of that group. • The rw that follows means that bob can read and write to (modify) his own file. date. We'll cover how to do that later. There are no x permissions for the rest of the users. the owner of the file. the permissions would look like this: -rwxr--r-. -rwxr-xr-x 1 root root 53468 May 1 1999 gzip As we see here. would have a d instead of a dash. 1 root root 1065 Jan 14 1999 cron 'cron' is a program on Linux systems that allows programs to be run automatically at certain times and under certain conditions. A directory. • The dash . Anyone who might have access to the computer from inside or outside (in the case of a network) can read this file. If we look at a file in /sbin which are files that only root can use or execute. Even though this is obviously different information. the file is a program. the group (root) and all others that have access to the computer • As we mentioned. . is allowed to use this program. • The first part refers to the owner's (bob's) permissions. • This file can be executed by everybody: the owner (root). • After the two dashes (two here because there is no write permissions for the group) come the overall user permissions. Once again. the idea is the same as before. may want to take away the rights of others to read your file. Let's take a look at some other examples.before the rw means that this is a normal file that contains any type of data. as a user. Linux can establish different types of groups for file access. we can take away the possibility of people reading this file if we so choose. only root. are the permissions for the group. Let's look at the command for gzip.

We hope you enjoyed this little walk-through of file permissions in Linux. Now that we
know what we're looking for, we can talk about changing certain permissions.

'chmod' explained
chmod is the program that is used to change file permissions on a Linux system. As we
mentioned, others cannot modify your personal user files but you may not want other
people to even read these files. You can use this command to take away the possibility of
others prying into your private stuff.

The syntax (parts separated by brackets) for using this command is the following:

chmod [a/o/g/u] [+ or -] (plus or minus sign) [r/w/x]

Let's analyze the syntax:

• The symbols in the first brackets refer to the four concepts of users that Linux has.
o a=all, all users
o o=others, (other people)
o g=group, the members of your group
o u=user, (this means you)
• The symbol + adds permissions and the symbol - takes them away. As we say in
the Linux world chmod giveth, chmod taketh away
• Your actual rights to files - r=read rights, w=write rights (pardon the
homophonic redundancy!) and x=executable rights

Practical examples of chmod

As we mentioned before, you may want to restrict rights to read a file. You would simply

chmod og-r my_world_domination_plan.txt

Now nobody can read your plans to take over the world except you. Best to keep those
secret anyway.

We also talked earlier about those files that you may have copied from a Windows
partition or a floppy formatted for Windows. Even if they're not executable files, they'll
show up as such (-rwxr-xr-x). You can change them to their correct permissions, getting
rid of the executable status with:

chmod a-x the_file

Remember that if you copied them as 'root', you will have to use chmod as root to do this.
You could even go one step further and change the ownership of the file to the user you

desire. You may want to change root ownership to yourself (your user name). We'll go
into this in the next part of the lesson.

Using chmod with number values

The permissions in Linux also can also be changed with number values. An accomplished
Linux/Unix user will probably use this system more. When you're beginning with Linux,
the method we described before will probably be clearer to you. Without going into
tedious technical detail, we'll describe the chmod number system to you and look at two
of the most common examples.

As I said before, we have three sections to permissions; those of the owner of the file
followed by those of the group and then the permissions of others. So if you use numbers
with 'chmod', there will be three numbers following the command. One number
corresponds to each group. Here's an example of a chmod command with numbers:

chmod 644 grocery_list.txt

If you had used 'pico' to write up a grocery list for your trip to the supermarket today,
Linux would have given you 644 permission by default. That means, read and write
permissions for the owner but no write permissions for the group and for others. So the
number 6 means read and write permissions for you, the number 4 means read
permissions for the group and the last number, 4 means read permissions for others. Now
the question is: Why these numbers? Why not other numbers, like the number 8 or 12 or
even 1345? Let's explain this.

The three types of permissions correspond to three numbers. Read permission is given a
value of 4. Think of it as the most important permission. (if you can't read a file, then
what else can you do with it?) Write permission is given a value of 2. Execute permission
is given a value of 1. Here's what it would look like:

User (or the owner) Group Others
read-write-execute read-write-execute read-write-execute
4-2-1 4-2-1 4-2-1

It's really just a question of simple arithmetic. In our example of chmod 644
grocery_list.txt, we've added the 4 for read permission and to the 2 for write permission
for the owner to get 6. We've just given the group and others read permission, so there's
nothing to add in these two groups. Just give it a 4 in each case. Presto! 644.

Some practical examples with numbers

Let's take another look at my file that has my plans for dominating the world
(my_world_domination_plan.txt). I had taken away the read permissions for everybody
except myself using +/- letter method. (chmod og-r my_world_domination_plan.txt)

Now let's do the same with the numbers.

chmod 600 my_world_domination_plan.txt

As you can see I have read and write permissions for me (4 read + 2 write equals 6) and 0
permissions for everybody else. The Zero value means 7 (maximum permission value)
minus 4 minus 2 minus 1 equals 0.

Real world examples with 'chmod'

I'd like to talk about a real world practical example for doing this. There is a command
mode program called 'fetchmail' for getting your e-mail. It's a very good program if
you're using your computer as different users for various jobs. It will send mail to the
different users based on e-mail addresses. The different addresses are stored in a file that
you create called '.fetchmailrc' This file also includes the user name and password for
retrieving mail from each address. We've got a possible security hole here, particularly if
you're networked. This file shouldn't be read by everybody. When you create your
.fetchmailrc file, you must then use chmod 600/chmod og-r on the file to solve the
security issue. In fact, 'fetchmail' won't run if you don't. It will complain about the file's

Let's look at another "real world" example. As the internet becomes more popular,
websites need to be more user friendly and interactive. It's becoming more and more
common to use scripts to improve the quality of a website's offerings. If you used a
language like perl to write the scripts and you hosted your website with a company that
runs Linux on their servers (we would hope that you would do this!), you would probably
be given permission to use these scripts on your website. You would then have to give
the scripts read and execute permissions so that the your visitors could use them. After
you uploaded a script to your website, you would then issue this command:

chmod 755 my_awesome_script

and the script would become "executable" (and readable) for the outside world. (7 - 4
read, 2 write 1 executable for you, 4 read and 1 executable for group and others). You
could also use chmod og+rx my_awesome_script The script is then "converted" into a
"program" so to speak. You have also converted yourself into a "web developer" with the
right to hang your shingle on the door.

chmod is one of those commands that are used most by system administrators. In our
Linux system administration course, we'll go into this command in more detail. In this
lesson we've shown you just a few practical examples to get your feet wet with this very
important command.

Using 'chown'

txt • notes_2. Linux provides two key programs to do this: 'tar' and 'gzip' First we'll start with 'tar'. 'chown' is absolutely necessary if you're working as more than one user with the computer. there isn't a snowball's chance in hell to modify that file until. On a network.txt . computers aren't perfect. There are others that will create a generic group called users for everybody who uses the computer.The command chown is the chmod's cousin. This command. It is used for changing the ownership rights of a file (hence the name 'chown' . Let's say you have some files . 1 root root 2428 Nov 17 13:18 the_file As we now know from the previous lesson. root is the only one who has write permissions for the file (permission to modify its content). is probably going to be used when you're working as root. you run chown on the file. You mount the partition (as root) and to save time. So let's do it! chown bob:bob the_file This example presupposes that your Linux version creates groups for each user. write and execution permissions however. as root.change owner).Lesson 15 Backing up your files Let's face it. just type ls -l and see what system corresponds to you. groups are created according to the needs of the organization. This program assembles various files into one package. though available to every user.notes that you've taken during this course. root is the owner of the file. Linux is an "almost perfect" operating system. commonly called a "tarball". On your single home computer. If you plan on working with the file as "bob". If you type ls -l the_file you'll get something like this: -rw-r--r-. Therefore. The command is uses like this: chown owner:group the_file Let's say you want to copy something from your Windows partition (if you have one). you copy the file to your user directory /home/bob/. It does not change the read. The best way to avoid problems is to backup your files. You have: • notes_1.txt • notes_3. As you can see. Getting Started with Linux . but things do happen and data is sometimes lost.

txt First. You can also compress a regular file using the same command.tar.txt and you've placed them in a directory called /linux_course. you would issue the following command: gzip your_tar_file.txt for *. the compression of these files. Then you would enter in the directory. gzip is the preferred compression tool for Linux.tar notes*. This is the first step in the backup process. you have tar. but gzip is used primarily with tarballs.tar and the tar file would be compressed. If you've got good data storage capabilities (Jaz or Zip drives.should always be the last option) Then you have the name of the file you want to create ( linux_notes. To reduce the size of your tar file. c (--create) v (--verbose-show what files they are) (f--file -make a file .gz . tar -cvf linux_notes.txt). If you want to include ALL files in a directory. let's say. the name of the program. You would type the following command to package them in a tarball. • notes_4. This presupposes that you may have other files in the directory that you don't want to include. 'tar' just assembles the files together into only one file. you will include directories and files without extensions (my_file as opposed to my_file. a CD writer or a tape backup drive).tar * With one asterisk. You want to back them up and keep them on a floppy. just substitute notes*. Be prepared to get a fairly voluminous tarball. Using 'gzip' As we mentioned. The result would be a file like this: your_tar_file. There is no reduction in the size of these files (the tarball might even be bigger!) Now we would have to do one more thing in order to reduce this file into a more manageable size: use 'gzip'. Then you have the options.txt • notes_5.txt).tar) and the files you want to backup (notes*. Now let's look at the second step.*. let's say /home/bob/ and issue the command: tar -cvf bob_backup. you might want to back up whole directories along with their corresponding subdirectories.

tar.preserves dates. If you add z to the options.e tar tells you what files it's extracting) • -p . you have the whole shebang in one step. Just leave the z option out of the previous example and type: . then you should make a new tarball.tar.unzip the file first • -x .gz I've used my preferred options.extract the files from the tarball • -v . permissions of the original files • -f . The easiest way for doing this is to use 'tar' for the whole process.use the file in question (if you don't specify this. If you would like a copy of the old file. Our previous example would be modified to this: tar -czvf bob_backup. It's pretty standard backup practice. you'd overwrite the existing ones. You can also untar the file and then use gzip separately.The two file extensions show us that the file is a tarball and it is compressed with the 'gzip' format. You can now proceed to store this as you see fit. If you don't want the old files. and change the name of the file to create to a . to proceed with the "untarring". Untarring and unzipping files Using 'tar' and 'gzip' sort of supposes that you're going to want to "untar" and "unzip" these files at one point or another. I'll explain them: • -z . If you untarred it in the same directory. tar just sort of sits around doing nothing) The files are extracted and your original tarball is preserved (my_tar_file. untar it in a different directory. Putting it all together 'tar' has an option built into it to use 'gzip' to zip the file at the same time you make the tarball.gz extension. When you've decided what you want to do.gz).tar. issue this command: tar -zxvpf my_tar_file. then you've got an old tarball."verbose" (i. You would locate the zipped tarball in question and then ask yourself a question: Did I make any changes to the files inside the tarball after I made it? If you did.gz * Remember f should always be the last option.

This is supposed to become the official way of doing it in the near future.tar. It stands for Red Hat Package Manager.RPM doesn't have anything to do with revolutions per minute. If you're planning on compressing files to give to someone who (still) uses the Windows operating system. OK racing fans. What distribution (version) of Linux are you using? 2. The compression factor is supposed to be a little better. Consult the man file ( man zip) for specific instructions on using this tool. so it may be a good idea to get to know 'bzip2' For all practical purposes you would use this tool in the same way as you would 'gzip'. for the most part.tar. bzip2 There is also another tool that is rapidly gaining acceptance in the Linux world: bzip2.gz (gunzip runs gzip -d "automagically"!) These commands are good if you've just zipped a regular file (not a tarball). You can also use unzip if someone gives you a file compressed with 'zip'. usually comes "bzipped". this might be your best bet. Other compression tools zip Most Linux distributions come with other tools to compress files. When you compile a kernel (create a custom kernel for yourself from source) there is an option to create a bzipped kernel. then you're going to use the RPM method.gz or gunzip my_tar_file. What is the origin of the program that you want to install? Let's look at the first question: What distribution are you using? RPM If you're using Red Hat or a distribution that bases itself on Red Hat. You can go to the Red Hat website .gzip -d my_tar_file. Getting Started with Linux . One of these is zip. Consult man bzip2 for more information. There are some differences in options for more advanced users. famous in the MS-DOS/Windows world. As a matter of fact. the Linux kernel source package. This system takes the heartache out of installing programs under Linux.Lesson 16 Installing New Programs The way you install a new program will depend primarily on two things: 1.

. Not that this is the most efficient option. There are some basic commands you're going to need to know to take advantage of the RPM system. rpm -i new_program.or any number of mirrors and get programs for Linux. you could type the command: rpm -q opera. then you have two options. One is to "uninstall" the older package and install a new one in its place. you will see: package opera is not installed If you don't have Opera installed.rpm (or whatever the package is actually called). Developers will almost always offer their programs in RPM format due to its popularity.rpm as root and install the program. I also want to note that RPM has also come to mean the package itself (as in "I downloaded an RPM yesterday"). Before you download the RPM for Opera. I just wanted to introduce you to the -e option for RPM. If you do have the package installed. Those are the basic commands of the RPM install/update system in a nutshell.rpm and that would install the new version and remove the old version from your system. it would give you the version number: opera-5. this is not the most efficient way to update packages. This gets rid of Opera from your system. That installs the new version. then you would first do: rpm -e opera. If you do have the program installed and the rpm -q opera command gives you a older version number and you want the newerone. That is. Then you would type rpm -i opera_beta8. As I said. The usual way is to use the -U (as in Update command. Let's say you hear there's a new version of the popular Internet browser Opera for Linux and you don't know if your Red Hat based distribution installs this by default or not.0_whatever-number If you don't have the package installed. to get rid of a program that you've installed. then you can download their RPM and run rpm -i opera_whatever_version. if you've got Opera's beta version 7 and you've just downloaded the beta version 8.rpm This installs the program (-i option for install) rpm -q program_name This "queries" your system to see if you've got a certain program installed. You would type: rpm -U opera_new_version. For example. you would type rpm -e program_name.

You may want to look into programs like Kpackage for KDE or Gnome RPM for the GNOME enviroment. If you see a list a mile long of "requirements" (those other programs and libraries you need). More on this conversion later in the show! Just a brief second word of caution. The good ones usually include a list on that particular RPM's page of other programs or libraries that you need in order successfully install and use the program. And here's just an editorial comment on my part about this type of thing as well. The big buzz word with Linux is "free". Both of these companies create their own RPMs to be specifically installed on their systems. When I first installed Linux oh so many years ago. like the Opera web browser in mentioned above. You may run into a problem if you installed an RPM for Red Hat on a SuSE system. however. I suggest that newcomers to the Linux world buy (yes. Many websites out there offer RPMs for download. That's fine. there are some very good tools for installing. Debian . Third party RPMs from reputable companies. Time might be even more valuable than money. Getting and RPM doesn't necessarily mean that you're automatically (or "auto-magically") going to be able to install it. You can choose menu options to do all that we explained before instead of having to type the commands in the terminal. Some words of caution on downloading RPMs Some of the most popular Linux distributions base their install and update prodedures on Red Hat's package management system. then you might want to ask yourself if you really want to try that program out. all installed and working properly along with a manual to tell you what to do in case something doesn't work. no money down). I said buy) a good boxed set of a commercial distribution and then they'll have more programs than they would ever need. that time is money. especially if you're just starting out in the Linux world. That means if you're using SuSE or Mandrake your best bet is to go to their respective "official" websites or mirrors and download their particular RPM and install it using the procedure outlined above or their specific tools.When you're using your windows manager. (lost money might be re-earned but not lost time). I even converted this RPM to Debian (. You can theoretically get a distribution from the Internet along with programs and install it for free. Certain components in the package (like documentation or libraries) may get copied into a different directory than was intended for that system. I think. updating and uninstalling RPMs that are graphically based. updating and installing stuff was at times a frustrating experience. Now let's look at installing programs with Debian. These include Mandrake and SuSE for example. I have successfully installed this package (the same exact RPM file) on SuSE. (ie. to use the trite expression. They may make these tasks a lot easier. Mandrake and Red Hat. should install fine on any RPM based system.deb) package format and successfully installed it in a computer running Debian.

Typically. But if I were updating. it seems to me. is that it is easy for people who have dial-up connections.deb to install it. There may even be conflicts or dependency problems and 'dselect' will warn you about those. This is what the Debian people themselves have to say about this method: Many people find this approach much too time-consuming. Then you would type: dpkg -i package. This number is larger just before a new major release. dselect When you use dselect you get a graphic user interface of sorts (not under X window. T3). other programs that it needs to make it run) and if you don't have those packages. how you're going to get and install them. automated programs they're talking about.Updates There are various methods to installing new programs on a Debian system. the main advantage of dpkg. a dozen or more new packages are uploaded every week. dpkg This is the "classic" way of updating a Debian system. Let's talk about this method of installing new programs with Debian. which are dselect and apt-get are better for permanent connections (cable. Despite what they say. That means. You can even put updates on hold (indicate that you want to update. many people prefer to use automated programs. if I were doing an install of Debian with CDs. To deal with this avalanche. I like to classify them according to your connection type. then the install will fail. xDSL. This is because the alternative. then I would choose CD-ROM.typically. I would choose FTP Then you would choose the packages you want with a + sign. but not actually do it) with a = sign. though) to guide you through the install of new programs. The main drawback to this is that you may find a package that you like but it may have dependencies (ie. since Debian evolves so quickly -. For example. . First you'll get asked for your preferred access method. you could go to Debian's website or any one of its mirrors and download a package. Then you start the process by choosing the install option. T1.

tar.tgz you have your new program installed. has the reputation of being. if you're willing to just use the command line utilities. Slackware's package format Slackware packages come in *. That's a good option for the "I wonder if I want this" moments of your life. . the main advantage to this is that any conflicts or dependency problems will be resolved right here. Then you're on your way. If that's the case. This a variation of the *. If that particular package doesn't quite move you and inspire you too much. As I said before.gz format we've seen before. known to the Linux world as "Slack". it's just as easily updated as any other major distribution. A lot of these considerations are "politically" motivated. Slackware lacks some of the "smooth" and "slick" graphic installation packages that are becoming standard fare in commercial companies' offerings but in the end. it will tell you what new files are going to get added to your hard disk. a flexible distribution that allows you to do practically anything you want and.tgz format. You can go to your favorite website and download new programs for your Slackware system and with a simple: installpkg some_program.Debian will then configure the installed packages. it seems that a slow and sometimes expensive dial- up connection would be less than ideal for this.tgz You can also add the option -warn between the installpkg/removepkg command and instead of installing the package. The Debian people point out that this is ideal for installs or large-scale upgrades. one that is for "experienced" Linux users only. on the other hand. In the next section we'll look at installing programs under Slackware Installing new programs on Slackware Slackware. on one hand. you can just remove it: removepkg some_program.

really). there is a common misconception that just because something doesn't have a wonderful graphic interface that makes you say "oooh" and "ahhhh". The fact is that people open up their word processor of choice (or the one they're forced to use at work) and write things on a pretty regular basis. A computer running Slackware is a tremendously flexible and configurable system. isn't it? Enjoy your "Slack" system! Getting Started with Linux .tgz Using other package formats If you're using Slackware and you can't find a package your looking for in the *. So what if you have to write things on a command line? That's what you've got a keyboard for. I don't see that custom being altered unless someone comes up with a comfortable way to use a computer in bed! . I would say that word processing is probably the computer activity which is done with the most frequency. GUI does not necessarily = GOOD Once again. logically. The way to do this is: rpm2tgz some_package.tgz format.Lesson 17 Printing under Linux Although this is my personal opinion and I have not done scientific research on this topic.rpm and convert it. E-mail may be surpassing the popularity of basic word processing (e- mail is just an extension of that.tgz format. many people curl up in bed with a novel or a report for work. it is somehow inferior. Then you can use installpkg on the new file you've created to install it. Writing things. Despite what we're hearing about the web doing away with the printed material as we know it.rpm This takes the "rpm" in question and converts it to *. you can also grab on to an *. it seems that we handle more paper not less of it in our networked world. means printing them afterwards.Upgrading packages You can upgrade programs to newer versions with this command: upgradepkg a_new_version_of_something. Don't let that missing GUI fool you here. After all.

to use a hackneyed expression. This holding pattern is usually pretty quick . Red Hat comes with "printtool". Install a printer Most Linux distributions come with tools that will get you printing in no time. you'll need some filters installed that know how to print PDF files. The basic means of printing in Linux just takes off from there.because computers work pretty fast. . Mandrake has its printer setup tool in its main configuration package. This is a free implementation of Adobe's Postscript filters. if writing/word processing is so important and printing is the logical next step after writing. These filters are used to make sure that "What you see is what you get". The lpr works with the lpd or "line printer daemon" running on your system. Today's computing needs in terms of printing are much more demanding. you'll need a working "printcap" file (to be found in /etc/printcap. As I mentioned before that Linux's printing system is based on basic line printing. A "daemon" is just a program that works in the background. graphics and other visual goodies can be found in standard printed material that comes from a computer. The queue (queue the British word for what Americans call a "waiting line") just puts your print job on hold until the system figures out the way to print it. Exotic fonts. That means that all of the major distributions offer first rate tools to get practically any printer running under Linux. When you first set up your Linux machine to use a printer. But how do we get from the point where you've got Linux installed to where you can print something with your word processor? Here are the steps. How to print If you want to print. without your direct intervention. What you're doing when you print under Linux Historically. usually) that tells your system what printer it's supposed to work with. . if you downloaded a report from the Save the Whales Foundation on the mating habits of the pilot whale in PDF format and you wanted to print it. it was just important that they used them. then getting your printer up and running under Linux is going to be a priority. For example. Linux has changed a great deal and hardware manufacturers got the idea quick that it didn't matter what OS people used their printers with. As I mentioned. printing used to consist of just sending rather boring looking output to a line printer. printing in the Unix platforms started off as just sending plain text to a line printer. Your Linux machine should be capable of printing anything you want as long as you have the correct filters. which it will then send to the lpq or "line printer queue". All mainstream Linux distributions come with Ghostscript. This daemon just waits there for printing jobs to be sent to it.Obviously. you should push the "print" option in the menu. Debian and Slackware both use the 'apsfilter' tool as well. you know that already. you'll be configuring the lpr or "line printer".maybe a couple of seconds . Luckily. (resulting in rather plain looking text on paper with holes on each side . 1.some of you might remember this). With SuSE you can use YAST to create this file (which will invoke a program called 'apsfilter'. OK. generally.

This lesson is not meant by any means to be the definitive list on products from every
vendor, so if your particular distribution isn't listed here, you'll have to consult the
documentation in your case.

For example, the /etc/printcap file that SuSE configured for my main machine at home is

y2prn_printer1.upp ascii:\
printer1|lp2|y2prn_printer1.upp--auto-printer1|y2prn_printer1.upp auto:\

2. Install the Ghostscript package and other useful filters
Most major distributions always recommend the Ghostscript package by default, so it
goes on your system with a standard install. This will take care of your more advanced
formatting needs. Other ones, like the jpeg libraries and other image formatting libraries
are also installed by default so you can print your image files easily and painlessly.

3. Turn on the printer and press the print button
I sometimes forget to turn on the printer, so that's why I included this last part.

Some useful trouble shooting techniques

Most printers work from a parallel port. You must have parallel port support enabled in
your kernel. Most major Linux distributions will install a generic kernel with this
enabled. Printing therefore shouldn't be a problem. However, most people at some stage

of the game prefer to compile and install their own custom Linux kernel. When you get
up to speed on Linux and you decided to do this, always remember to include parallel
port support into your new kernel. I have forgotten to do this (which ironically seems to
happen with much more frequency as I get familiar with compiling kernels) only to find
that I can't print anything when I've finished installing my new kernel.

I have also noticed my system choke on stuff sent to it from Corel WordPerfect. I won't
go into the "hows" and "whys" (because I honestly don't know why or how this happens)
but I have fell victim to an inability to print from WordPerfect on occasion. What I
usually do is see if in fact I have pressed the button 'print' and something is waiting to be
printed. To see if you have something waiting in the printer queue, just issue the


This will show you what's in the printer queue or if there is in fact anything there. Output
generally looks something like this, if you have a problem (like my printer being
unplugged, in this case).

waiting for printer1 to become ready (offline ?)
Rank Owner Job Files Total Size
1st bob 46 grocery_list.txt 667 bytes
2nd bob 47 lyrics_to_sinatra_my_way.txt 2323 bytes

For example, if I wanted to just get rid of these files, shut WordPerfect down and start it
up again and try printing again (which usually works for me), I would just issue the


Which removes the whole line printer queue. I could also be selective about it and only
delete one of the print jobs by typing the command:

lprm 47

Alas, my debut in the karaoke bar will have to wait, but I can still do the shopping.
Hopefully you won't need to use these troubleshooting techniques very often, but they're
good to know just in case.

Enjoy printing under Linux!

Using Linux to access the Internet
We live in an interconnected world. In fact, you're using this interconnectivity in form of
the Internet to access this course. Chances are, however, that you're using some other OS
to connect to your ISP and read this course. After this lesson, you should be able to
connect and browse what's out there in cyberspace using Linux.

On-ramps to the "information superhighway"

I think that the term "information superhighway" is a perfect analogy for the Internet.
That's probably why it has become so popular. The superhighway itself is the telephone
companies infrastructure - the lines, fiber-optic cables, switches and satellites that bring
the hundreds of millions of pages of content to you, including this page. Your computer
is like that car on the highway. Your modem or other device that connects you is like the
engine of your car. That's why we've written this lesson. If you can't get the engine to
work, you're not going anywhere. Linux and other OSes are a bit like the fuel you put in
your car. If you have been using Windows, that's like using gasoline. If you switch to
Linux, that's different, like jet fuel. You'll have to modify your engine to be able to use it,
but you'll go faster in the end.

Types of connections

There are basically three types of connections to the Internet; leased lines, broadband and
dial-up connections.

Leased lines are high-speed connections that ISPs use to connect you to the rest of the
Internet or big companies use to communicate between parts of their organization and to
allow you to connect to them. These are known as T1 and T3 lines in North America and
E class lines in Europe. This course will not deal with setting up and Internet connection
with these lines. It's a little out of the scope of your average Linux user.

xDSL (Digital Subscriber Line) and cable modem are what is known as "broadband"
connections. These services offer 24 hour high-speed connections to the Internet in most
cases (unless you shut off your machine, of course). For example, in my area, I have
ADSL service. My connection runs at 250 kilobits per second when I am receiving data.
To put it in other terms, I can download a 5 megabyte file (like a song) in about 3-4
minutes. This depends a lot on where you're connecting to and other factors, but
broadband is the best alternative for home users. Depending on what company is
providing you with this service, you can even use this connection to serve your own
personal or small business webpage using Linux as a web server. In the xDSL area, you
can even opt for higher speeds (up to 2 megabits per second) and have Internet service
that rivals much more expensive leased line alternatives. Lately, cable modem is
becoming more popular than xDSL, particularly in the United States because the cable
companies seem to have gotten on the ball faster to offer consumers high speed
connections. With all due respect to telephone companies, there may be, and I suspect
there are legitimate technical reasons why a cable connection is essentially cheaper and
easier to provide to to consumers. The reasons behind this would go beyond the scope of
this lesson, (and I'm not a telecom engineer) so suffice it to say that cable seems to be the
way people are going to get high speed connections to the Internet.

Dial-up (standard modem) connections are by far the most popular way of connecting to
the Internet. Up until the late-1990's, if you weren't a Fortune 500 company, it was the
only way to get on the Internet. This connection type basically consists of using a modem

about 5 times slower than the slowest broadband connection. 2. It is also important that you know if you accept their services. then it's a good idea to choose the router option. depending on your relationship with your local telecom company) the telephone company handles most of the heavy lifting during the process of getting Linux to work with an ADSL connection. Choose a router or modem If a modem isn't forced upon you. in my area at least. Sometimes they will offer you Internet service and at the same time arrange for the telephone company to come over and install a splitter which allows you to use the same phone line for data and voice transmission. you may have to accept the hardware they recommend (or force on you). just couldn't be delivered. in my case. at least in my area. This has never seemed to have caught on. ISDN . The best speed you can hope to get out of a dial-up connection is 56 kilobits per second. In the best case scenario. The basic reason for this is that it is usually platform independent which means that it doesn't matter what OS you're using because you can probably configure it using Telnet (in my case) or even a web browser. Let's move on to the next section where we'll show you how to set up the different Internet connection alternatives under Linux. ADSL with Linux Fortunately (or unfortunately. The modem "negotiates" the connection (ie . ask if you can use your own choice of hardware and then hope they say yes. They promised connections of up to 128 kilobits per second (the key words here being up to. nobody seems to be talking about it so much dial the phone and connect to the Internet Service Provider (ISP). The few people who I know who had this service (and later dropped it) complained about the speed. 1. This is very important for security because you're going to be connected 24 hours a day. At any rate. via router and via modem. What they promised.a footnote: A few years ago. which I have also seen done. so the process is fresh in my mind. I went through the process of switching from standard dial-up not too long ago.tells the ISP who you are) using a couple of established network protocols. There are two main connection options. using the tactic of car advertisements that say from 9. This is pretty important. namely the slow modem speed and the fact that you couldn't make or receive phone calls while using the Internet. Call the ISP. but in reverse). . I chose a router that had capabilities for filtering out unwanted incoming connections. For example.599 dollars. even selling your their own hardware in the process. They may pretty much obligate you to use one or the other. That is to say. Here are some of the things I had to do. This is a great option for a small business because a router allows you to painlessly share the connection between multiple computers. the telephone company was trying to sell people on ISDN (Integrated Services Digital Network) to solve the two main problems with Internet use.

(graphics courtesy of The GIMP It's really too good of a program for my poor artistic skills!) Two cables (red) come from the splitter. Plus. It's a question of using a small screwdriver. I have even heard of the telecom people doing this for you. you connect the router to the Ethernet card so your PC can receive the data. Get an Ethernet card If you go the router route (pardon the pun). Putting in all together A picture speaks a thousand words. you're going to need an Ethernet card. Realtek 8029 PCI is the one I use in my machines in my home office. . This is a good one because most major distributions will detect this (they always have for me) during a standard install of Linux. These cards are designed to allow you to connect computers in a Local Area Network (LAN). so I made a little drawing of my home network to demonstrate what a possible set up might look like. I encourage people to do it for themselves. For the faint-hearted. You can also call your local guru. If you've got more than one PC in the house. Other Ethernet cables (blue) go from the hub to the PCs. you should get an Ethernet hub to distribute the connection between PCs. 3. One Ethernet cable (green) goes from the router to the hub. My card of choice (because it was the only one they sold in my area) is the NE-2000 clones. One is for the phone and one goes to my router. What that's in. even if you've never looked under the hood of your PC you can muster up your courage and install this card yourself. I assigned my PCs the numbers 192. at least. you're actually going to a computer that is assigned a number on the Internet. let's say it was 20. In case you didn't know. and then have two numbers after these. so as soon as I turned it on.3. so each PC is assigned an IP address which is a number that computers identify themselves with.0. The router was equipped with the possibility of using a a program on a CD to configure the Internet connection if I was using Microsoft Windows or Telnet for another OS. This number has to be unique.168.X. I assigned the router the unique Internet numbered address my telecom had given me and then I changed the address of the actual router to 192. In my case.20. I had ADSL service coming in to the router. to get on the highway My home network is a private local area network.168. Once in. With ADSL you are assigned a unique number with which to connect to other computers.0.1 which was the local numbered address the router came with by default.1.Bob has the highest score" then there's going to be confusion. If you used any other numbers. these numbers start with 192.20.X. when you use the Internet. to the router. I saved the changes and exited.X. . I took out my router and connected it to the data line coming from the splitter (see the picture). Now. They also furnished me with a default password which I used to connect to the router. I had a text mode menu (the best you can do with Telnet) and going by the router's manual plus my local telecom's instructions. 192. That is to say. I had to know what address my telecom company had assigned to me for Internet purposes. to me more in synch with my local network's numbering scheme and then I changed the password to access the router. the manufacturer of the router in the factory assigned the number 192. If there are 20 members and 7 of them are named Bob then.Now. The numbers 192. when the telecom people came to hook me up. Then I used Telnet to access the router. like Linux. when you go to www. if someone announces that "e. It's a lot like running a men's bowling team. In my home. so you will have to use these. 192. Now. you could say for all intents and purposes that I had another computer on my local network with the address of 192. I was given a unique number.X are reserved for private networks.168. they might conflict with numbers that are actually out there on the Internet. Then I hooked up the router to the hub and then one of my PCs to the hub.4 respectively. Before I used Telnet to access this router.1.linux. In my case.168.0. you don't identify yourself to other computers with 192. I opened a terminal in my PC and typed: telnet then: open 192.

these computers know that www. You're on line . it basically did nothing until I remembered to change that file. First.0.40 These are not the actual numbers I was given. and set up some necessary security.conf. I was on line with all machines going out through the router. A domain name server is just a machine that has an inventory of other computers on the Internet.0. I had to write the line: default 192. in /etc/route. These people use tools they get off the Internet . Then I added two lines to my /etc/resolv. I forgot to change /etc/resolv. These are the lines I added: GATEWAY=192. so I had to change 2 files: /etc/route.0.0.30. It's just an example I used to correspond to the numbers that could be given to you by your telecom company. This is important because you are a sitting duck for intruders with ADSL. I run SuSE Linux on this machine.conf file.0.conf and /etc/resolv.168.5 is the default "gateway" to the Internet.5 GATEWAYDEV=eth0 The changes to /etc/resolv.168.conf file. instead of /etc/route.0 is the subnet mask (not important for our discussion here) and eth0 stands for your Ethernet card that you installed and is connected to the hub which is connected to the router. When I fired up my browser. so I logically started with that one.0 eth0 Which means that 192. it really isn't as far as a target for hard-core hackers/crackers) but there are a lot of mischievous people with time on their hands that go around looking for trouble. Without these numbers.168. nameserver 30.conf you'll have to add two lines to /etc/sysconfig/network . I quickly disconnected the hub to all but one machine and following the instructions. The changes I had to make took all of 30 seconds. These are the primary and secondary DNS numbers.5 0.30. I learned this fact in my haste to get the rest of the network set up. That is to say.40. you wouldn't stand a snowball's chance in hell of finding anything on the Internet.40.30 nameserver 40. I was using my workstation to configure the router.conf.let's be careful out there After doing all this. 0. DNS stands for Domain Name Server.0.0. If you're using Mandrake or Red Hat.conf are the same. When I was configuring the last computer. or where the machine is going to route out of to get to the outside. You may not think that your local home network might be important compared to some corporate website ( is actually a number out there and they help you find it.linux.The final step was to tell the PCs where to get their Internet connection from.

you are somewhat vulnerable to these socially unacceptable characters and what they may try to do with you. A brief explanation of ports I was lucky in that my router has the ability to filter packets built into it. even though you may see little asterisks (or nothing) can be picked up easily by people who 'sniff' these passwords. like the Internet. as we have seen with the famous CodeRed worm. popularly known as "Script Kiddies" seldom know how the software works and really don't care. only what it does. Seeing as IRC can tell a lot about where you are. SSH accepts remote connections that are encrypted or coded. Packets are the data that comes in and out of your computer when you're connected to a network. The WWW wouldn't function if it didn't. webservers run on port 80. SSH runs on port 22. That's a port that I told the router not to accept connections to.or point of entry to computers from the outside. Firewalls A firewall is just a barrier between a network that's inside a home or company and the outside world. for example runs on port 23. I also have FTP disabled. I also disabled my computer's ability to accept connection via Telnet. A lot of these people are script kiddies who like to get in feuds with people on channels. Report them to their ISP or the local authorities if they threaten to do harm to your machine. seek technical help and even work and collaborate on projects at a distance. But. There are a couple of things that you can do without having to be a guru on security to help secure your Linux box.(port 21).2 at the time of this writing) enables SSH by default. SuSE Linux's most recent offering. (v. The people who designed the big network of networks came up with the concept of ports . It has to be. Security with ADSL Security in Linux is way out of the scope of this beginners' course on Linux. Telnet is a 'shell' . it's the software running behind it. If your private network didn't have a firewall. For example. They just know they can do harm with it. That makes it almost impossible for someone who you don't want to to connect and try to do harm to your computer from the scan numbers at random to see if the machine attached to the number can be "hacked". Remember. Report any threats to the channel operators. their computer makes a request to port 80 on the server to send them the page. Apache's webserver is pretty safe.a way to connect to a remote computer. Most of these people. If a user on a network wants to access a web page on a server. it isn't the port itself that should be considered safe or unsafe. they don't have to know how the program works. I substituted it with SSH or Secure Shell. a little knowledge is a dangerous thing. 7. Actually. The passwords you send to connect via Telnet. As they say. But there are a few people with dubious social skills who are just on IRC to be jerks. Most people on IRC are there to socialize. Sometimes the person's ISP figures in the information on IRC. people could just connect to . Microsoft's webserver IIS isn't. IRC chat is a good place to chat with friends and also a good place to inadvertently invite people to take a swipe at your machine. That's a pretty safe port. Telnet.

extended vacations with company money.deny and /etc/hosts.allow First. Detection and Recovery. 007's red- headed nemesis says: "It is a bank like any other and banks can be. This will allow local users to access the computer. There's no reason not to let people locally to log in via the SSH program that we mentioned before. It would be like a house made of glass. I always think of Goldfinger's comment in the James Bond movie of the same name when he explains his plan to steal the gold from Fort Knox to a bunch of incredulous Mafiosos. This is OK as long as you trust them. People would spend the day throwing stones at it. Some big corporations pay people big money to set up firewalls in their organizations and then they get hacked anyway. revenge. please read some books or seek a professional security consultant's help. If you are a home user you're probably safe but if you are using this to set up a small business network. I suggest you read Bob Toxen's Real World Linux Security: Intrusion Prevention. One last word: This ISN'T a substitute for a firewall or a serious security set up. Dial-up connections with Linux Despite the increasing popularity of broadband Internet access and cable company's ventures into the Internet business and their offering of connections. when you don't know too much (yet) about security is by making the following very simple changes in two files: /etc/hosts. how do you say- 'knocked off'" If you want a good guide to providing security for your PC running Linux. If you are setting this up on a small business network.allow ALL : 192. the vast majority of people in the world. Then. the best selling book on security from a Linux perspective.deny add the following line: ALL : ALL This is meant to block (1st ALL) services that your computer provides from anybody (2nd ALL) that may try to log in to your machine. etc. in /etc/hosts.0. There are all kinds of stories about disgruntled employees taking liberties. connect to the Internet via telephone dial- . The subject of firewalls goes way beyond the scope of this beginner's course and I don't pretend to explain how to set up a firewall here. Any decent network that's connected to the Internet has a firewall. if you have more than one computer (a small business or home network) you should add this line in /etc/hosts. at the time of this writing. I would be a bit more careful. Practical protection for the beginner A good way to protect your Linux and see what they wanted.

there were modems (which still exist) where the ability to use it to connect to computer networks. com2. you could check out Linmodems. The purpose of this lesson. which. As you can remember from our lessons on other subjects such as hard drives and floppy drives. For example. Microsoft Windows. Linux always knows these devices by other for more information about installing drivers for these to run under Linux. If you then get an external modem and you want to use it. Mandrake and Slackware was trivial.8 kbps one before that. was based on the configuration of the hardware. we usually start counting at zero). therefore. The set-up of this modem under SuSE Linux. however. A serial port is similar in appearance to the one that is used to connect your mouse. In our case. of maintaining a dial-up connection is using an external modem or an internal modem where the hardware primarily is designed to handle the connection. on my workstation. I used an external Dynalink 56 kbps modem. There are modems and then there are "winmodems" Once upon a time. you guessed it. Red Hat. If you happen to have one. Linux knows com1 and com2 as /dev/ttyS0 and /dev/ttyS1 respectively (in the computer world. is to discuss the way to get a dial-up connection running under Linux. files that reside within the /dev/ directory. companies like Motorola. Before I had an ADSL connection. If you have a serial mouse. Motorola recently released a set of drivers for their "winmodems". yes. there are two serial ports. where I am writing this lesson. like the Internet.up through the use of a standard modem. Nevertheless. Linux knows as /dev/ttyS1. This software was exclusively compatible with. as I mentioned. Until recently it was impossible to get one of these little jewels in the MS crown running under Linux. this is usually occupying com1 and therefore /dev/ttyS0. Rockwell and others developed modems where the configuration of the device was made possible through software more than the embedded programming on the hardware. you would hook it up to the second serial port. this is quite easy. The trick (really not a trick because there is no difficulty involved) is to alter your Linux configuration so that it knows that you've got an external modem on /dev/ttyS1 so it can communicate with it. As 'root' you would fire up their configuration tool called YAST and choose the option 'System Administration' and then the option 'Integrate Hardware into System'. Before that I used a 38. known as "com1" and "com2".4 to 56 kilobits per second (kbps). Under SuSE Linux for example. upgrading as the higher speeds became available and their decreasing prices warranted the change. A parallel port is one that is normally used to connect a printer. usually at speeds ranging from 14. They became known as "winmodems". These connect either via a parallel port or a serial port. External Modems External modems are called that precisely because you have a little box that sits outside your computer.8 kbps internal modem and a 28. The best and easiest way. At this point you're asked to choose the hardware you want to configure and obviously you would choose 'Modem configuration' .

they couldn't do it. Just substitute for 1. so that's your first ISP. There is a possibility to handle several different ISPs (at one point. Most will do the job quite nicely. I must confess that earlier versions of this program were not entirely successful in setting up my connection. for other connections you may want to set up. If you've installed Mandrake. I have found one in particular that is the easiest of all to use. Once you've answered the questions and you have your connection setup. If you've picked out your windows manager already and it happens to be KDE. 2 etc. There is also a "tarball" available at Ibiblio's website If you're feeling adventurous. information which this company should have given you and about where your modem is located. You should have your modem set up after you've done this. The only problem I seemed to have with this was is known as the "negotiation" of the connection with my ISP. which is another option. (what we covered in the previous section). Hipp's website and download the C source code and compile it. For Red Hat and RPM based distributions there is a RPM package compiled by Kent Robotti and available through RPMfind. then you should have no problem setting it up with one of their utilities known as modemtool. You'll see the various "com" ports available and even. Euphemistically speaking. connection is nothing more than typing one command in a terminal: eznet up 0 The program starts counting ISPs with the number 0. This program has been greatly improved and your probability of success along with it. LinuxConf is also an all-purpose tool that includes modem configuration. There are two protocols known as PAP and .net. I had 3 different ISPs configured). you might want to go to Dr. Other options If you use YAST in SuSE Linux you can set up your connection using WvDial. If you have a serial mouse. Not surprisingly that it is called eznet. Basically. be sure to choose com2 or /dev/ttyS1. their tool HardDrake should do the trick. It was written by Richard Hipp and it makes setting up your Internet connection absolutely trivial. If you've installed Red Hat Linux.which is the second option. Getting in touch with your ISP There are a lot of tools out there to assist you in establishing a connection with your ISP so you can get out there on the Internet. with the newer version of SuSE. USB modem support. you're in luck because there is a program called KPPP which will set up a connection for you fairly painlessly. I have had (and heard of) mixed results with this tool. the program asks you a series of questions about your ISP. we'll talk about configuring your connection with your ISP in the next part of the lesson. Now that you've got a modem connected.

conf includes the two or more IP addresses of the domain name servers. A common problem The most common problem I have come up against is that somehow the very important configuration file /etc/resolv. you can also tune or tweak your connection speed to get better results from your hardware. The first thing you should do is make sure /etc/resolve. then the connection fails. The K stands for KDE but what does the PPP stand for? It stands for Point-to-Point Protocol.40. or pppd which is a program that provides for that communication between computers. With KPPP. those machines that translate for example.40 Your numbers will of course be Then you should find out .realize that they have "permission" to communicate) or the type of data their sending is incompatible or both. www. into our actual numerical address. then you'll have to add it again. but if you don't see at least two lines like this: nameserver plus an IP address.30 nameserver 40. you're not reaching pages out there. What eznet. This is standard issue on all versions of Red Hat since 6. identify themselves and then ask whether the computers can read the data each other sends. In your /sbin/ directory.linux. It was an interesting exercise but essentially took a long time to figure out at those days.2 For the technically curious As you'll notice. The protocol basically provides the means for the two computers to first. User of Red Hat have a very powerful and simple to use graphic tool with RP3. you'll find the point-to-point protocol daemon. RP3 and other similar programs do are to create the necessary configuration files that pppd reads. When I first set up an Internet connection with Linux.conf gets overwritten. kppp. it just might be a question of trying one or the other and sticking with the one that works.30. If you're interested in finding out what goes on behind the scenes. As I mentioned in the section on ADSL.CHAP. This protocol enables two computers to connect across a network. This happens with some Linux distributions and the reasons are numerous and I usually chalk it up to what I called excessive "meddling" with important configuration files on the part of some major Linux distributions. I created these files by hand without the help of one of these programs.30. If the two computers either can't authenticate themselves to each other (ie. the program I mentioned for KDE is called KPPP. I suggest you check out the page Linux Dial-Up Networking in a Nutshell which has a nice list of the processes and files that come into play.40. it should look something like this: nameserver 30. What you essentially do when you set up your Internet connection is to make sure that pppd knows how to communicate the right information. If you run into this problem. The symptom of the problem usually is that even though you've connected to your ISP.

Sound Cards When I bought my first sound card in December of (for Windows 3.. Happy surfing with Linux! Getting Linux to make sounds The hills are alive. These people have made my life much richer as I can listen to lovely music as I write this lesson of the beginner's course. I had good luck with that sound card (I still do because it still works). has a section in their YAST tool where you can configure it not to overwrite certain files like resolv. The nasty hardware manufacturers who do *not* share their information (and therefore. Due to this. These cards have usually configured fairly easily under Linux. In that big box there was a bunch of stuff .1). My eternal gratitude to the people working on the Alsa Driver project. That pretty much sums up setting up dial-up connections. And see if your sound card is on their list. When I installed Slackware so many years ago (1997 seems like an eternity for Linux) I think I was more interested in making my sound card work than making the modem work to get connected. Music has always been pretty important in my life long before the World Wide Web even existed. you want it to. for example. I was once bought a machine that did not have a Sound Blaster brand card in it and I was not able to get it configured under Linux.why and how your distribution is over-writing this file so it doesn't happen again. Sound Blaster uses the Alsa drivers to make sound come out of your Linux machine. I honestly don't remember the name of the card and I promptly paid a little bit more money and exchanged that one for a real Sound Blaster and quickly got it running under Linux. If you're like me. There are a lot of other supported cards. If your kernel doesn't have a clue about what to do with a one. a CD-ROM drive (with an insert-able cartridge that my 2 year old just managed to break after all these years!) and some Midi gadget which never interested me and is still in the same box in my attic. so that was pretty logical.conf.. the first thing that interests you in setting up your computer is making it play sounds. their cards do *not* work) are listed in red. SuSE. it came in a big box that Creative Labs sold me and it was a Sound Blaster. You might want to have a look at their list. of course. unless. If you use the SoundBlaster card. it's important to point out that the Linux kernel needs to be configured to use a sound card. there is precious little tools like sndconfig can do . I have always bought Sound Blaster cards. you may also want to check out Creative Lab's page Configuration tools Before I go into the tools to use to get the sound card working.. particularly music.

this is the package you need to set up sound. • sndconfig I mentioned this one above. But if you are a true beginner (that's who this course is for) then you're probably going to get a "made for sound" kernel. is also available for Mandrake. you should not have a problem. depending on your distribution. KRUD. including sound help you. I wrote in a review of Mandrake 7. every install I have done in the past year and a half or so of a major Linux distribution has come with a kernel that has sound support in it by default. Luckily. If you have an ISA PnP card (I have two) you also have to have the ISA PnP tools installed as well as a kernel that can use ISA Plug and Play (also known as plug and pray) As I mentioned. It is text based (runs it a terminal) and has always done a good job for me. It warns you not to set it too high.2 in the Spring of this year (2001) about how it didn't detect my very mainstream Sound Blaster 16 card. If the distribution you have installed (or are planning to install) is up-to-date. most major distributions will configure the sound card during the installation process. for example). depending on. It is also important to know what type of sound card it is in terms of the slots that it uses on your mother board in your computer. It will play a sound bit of Linus Torvalds pronouncing the word "Linux" • YAST This is SuSE's "Swiss Army Knife" of configuration tools. the motherboard (that big thing inside a PC that you plug all the cards into) or mainboard as it is also known.which. Again. then you might be beyond this beginner's Linux course and you probably already know how to make the kernel you want. . I did a "clean" install (I did not update . You can adjust the default volume as well.1 at the time of this writing and on that same machine. It is a tool for Red Hat and distributions based on Red Hat (Mandrake. as I mentioned. The alsa-base package is also required. Their latest version 2 is graphical. there was no problem detecting my sound cards with YAST. If you're installing "Joe's Home-brew Linux" distribution (where you must compile your own kernel).2 is very much a thing of the past. so I won't feign expertise here and give USB guidelines. On my machines. If this is not the case. SuSE. The good thing is that Mandrake 7. whether or not the hardware is mainstream enough to be detected on install. The latest versions of Red Hat. I'm not a USB user.2 and installed 8. you may use to any of the following tools. • alsaconf If you're using Debian. you can select the sound card and then push the button that says "launch configuration tool".I removed 7. They're on version 8. Mandrake and Debian that I have installed are all sound enabled from the beginning. It plays a little melody that's also the KDE default startup sound.0 new) and it found and configured my Sound Blaster 16 card without the slightest problem. I suspect that what it is doing is launching sndconfig . will accept ISA Plug and Play cards (bigger slots) and PCI cards (smaller slots). of course. just in case you're wearing headphones and you blow your eardrums out!! • HardDrake Mandrake uses this graphical tool to configure hardware. Using the GUI.

You just have to type some simple commands and you're all set. you can take a look at the HOW-TO's on the subject. we haven't begun to talk in depth about the use of the X-window system in Linux. I would just type the following" . I'd also like to add an editorial comment. There certainly is some nice stuff out there. Strange hardware. If you're following the course in order of the lessons.wav format. we'll use 'wavrec'.4) are beyond the scope of this course. it's time to check out some of the options that we have for playing sound. so the tools for playing and recording sound here will be used from the command line.You should now have a pretty good idea of setting up a sound card with a major Linux distribution. from the Beatles to Hans and his Swiss Alpine Yodelers. you're probably going to use the *.3 disks) and obscure distributions (Zingblatter's Ultra Linux 1. Let's go on now to all of the available programs to play all of that sound and music.You can also go to your favorite search engine (mine is Google ) and enter Linux sound card setup and you have access to the zillions of bytes of information on the topic. the most popular format for sound recording is is their *. Besides. When you make a recording of yourself or someone else speaking or you "rip" a track from a CD for later conversion to mp3 or ogg (we'll talk about this new and open format later). 'wavrec' is easy to use. if I may. I really don't have to see anything.wav format. I am not implying that there aren't some fine programs for playing and recording sound. Here's an example: Let's say I want to record a note to myself that says the following: "Note to self: make sure you respond to Dave's email about SuSE'. If you simply want to record yourself saying something using Linux. For this lesson. Getting Started with Linux . we're talking about sound. all you need is a microphone and and recording tool that gives you a file in this format. are command line applications. The programs I use (which we'll talk about here) are great applications that work just as well as their graphic counterparts but in many ways are more easily configurable. at least for me. so if you're one of those out there who pine for the sweets sounds of Mozart flowing from your PC. so I just have to set the CD or playlist and listen. old versions of Linux (your cousin lent you the SuSE 5. It's easy because the default recording settings for this applications are all acceptable for getting a quality recording (if you've got a fairly good microphone).Lesson 18 Now that we have our sound card working. MP3s etc. Recording Sound Due to Microsoft's monopoly on operating systems (yes. they have been convicted of this in a court of law). I use a window manager but the programs I listen to CDs.

wav Let's explain these options. 'wavplay'. That's all there is to it. For example. so you should modify the time for the file. how do I hear it?" The answer is easy: With 'wavrec' 's companion program. means stereo. I have purposely put the -t option in between them to avoid confusion.wav. the duration of the sound file depends on whether you're talking a normal rate.wav file. You can add all kinds of options to wavrec. and play it like this: . If you would like to record Cuban leader Fidel Castro's speeches. Now. Why this figure? Because Lincoln is reported to have taken only 2 minutes to give this famous speech.. like this: wavrec -t 3 dave_note. you must be asking the question: "I've made a *. If you look at the man page for 'wavrec' (type: man wavrec). Here's how: wavplay a_sentence. The first one. in seconds.wavrec dave_note. so you should type the number of seconds after. I should also point out that the same options in 'wavrec' are available for 'wavplay' if you want to add some effects to playback. I use this tool all the time to record short sentences for use in computer assisted language learning. even 3 seconds might be pushing it for a cattle auctioneer. -S. you get mono not stereo sound. If you auction cattle in Iowa. bla bla bla" lasts about 8 seconds.wav The -t option refers to seconds. I get a lot of work done because my sentences seldom last more than 5 seconds and these values are fine for my work. It would seem there is an error in the man page. The default recording time for 'wavrec' is 10 seconds. Issuing this short command and then changing the file name. I have noticed that mono is in fact the default. -s takes a value in Hz while -S has no value. it says that stereo is the default. then you would first multiply 60 and 2 to get 120 seconds.. Just remember to give yourself enough time for what you want to say. then I would advise getting a huge hard drive. If you want to recite Abraham Lincoln's Gettysburg Address. It's important not to confuse the -S (capital letter) with the -s (lower case). "Note to self . we have the -t option for seconds (we explained before) then we have the -s option which is the sampling rate in Hz. then you probably don't need 10 seconds to say that sentence. Nevertheless.. He once made a speech that lasted 7 hours. Here. That is to say.wav make sure the microphone is on (you'd be surprised how many times I forget to turn it on!) and start talking. Here are the values I use: wavrec -S -t 5 -s 44100 a_sentence. After the -S. There you have it. if you don't specify a recording time on the command line (I didn't) you'll get a 10 second long sound file. if you use 'wavrec' with no options. dave_notes.wav This will play the sentence we recorded above. Of course. That means.. I chose 44100 because this is a good high-quality sound which is necessary for my language teaching endeavors. if you take our first wav file. My sentence above. now.

wav and say: "Remember to take out the trash".we're just practicing) wavplay * . Three seconds should be enough for that. By naming it '0intro. I don't want to record Chipmunk sounds and sci-fi weirdness. I recommend using a YEAR-MONTH-DAY format plus some meaningful word for naming the wav files. You might want to do this: wavplay my_favorite_song. or whenever you'd like. You may have noticed that the name begins with zero. like "call cousin Jack" and "remember to pay back gambling debts to bookie". That is simple because for our reminder system. I'll explain why we need that in a bit. Here's a good way to use these tools. For example.wav you'll find it's doubly fast. Using the same logic. That's because our note about Dave was recorded at the default 22050 hz. Now. Well. wavrec -t 3 0intro.wav'. if you take our a_sentence. First.wav Say something like "Your reminders" or "Reminders for you". you see that what we've done is double it's sample rate . Play it back to your friends using the -s 44100 option and have them rolling on the floor with your Alvin and the Chipmunks impressions.wavplay -s 44100 dave_notes.wav then sing a line of your favorite song. Now record some reminders. we invoke 'wavplay *' with the asterisk to play every file in that directory. I suppose 5 seconds should be enough to say this. then. Let's create a sort of introductory wav file that's always going to be there.wav you've cut the sample rate in half and so you get a really cool impression of the creatures that take over people's bodies in Star Trek's original series episode 'The Lights of Zetar'. create a subdirectory in your own directory /home/[you]/ mkdir reminders then go into reminders (type: cd reminders). When you've got a few wav files in there you should play them to see that they've come out all right (you don't need to do this every time . I need to be productive. so if you do the math. Try recording a few more reminders for different things. I know what you're probably thinking. that assures that it will be played first with our system.wav and play it like this: wavplay -s 22050 a_sentence. I have actually entertained my 2 year old son for hours with this. plus a couple of other command line tools to read reminders to yourself in the morning. type: wavrec -t 5 2001-10-24_trash.

For our purposes. followed by the hour [0-23] the day of the month [1-31]. we have to edit a file that is called 'crontab' and add our instructions. To see if your system differs. Also notice how I have put the exact path to where wavplay is. I used this exact path because. First.You'll see that the 0intro. In our example. every hour.wav files every day of the month. Some things are probably best left alone. just press 'ESC + i' before you add this line. I am assuming that this is for security reasons. We use the symbol $HOME for that. This tells 'cron' that these values don't matter. It can even be used to run a job that you do only in January. whether that be once every three minutes. That is. the month of the year [1-12] and the day of the week [0-7] (where 0 and 7 are both Sunday). It's powerful because it can schedule something to be run automatically at any time. This is a pretty powerful tool that is used primarily by system administrators to automate their tasks and duties. One of my favorite applications in Linux is called 'cron'. it would seem on my system. that is to say 7:30 in the morning. Let's explain how a crontab file works. The file is read by the program 'cron' and it carries out the instructions in it. every month of the year. To add a job to be done.wav file gets played first. This is because the crontab file must start with the minute [0-59] you want something done. just give it a time within a couple of minutes or so. it doesn't mean it's complicated to use. but there is also one available to every user to run command line apps that he or she is authorized to use. so I didn't go in and change the path. our wav files get played at the 30th minute of the 7th hour. once a day or every Thursday. just type: crontab -e Then we add the following line to our crontab file (-e is for edit) 30 7 * * * /usr/X11R6/bin/wavplay $HOME/reminders/*. If you want to test it. if it's 3:30 in the afternoon. then we're ready for the next step which is to play our files automatically at a given hour. it's very simple to configure 'cron' to play our reminders. 7 days a week. you might want to first edit your crontab like this: . There is a system-wide crontab file for root's exclusive use.wav The crontab edit procedure uses your default command line editor which is probably 'vi'. the master crontab file (found in /etc/crontab ) doesn't recognize that path automatically. But just because it's powerful. cron should play our *. so if you don't remember our little tour of 'vi'. so no harm done if you just put in the exact path in the crontab file. I have left the last three as asterisk. then type: which wavplay to show you where the program is. If everything sounds good to you. The next step as you can see is to tell cron to run 'wavplay' and play the files in your home directory. That is to say. Then adjust accordingly.

Open Source and Free Software in particular. to show you that it works. the Fraunhofer Institute and Thomson Multimedia developed MPEG Layer 3 technology and they hold the patent rights it. if you think this way. because you won't hear them. This really isn't the place to debate those questions but there are some issues related to the making of MP3s that concern Linux. you would at least have one file in the /reminders directory. MP3 format If you've touched a computer in the last couple of years you've at least heard about the MPEG layer 3 format. MP3 might be seen as a format to be avoided. We'll talk about that shortly. By deleting the unnecessary reminders. fair use and intellectual property. 'Cron' will mail you when there is an error. if free disk space is something that worries you.wav that will play the reminders at 3:32 PM. like MP3s. I never listen to heavy metal.ogg format. That's the rationale for my 7:30 AM start time. for example rm 2001-09-28* That keeps the 0intro. You just delete the daily ones by typing.wav file in there. I mentioned before that I was going to explain why it's necessary to have it there. sharing MP3 files has opened up a Pandora's Box of questions about copyright. What does this mean for Linux? Well. but I should point out that MP3 is a non-free format. Thomson has set up a website to talk about these issues. MP3 has become somewhat controversial. Actually. You have probably listened to an MP3 and you may have even "ripped a track". so if you had no reminders for a given day. if you are an advocate of the Open Source and/or Free Software model that Linux grew out of. you can delete them (if you want) That's where the rationale behind the YEAR-MONTH-DAY. We'll also talk about the new free audio format comparable in sound and space to MP3 . Just make sure you're not playing anything else.wav comes in. But being that MP3 is so prevalent . We'll talk about the programs available to make sound files in MP3 format. That way. made an MP3 file from a song on a CD. in the next part of the lesson we'll talk about those famous (and controversial) files that take up less space .32 15 * * * /usr/X11R6/bin/wavplay $HOME/reminders/*.Ogg Vorbis. if you're interested. It's a good hour for me . Actually.wav files. popularly known as MP3. If you want to write programs that encode and/or decode MP3 format. In light of the Napster case.when I am just getting to work and I'm probably not listening to heavy metal at that hour of the morning. That is to say. you have to pay licensing fees.and how to make them under Linux. 'cron' doesn't have to mail you an error message because the program 'wavplay' didn't find any *. you've got some free disk space. that is. Now. when you've finished hearing them. Speaking of that.MP3s . you now have an alternative with Vorbis' *.

by going over to Fraunhofer's website and getting a demo of their MP3 encoder. Disk space is cheap. Look what we get for the same file as an MP3: -rw-r--r-.wav.wav files to MP3 format. Let's show how we did this. and probably the most popular.mp3 You've got it down to about one fifth of its size. Let's go back to our "reminder" system.nowadays and encoders/decoders do exist for Linux.wav -rw-r--r-. appropriately called 'mp3enc' (the demo is actually called 'mp3encdemo' - very logical) we can convert these files in MP3 format. 1 mike users 132344 Nov 27 12:11 0intro. We could take out our tools gzip or bzip2 that we learned about in a previous lesson. files of this size would quickly begin to take up space.wav If for some reason you wanted to keep these reminders. If you go into the /reminders directory we created (cd reminders) and type: ls -l *. 'bzip2' will actually get the file down to about half its original size: -rw-r--r-.wav you'll see that the default quality of a 5 second recording gives us a file of about 1/4 megabyte. by converting it to MP3 format. I made one of each format: -rw-r--r-. you doubled the file size to just under half a megabyte each. you need a program that converts *. He's had some trouble with the MP3 patent holders so. as I do when I'm working with sample sentence for language learning. First of all.bz2 But there is a much better way of doing this. 1 mike users 441044 Nov 28 08:34 2001-11- 28_good. we'll talk about making and playing MP3 files. Just unzip and untar in your home directory: . for now. And you can hear it right away with an MP3 decoder/player.tgz (Slackware package) compressed file. 1 mike users 220544 Nov 28 08:37 2001-11- 28_fair. How do we avoid bringing patent holders' wrath down upon ourselves? Well. That will at least give us an idea about how all this works in Linux. again. is Tord Jansson's BladeEnc. 1 mike users 206442 Nov 28 08:34 2001-11- 28_good. but there's no reason to occupy space if we can compress it. we've stepped into controversy here.wav -rw-r--r-. If we made the file a little better. One of these. 1 mike users 80234 Nov 28 08:48 2001-11- 28_good. To check this. You'll get a *. There are a few of these available for Linux.

wink.wav file with some options and you get an MP3 file. the Fraunhofer demo will do nicely for learning purposes. Feel free to encode any files you want. As far as I have tried. Being impatient by nature. Now. Let's look at these options. that is. It is also highly versatile. Popular graphic MP3 players are actually front-ends for MP3 decoders. You were going to run next door and borrow the neighbor's "Greatest Punk Love Songs" and start rippin'.wav -of 2001-[whatever]. . of course) Actually any MP3 encoder for Linux that you can find out there works in basically the same way. We'll you're out of luck unless you want to do a medley. Now we have our MP3 file. So let's save some CPU power and learn how things work in the process. as I mentioned earlier. I know what you were thinking. the MP3 file you're going to get. (no kidding) You can even "reverse engineer" the MP3 file or even parts of it back to *. we're lucky that our reminders aren't very long. At any rate. You input a *. -br stands for bitrate This is 128 kilobits per second and you'll get an acceptable. You can create playlists and play songs in alphabetical order or in random order. There you have it. -if means input file. almost CD quality file. To use the program. other README files). -if stands for "if it works" .tgz (or whatever the current file is called) There is a pre-compiled binary (aka . I went right to that and found out how to convert my *. and the author begins to whistle nervously) Playing MP3 files OK.that's only a joke.wav format. (I couldn't resist). There is a section in the manual that says "For the impatient". Logically then. -of means output file.tar -zxvpf mp3encdemo. I say "and/or" because these could be two different things under the x-window system. That's why I usually use the command line programs. (as long as they're under thirty seconds. most graphic programs can manipulate playlists and add an echo effect but can't take full advantage of mpg123's features.mp3 where [whatever] is the date of your reminder. we need an MP3 decoder and/or player. because the generous Fraunhofer people have given us a demo that only encodes 30 second long files. That begs the question: How can I hear it? Well. You can only do it on the command line.naah . You can even play little tricks and create weird disco versions of songs. just pick one of the reminders and type: mp3encdemo -br 128000 -if 2001-[whatever]. nudge nudge.program that works right away) and some documentation (manual.wav files to acceptable quality MP3s. the file your inputing or feeding to the encoder. behaves similarly and there is no 30 second limit. The program BladeEnc that we mentioned before. 'mpg123' is a very popular command line program for playing MP3 files. That means they provide a graphic control panel for using a program that you don't really see. (wink.

First.. To simply play an MP3 file.mp3 Let's say you already have a lot of MP3s. enter the directory where the files are and type: mpg123 your_mp3_file. then again. Just type: mpg123 -@ favorites . This will be good review practice for the command line as well. 'mpg123' comes with most major distributions. I don't want to know where you got them.mp3 >> favorites So I'd just keep adding songs until I had a nice playlist.. we just add to the playlist file and we don't overwrite the file as would be the case if we didn't use two >> symbols.mp3 Then I pick out some songs that I particularly like and make a file that is going to be my playlist: ls -1 Mozart_nightmusic. creates a file called 'favorites' and includes the 'ls -1' output in it.Anyway. The > symbol as you remember from our lesson on pipes. then we can play these songs. ls -1 Beethoven_fur_elise. To add more songs. You could random play them mpg123 -z *. To see the list. Here's how I do it. we would repeat the same command. but this time we would (obviously) change the MP3 file name and most importantly we would change the one > symbol to two >> symbols.mp3 One of my favorite things to do is to create a playlist. You may have gotten some . You can also get source code and RPMs if you don't have it installed already. This way. I enter a directory where I have MP3s: cd classical Then I see what songs I have: ls *. you'd just type: less favorites If everything is satisfactory. If you visit mpg123's home page you can find out all about it.mp3 > favorites The command 'ls' with the option '-1' lists the file name without any other information. etc.

wav sound effects files. Don't laugh! I have done this at parties. If you do want to do techno-multimedia things with mpg123. You will hear the same tone of voice because this doesn't effect the sampling rate of the file. with mpg123. Remember. you can also "reverse engineer" the MP3 file back to a *. I have used this program and this effect in my language work for purposes of "serious" study. That is. Well. This is *not* the Chipmunk effect. . you can test the aural skills of a person learning a language. mpg123 will play the same frame X number of times. you can use the -v option to get complete information about the track your playing.wav format is at least 5 times bigger. As the rate of the voice is not altered. By this. Just type: mpg123 -d 2 Mozart_nightmusic.mp3 You can also use the different options like -d or -h combined with the -k and -n to produce weird *. you only play so much of a song and the people have to guess which one it is. these options do not produce the "slow-mo" or "Chipmunk" effects.wav format.The email (@) symbol tells mpg123 to look for the playlist. It just slows down the speed of playback. That would play the songs in the order they are on the list. Even though I mentioned parties and that. so make sure you've got plenty of hard disk space. Your imagination is the limit. the *. it will play a frame and skip one. Instead of skipping frames. you can change the number and see at what point people can't understand something. before you try this at home.mp3 This will make the program skip over every 2nd frame. you're all set. You know.wav Mozart_nightmusic. the -k option tells the program which frame to start at and then -n option indicates where it should stop. If you want to play them in random order. how about doing Techno-Mozart? That's easy too. It will just sound "techno" as I pointed out. you would just add a -z before the -@ option More fun with mpg123 Let's say you wanted to play "Name That Tune". Pretty easy! You want more party ideas? Well. This command will only play the first 50 "frames" of a song: mpg123 -k 0 -n 50 Mozart_nightmusic. As we mentioned before. Remember.mp3 And you'll have the liveliest parties on your block! All courtesy of Linux and mpg123! Seriously. you can also do the opposite by changing the -d X option to -h X. mpg123 -w Mozart_nightmusic. By the way.

libogg and libvorbis These are the actual libraries that do the compression and decompression of the sound.vorbis. after all that is said and done about MP3. Installation of the Ogg libraries First.rpm rpm -i libogg-[whatever's current].gz (the tarballs). Ogg format Due to the restrictions on the use of MP3 technology. both Windows and Macintosh ports of the Ogg libraries are also available. Though it is associated more with the Linux and Open Source world.i386. I took this from libogg's own README file: .rpm rpm -i vorbis-tools-[whatever's current].com and install them. as you remember from our lesson on RPMs.i386./configure . These are designed to work in the same way as the packages bladeenc and mpg123 in the MP3 world. free (as in beer and source code) Ogg Vorbis format. install in the order I have given you above and do this as the 'root' user If you've got some other distribution like Slackware that works better with tarballs than RPMs (or if you are feeling adventurous/masochistic. if you have bought a boxed set of a major Linux distribution recently. you should have these libraries included on the CDs and be able to install this painlessly with your distribution's installation tools. There are even companies now using Ogg format for sound in their games. rpm -i libao-[whatever's current].i386. You won't need those if you're running Red Hat or any RPM based distribution (like Mandrake. Ogg Vorbis is a good way to enjoy digital music in a compressed format. Before you actually visit the site and start downloading. I must confess that I don't like working with MP3s as much as I like working with the new. Included in this last package are the programs oggenc and ogg123.Well.rpm rpm -i libvorbis-[whatever's current]. The command line software for coding and playing the *. Their command line options are essentially the same. KRUD etc. in order to listen to and make files in Ogg Vorbis format. This is proof of its growing popularity as a digital music format.ogg files can be found in there as well. you should to go over to the Ogg Vorbis website and download some packages that are needed: libao. Un-zip and un-tar them and read the readme and/or install files which will instruct you how to get those packages installed and working. Also.rpm Note: Don't get the source RPMs (the one with 'src' in the title). If you got your CDs from your cousin Larry with "Redhat" written on them in magic marker.i386. You can read the latest news on the status of the Ogg Vorbis project at their website.tar. then feel free to go over and download the RPMs at www. then get the files ending with *. in a package called Vorbis-Tools.).

if you own them. the line-out from stereo equipment). My nostalgia project with Ogg Vorbis To try out the capabilities of Ogg Vorbis and the capabilities of Linux in general for manipulating sound I decided to convert to *. You may have to fire up the Alsa mixer and change this. which the law allows.ogg format some old analog audio recordings that I had of a "garage" band I was in during the late 70's and early 80's. I am sure.make and optionally (as root): make install I guess you get the idea. Usually. Plug the line-out of the cassette player into the line-in input on the sound card. people using Linux who grew up in a time when the letters CD only meant "certificate of deposit" and who listened to vinyl records and audio cassette tapes. Type: alsamixer then. Their function is either color coded (speakers are usually green. That should activate your line in as the recording source. These were produced before the first CDs ever appeared on the planet using 8 track reel to reel equipment in my best friend's basement. If you have stereo equipment that has a turntable and/or audio cassette player with line-out plugs. make your way over to the line-in column and push the space bar. Now let's see what we can do with these libraries and programs to get some nice sounding *. How to digitally enshrine your past delusions of grandeur Needed: • One unsuccessful garage band of the 70's • A cassette of music of rock star wanna-bes • Audio cassette player with line-out plugs • Cables to connect the player to your sound card • optional . a microphone and a line-in cable (that is. Various cassettes were made of the original recordings and I wanted to preserve them digitally.Medical insurance (in case you get ill listening to the music) All sound cards have inputs for your speakers/headphones. the microphone is the default source for recording. It should look like this: . There are. using the arrow keys. Some might have even listened to 8 track tapes and are afraid to admit it.ogg files. this tutorial may also be applied to the possibility of making copies of records and tapes for yourself. microphone red and line-in blue) or written on the metal bracket of the sound card. It also gave me the opportunity to outline the procedure to use as a tutorial and to cowardly stay outside the realm of copyright infringement issues.

You can also adjust the sound with the up arrow.

Somewhat tarnished bronze oldies

Now, I put my cassette in the player and I was ready to go. I planned on using the wavrec
program I mentioned earlier in this lesson to convert the analog tape audio to *.wav files,
but I discovered a slight problem. I didn't know the length of time the songs took to play.
Being your basically lazy system administrator type, I decided to try a little trick. I
figured that none of them could probably last longer than 5 minutes, so I typed the

wavrec -S -t 300 -s 44100 stairway_to_the_basement.wav

That meant that wavrec would continue to record for 300 seconds (ie 5 minutes). You can
change that for however many seconds that you like. I sure you remember the rest of the
options from earlier parts of the lesson.

My plan consisted in pushing CRL + C when the song came to an end. At first, I was
afraid that would corrupt the data but when I tried it, it worked. The first trial run
sounded fine using wavplay. So I just continued doing this:

wavrec -S -t 300 -s 44100 smoke_on_the_wafer.wav

and pushing CRL + C at the end. Soon I had all my songs converted to *.wav files. Then
came the time to convert them to *.ogg format.

Working with Oggenc

Then I used oggenc to get them this format. Here's an example with one song:

oggenc -b 192 -a "G-rage_Band" -l "Demo Tapes" -t

no_sympathy_for_the_neighbors.wav -n "%a_%t.ogg"

Let's explain some of the options.

• -b stands for bitrate. Anything above 128 will give you good quality. I chose 192
here because this is fairly good quality without being excessively big.
• After the -a option you should put the artist (I use the term loosely in my case) in
• The -l option is for the name of the album. We never made an album, so I just put
"demo tapes" as you can see.
• -t stands for track or the name of the song.
• Now, type the name of the song whatever.wav
• -n followed by "%a_%t.ogg" tells the program to name the Ogg file for the
artist(%a) and the track (%t).

You've noticed that I have put underscores_between_words in true Unix filename
fashion. That's a good idea. (Demo Tape excepted - that's not going into the file name)

That should create some files in Ogg format for you. One word of caution. Both MP3 and
Ogg encoding is very CPU intensive. Make sure you're not doing anything that needs a
lot of CPU cycles at the same time. If you're interested in seeing just how CPU intensive
this is, just run the command: top and that will give you an idea.

Once again, if you've got some old tapes or old records and you want to make copies for
yourself, here's a way to do it. There is software available to take the scratchy sounds
from *.wav files made from LPs. There is good explanation of the process at

Well, enjoy all those old cassettes and LPs and if you were once a neighborhood Rock
and Roller, then try out the Ogg Vorbis tools and take a trip down memory lane.

Compact Disks

I love the scene in the Adam Sandler movie The Wedding Singer where the Yuppie junk
bond trader Glenn Gulia, brings one of the first CD players home to his fiancée; Julia,
played by Drew Barrymore. Gulia exclaims: "It's a CD player- it cost 800 bucks, but the
sound quality is excellent!" I remember those days in 1980's when I heard my first CD
and was amazed - no scratches- no hiss. The CD, as promised, ousted the LP record
forever. Not soon after the release of CDs and CD players, records disappeared from all
but collector's shops. Luckily, CD players didn't stay around 800 US dollars for long.

Soon software companies realized the potential for data storage in these little plastic disks
and the CD-ROM market was born. From about 1992 on the use of CDs in computers
increased exponentially. Now, almost 10 years later, we're not only talking about reading
CDs but writing to them with CD-RW drives that cost under 200 US dollars. A spin-off

of the CD, the DVD (Digital Video Disk) is becoming more and more popular everyday.
Soon we will have affordable drives for home use that write to these disks as well.

Linux has never been behind in supporting these types of media, so we'll show you some
of the utilities out there for playing and ripping tracks from CDs.

Playing CDs

As I pointed out earlier in the lesson on sound, I like to use command line programs to
play CDs. My favorite one and I think the one that's easiest to manage is tcd by Tim

You can control which tracks to play, adjust the volume, eject the CD and do other things
all from the keyboard. You can use 'tcd' to keep a database of your CDs for easy playing.
Under X-window, you can fire up this baby in an x-term and enjoy hours of listening

GUI based CD players are plentiful as well, and when you've installed and configured
your X-window system, you can try out those as well.

Ripping CD tracks

The whole Napster phenomenon, as I pointed out at the beginning of this article, made
the practice of converting songs on CDs "ripping as it is also called" very popular. Here
we're going to talk about one of the most widely used programs in the Linux world. The
official position of this author is that ripping tracks from one's own CDs for personal use
is OK by me (and the law, it would seem). For example, ripping your favorite songs and
converting them to Ogg format to make it comfortable to play your favorite songs from
your desktop doesn't entail you venturing into legal gray zones. If you shared them

cdparanoia is billed as a ripping tool for CD-drives that could be problematic. like Ogg.wav' (cdda stands for Compact Disk Digital Audio.wav.duh) and type: cdparanoia -."6" The output would look something like this: cdparanoia III release 9. named track01. To convert your ripped track to Ogg. ==) So now you have track 6."-5" . the Linux program par excelence for doing that is cdparanoia . It seems to work fairly well on the variety of speed drives that I have tried except for a couple of ancient ones.00]) to sector 58677 (track 6 [ Ripping from sector 48423 (track 6 [0:00.wav (== PROGRESS == [ > | 050085 00 ] == :-) . Here's how it works: Let's say you wanted to rip track (song) 6 from a CD.cdda.wav. called 'cdda. by the way) ready to be converted into your favorite compressed format. cdparanoia cdparanoia -B -.however.xiph. track02. You would place the CD in the drive (I have forgotten that on occasion .cdda.wav -n "%a_%t.54]) outputting to cdda. if you're interested in ripping tracks from CDs. track03.ogg" Now you have a nice Ogg file that you can play with ogg123 Other options for ripping tracks with cdparanoia include: cdparanoia -B This will rip the whole CD into separate tracks.wav http://www. It's available for download from the same people who bring you Ogg Vorbis. So. 2001) (C) 2001 Monty and Xiphophorus Report bugs to paranoia@xiph.8 (March 23. Here's a refresher. type this: (change it to your info) oggenc -b 192 -a "The_Rubber_Band" -l "Gummed Up" -t "shes_elastic" cdda.cdda. that's a different story.

Bill Gates. the only computing environment that most PC users have ever seen comes in the successive versions of their flagship operating system Windows(tm). has masked any trace of the traditional "black" computer screen experience. Well. that concludes our lesson on sound. The sales of Windows 95 proved that with a good marketing campaign he was able to sell the idea that people didn't want it and people only like the awesome lead guitar part of a song? That could be. especially since the release of Windows 95.before track numbers.This will rip tracks up to and including track 5 into separate *. You should be able to listen to. Windows has become famous for essentially blurring the reality of what a computer really does. . computer scientists and people who have an interest in computers beyond the mere end-user stage know that graphic user interfaces or desktop environments like Windows really represent the look and feel of the computer experience. Then Linux started to gain in popularity and be noticed by a certain segment of the public around 1998-99. chairman of the Microsoft Corporation once stated that: "Linux is 1960's technology with a new development model". What does he mean by this? I think basically that he bet his whole company on the assumption that people didn't want to see the traditional black screen and the command prompt anymore. Do not forget to type the double hyphens -. so if you want more examples. If you want one big file. there's a good source of information there. However. It was still there . create and manipulate sound with Linux. Just to finish off. The problem was that Linux offered the black screen and the graphic user interface as a separate package. just eliminate the -B option."4[:45]-4[2:15]" The above example will rip track 4 starting at 45 seconds and end at 2 minutes 15 seconds into the same just couldn't see it unless you purposely looked for it. In particular. the manual page (type: man cdparanoia) is a particularly well-explained one. but not the experience itself. Getting Started with Linux . here's an interesting combination: cdparanoia -.wav files. That is to say that Microsoft Windows. most people who use computers equate Microsoft with computing. Bill Gates had already established that this was a no-no and so Linux gets chalked up as "retrograde". Why would you want to do this? A number of reasons .Lesson 19 Graphic User Interfaces with Linux Some preliminary commentary and perspective As much as I like Linux and think that it is the best operating system out there today. Anyway.

Development of X Window still continues under the auspices of the X Consortium. Bill Gates' comment about Linux may be turned back now upon his own company. however. buttons and menus that make up a window. Pointer). it is by far the most widely used window system under Linux. The main idea behind this actually came from an earlier project at Xerox called WIMP (Windows. you have to have some graphics libraries installed on your computer. Microsoft was convicted of being a monopoly in restraint of trade. Icons. There have been several versions of XFree86 and the current stable version at the time of this writing is XFree86 4. Unfortunately. In 1992 the XFree86 Project was started. For one. IBM has spent 1 billion US dollars on Linux and essentially gotten its investment back. By 2002 standards it was a primitive GUI system to run programs with. That fact that you can use GUI based computing under Linux goes back to the time before Linux was even thought of. what it is supposed to look like and what the buttons and menus are supposed to do. was born on the Internet and grew up with it.0. 1 The 'X Window system' provided the libraries to make the frames. This aimed to develop a free version of the X Window System. Menus. Then again. Microsoft spends most of its days now fighting security brush fires because in blurring the difference between the operating system and the graphic user interface it sacrificed security for ease of use. more complaints about Linux's perceived lack of user friendliness outnumber complaints about Windows being essentially a Maginot Line solution for secure computing. a project that essentially started the idea that computers could be used in an attractive graphical environment. listen to music. The GUI family tree Without getting into a lot of technical jargon. These libraries determine how a window is to appear. Any attempt at using Linux as a desktop operating system to get "productive" work done (word processing. It still pales in comparison with Microsoft's desktop popularity - so much so that as most everyone knows. Linux's market share continues to rise. In the mid-eighties at the Massachusetts Institute of Technology they came up with the X window system. If you asked your average Linux enthusiast what he or she thinks of Windows. Linux. you might get this reply: "Windows is pre-Internet technology with a slick new marketing campaign". Though there are other equivalents to the libraries that XFree86 offers. you'll get a good idea how the balance between user friendliness and security is a good one with our favorite OS. Windows development model was conceived before everybody's computers where connected to each other and it continues to reflect that. . Why? Because we're in a new world of connectivity. But then again. spread sheets) or to entertain oneself (play games. watch TV) will start with the installation of XFree86. with a small 'w') to appear on your computer screen. in 2000 and 2001 successive email viruses and worms crippled Windows-based IT departments and brought scores of corporate networks to a grinding halt. a lot has happened since 1998. in order for those nice windows (yes.Now it's 2002 and Linux still offers the black screen and graphic user interface separately. Hopefully in this lesson on graphic user interfaces under Linux.

In this case. before you see your desktop utilities of choice. Now all of the major distributions have their own tools to get X running in no time. Then you would type: startx and your graphical environment of choice comes up. SuSE offers a program called Sax. 1 The X Window User HOWTO by Ray Brigleb. This is done by way of the program XDM. you would turn on your computer and get the black screen and the command prompt. It is graphical. The other is installing the X server that goes with your particular hardware. 'Choice' is the key word here. Regardless of the way you choose to start up your machine. it used to be quite a task to get X-Window running even on a standard Intel type PC. so the simple fact that you can run it before you've even start configuring X is a good sign. you can switch into any number of desktop environments "on the fly". The X server is just the means of getting XFree86 to work with the graphics card that you have in your computer. if you're not interested in having more than one. 1999 X-Window configuration In Linux days of yore. This is about the most user-friendly program I have yet encountered for X setup. the install process takes care of getting XFree86 on to your system. This is the Microsoft Windows influence on how things are done that I mentioned before. One is installing XFree86 itself. Of course. Mandrake offers their X configuration right in the install package so you go from start to finish all in the same package. That is. you have to know what card you have so the correct X server gets installed and you can have a graphical environment to look at after the install process is finished. then XFree86 and the X server for S3 cards should get installed. we're going to have to configure XFree86 to use your monitor. mouse and keyboard. but you may get asked what graphics card you have when you do a more interactive type of install of Linux. then you can use XDM and have your favorite desktop there waiting for you. I explain this because some distributions do a pretty fine job of getting you up and running. By having the command prompt and then issuing a command to start the GUI. For example. in fact start X. Recently. . then you would install the XFree packages along with the X server package for ATI. There are two parts to this. major Linux distributions will also offer you the possibility of getting right into the GUI when you turn on your computer.With major distributions. If you have an S3 card. if you have a graphics card from ATI. Traditionally in Linux. we'll have to come up with a configuration so we can. whether you type startx or not.

If you don't believe me. However. Here are a couple of examples of what it looks like: The most important questions that this program will ask you about your hardware are the ones about your monitor. For example. with a program called xf86config. it's the horizontal one that's a real stickler) but trust me . this is what xf86config says . if you don't enter the values correctly for the type of monitor you have. This program asks you questions about your peripheral hardware. This is a last resort and will almost always get you good results. if you don't answer the type of questions about your mouse correctly. your mouse won't work. in text need to go get the manuals for your monitor and enter the real values when it asks you. I don't mean to imply that the others are not important. like so many others waiting to be thrown away or recycled.However. That is obviously important. your monitor will become just another useless piece of plastic and glass. like your keyboard. you may not be able to use letters or symbols that exist in your native language. your monitor can get seriously damaged. you can do this step by step. It's beyond the scope of this lesson to explain what the vertical and horizontal refresh rates mean (actually. If you enter the vertical and horizontal refresh rates incorrectly. mouse and monitor. given a situation where your X setup doesn't go smoothly. Or if you don't enter the country/language values for your keyboard layout.

then you need to have a program like xdm. . so let's try a simple experiment with one of them. the questions are more straight forward and errors have less grave consequences. When you push 'quit'. or 'kdm' or 'gdm' which will start KDE or GNOME. At this point in the configuration. choose a conservative setting. we should talk about how you want your computer to boot. Your x-term session ends and your back in your terminal. If you found that you've changed your mind. Do you want it to go directly to a graphical environment or do you want your machine to boot into text mode where you would then issue the 'startx' command? If you want graphics mode right away. Then type 'exit'. Some X programs don't need a windows manager to run. Once you have passed this point. you'll notice you go back to your standard terminal.It is VERY IMPORTANT that you do not specify a monitor type with a horizontal sync range that is beyond the capabilities of your monitor. The decision to startup graphically is made when you first install Linux. You can try writing something and pushing the buttons. two desktop environments that we'll talk about a little later. let's first see how our bare-bones X-Window setup is working. If in doubt. There isn't any practical reason to use X-Window in this way. Before we go on to talk about choosing a windows manager that suits you. that is. But it's nice to know you have it there. Before we start talking about the different windows managers and desktop environments that are available for Linux. It's better to use its powerful capabilities with a full-featured windows manager and desktop environment. major Linux distributions have streamlined this process so you probably won't even need xf86config. you can choose option 11 and enter your own values from the monitor's manuals and you'll be sure to get the correct settings. Type this in your terminal window: xinit /usr/X11R6/bin/xedit This will fire up a simple text editor called 'xedit'. as I mentioned. To boot or not to boot (in graphics mode). especially if your hardware is proving to be less than cooperative. that is the question. In the past years. you can usually change this with your distribution's tools. Try the same with an x-terminal: xinit /usr/X11R6/bin/xterm Type in a few commands. which will start your windows manager of choice. you now want to startup graphically or vice-versa.

The file name will depend on your distribution. The advantage over Macintosh is primarily cost related. If you decided not to use a graphical login.You can change the start-up behavior by going to your /etc/ directory and changing a file. In the line: id:3:initdefault:. you may want to un-install 'xdm' (or gdm/kdm). you'll need to change the file /etc/inittab. Choosing the look that's right for you In recent years. . it is the file called rc. let's explore some of the possibilities for your Linux desktop. With SuSE. Well. the number 3 needs to be changed to a 5 As I mentioned. comparisons with the user friendliness of the omnipresent MS Windows and the well-deserved good reputation of the Macintosh OSes. of course. then you've probably made the decision to try Linux. change the default graphical login to a text mode login (something which I recommend). if you want to do just the opposite. we should first talk about the difference between a window manager and a desktop environment. of course. Before we talk about what your Linux desktop is going to look like.I was staying with relatives and needed to get some work done). just reverse all those changes above. After using Windows 95 from 1995 until the end of 1997 and testing various Mac OSes extensively (at one point using Mac OS 8 exclusively for one month . Graphic user interfaces under Linux are comparable with these other ones in just about everything and even enjoy some advantages. stability and security. You should change the line: DISPLAYMANAGER="" to: DISPLAYMANAGER="xdm" You may also use 'kdm' or 'gdm' here. that the graphical user interface for Linux is at best. as Linux has become more popular. This is based on. I can safely say that Linux doesn't and probably hasn't had a reason to envy the other two major OS offerings in terms of graphic interfaces since about 1998. Make sure that your CHECK_INITTAB setting is "yes" In the case of RedHat and RedHat based distributions (Mandrake. unmanageable. members of Linux community have tried hard to shake off the reputation. If you're reading this.config. KRUD). boring and at worst. The major one over MS Windows is. which I feel has always been unwarranted. now that we're clear on whether to use a graphical start-up or not. for example.

I'd rather pass that RAM savings on to the really important applications running on my computer. I'd like to acknowledge that the main file was written by Jay Kuri. * I have a menu item that links to a script that will place a new picture as the desktop image when I get bored of the one I've been seeing for a couple of days (or hours. Fvwm2 is so configurable that if you got 5 different configuration files. They really prefer the click-as- you-go configuration of other window managers. depending on my threshold of boredom at the moment). as far as I know. I have fun tweaking the configuration file. the aspect of its buttons and frames. known as . I think the main reason that a lot of people prefer other windows managers to fvwm2 is that the file that sets up your desktop menus and buttons and other things has to be worked on by hand. It determines how it is going to reacted when you click in it or you reduce it or re-size it. I just happen to like its minimalist approach and low memory requirements. This is. The more popular ones make their way onto Linux distributions. I happen to like experimenting and I am prone to change it once a month or so (depending on that threshold of boredom factor again). off the Internet and tried them out. FVWM.Window managers Most programs made for computers nowadays run in a graphic environment. you would swear that you're seeing 5 different window managers. • the fvwm family • Blackbox • IceWM • Sawfish • Enlightenment • WindowMaker • AfterStep You can check out the above sites and find one that you like. it became apparent that these programs would be more efficient if they could take their attributes from a common source. You can check out the . Here is a list of the ones that generally find their way onto the major distributions' CDs. I have provided a screenshot (153k) of the my view on the world of Linux. It is also the most minimalist of the one's I've listed here.fvwm2rc file behind the above screenshot. However. the oldest of the aforementioned as well.fvwm2rc. The main buttons you see are from . I also included some tweaks that I got here and there. They range from completely minimalist to well-engineered works of art. The first one. wherever you are. This is what a window manager does. is my personal favorite. This is not meant to be an endorsement of this window manager. There are more than two dozen different window managers available for Linux. It decides how the window is going to look. Thanks Jay.

Miguel de Icaza and Nat Friedman founded Helix Code in 1999 to oversee the business end of developing the GNOME desktop. However. the ultimate user-friendly GUI experience for Linux. There are two major desktop environments. People have become accustomed to an icon system that sits on a "desktop" that allows you. known as 'QT' are now open source.Eric S. Previous uptime was 31 days. KDE made the decision to use libraries to create the desktop interface which were not open source. GNOME was founded in August of 1997 and was an attempt to create a uniform desktop manager that was totally compliant with the GNU's General Public License. which has its own background window manager. at the time. 21 hours. the issue inspired a young Mexican developer named Miguel de Icaza to create a desktop interface known as GNOME. Peruse the offerings out there and choose one that suits your needs. everyone is not into tweaking and prefer a more "clickable" configuration. avoiding the licensing issues involved in the case of KDE's using the QT libraries. This usually goes beyond the call of duty for a window manager. We had a power blackout that lasted about 3 hours while a transformer in my neighborhood was being fixed. The libraries in question. Protecting the environment Most computer users like to have a set of tools that they always see . to have your favorite program up and running or open a web browser to your favorite website. known as kwm GNOME or KDE The question: 'Should I use GNOME or KDE?' was a controversial one not so long ago. GNOME. Of course. * There's a neat application called gkrellm that keeps track of a lot of things that are going on with the system besides displaying the time and date.things like a clock. In these cases you need the services of a "desktop environment".fvwm2rc and modified slightly. a button that displays a menu with the programs available for you to use. You may also want to hold of on the window managers for a bit and read the next section. I don't remember what happened 31 days before that. which uses the services of independent window managers (at the time of this writing GNOME runs with Enlightenment) or KDE. The controversy stemmed around the KDE project which was founded in 1996 with the goal of creating a uniform desktop experience for Linux. Luckily. . with a click of your mouse. Raymond's (author of The Cathedral and the Bazaar) . a region that displays the date. This is a uniform looking desktop interface which sits on top of and uses the services of a window manager. now. MS Windows users should take note of the uptime (last time of reboot) of 27 days. it is just a matter of which interface you like more. so the question is pretty much moot. We talk about desktop environments. Helix Code later changed its name to Ximian.

if your distribution did not have this or you are reading this and have not yet installed Linux. However. It is based on Mozilla. They offer multi-media software for playing CDs. There is no major application that a computer user needs that Linux lacks. but for the other major OS platforms. agenda and scheduling software and address books. It is available not only for Linux. manage your files. both offer top-rate productivity applications like email clients.What GNOME and KDE can offer Both of these desktop environments offer a Microsoft Windows-like experience. it offers most of them. Regardless of the "look" you've chosen. Where to get these desktop environments Most distributions come with both the GNOME and KDE desktop environments. write email. Opera Software of Norway released their first version of Opera for Linux in March of 2000. write letters and a thousand other things you want to do. Opera Billed as the "fastest browser". Popular. These early versions were not stable but the company kept working and slowly added features to their Linux versions. you may want to check out both offerings. The rumors you hear about Linux lacking applications or not being able to "make it on the desktop" are false. useful and important programs that run in X- Window At this point you've chosen your window manager and/or desktop environment. You need applications to surf the Internet. . you have to have programs to run. Both offer a large selection of games in addition to other sundry applications for system monitoring and other miscellaneous tasks. To date. which is an open source re-write of the famous Netscape Navigator. • KDE homepage • Ximian Inc. KDE is the only one of the two to offer an office suite for word processing and its own web browser. MP3s and other music formats. Though the Linux version doesn't offer all of the features of their Windows version. Internet/WWW Browsers Firefox Firefox is the most popular open source browser. Other than that. You can also download the latest versions from their homepages.

Since it forms part of KDE. Sylpheed Japanese developer Hiroyuki Yamamoto has developed this fast.Though an ad-supported version is available free of charge. then you can see why it's getting some notice. powerful features are added. sans the virus problem. complete support for HTML formatted mail and other useful features. There is support for all major types of email transport. easy to use full-featured email client. Email has become so important in our everyday life that I have observed that advocating one email client over another often takes on a fervor usually associated with religious beliefs. task management. Konqueror Konqueror. let's look at some popular email clients available for Linux Email clients The program you use to get. new. This client is a big hit with developers as it offers really nice threading (the ability to keep track of all mails based on one original mail) and a fairly good way of . Kmail Kmail is KDE's major email client. part of the KDE project. Evolution Ximian's Evolution. Now. Here we'll look at some of the major email clients for Linux. address books and all those things that the busy yet organized person needs. With each subsequent version. than Ximian is probably the thing for you. is a file manager and Internet browser wrapped up into one. but its email management capabilities are very powerful. You can surf the net and manage your files at the same time. write and send your email is often referred to as a "client". Opera is a proprietary product and its source code is not freely available. Seeing that it has all the features of Outlook. It is not a complete groupware solution like Ximian's Evolution. It is shaping up to be the only serious challenger to Microsoft Outlook's domination of the groupware scene. This is to distinguish it from the programs that sit on servers that receive and process emails either sent to or sent from you. If you're looking for a good email client that comes with scheduling tools. intricate configuration of mail filters. you need to the desktop environment installed to run Konqueror. part of the GNOME desktop project has received a lot of press lately.

StarOffice was acquired by Sun Microsystems in 1999.managing different email accounts. A lot of people will probably point out. If you handle a lot of email.2 at the time of this writing. VistaSource's Anywhere Desktop for Linux This suite was formerly known as ApplixWare. you may not want to use Mutt just yet. However. emails will practically write themselves.doc) . It includes all of the standard office suite applications. It comes complete with word processor (of course).muttrc file. who developed this email client. worker). presentation software plus it offers web browsing and email and a few other features. Sylpheed offers the tools to do this all in one client. you are probably not going to ever switch. However. if you get used to Mutt. Office suites. database interfacing. This is the main configuration file that determines how Mutt is going to work. KOffice KOffice is the KDE Project's offering for desktop productivity. that Mutt doesn't have a graphic user interface. Using it efficiently requires a well-written . This is not a free product. word processors and spreadsheets StarOffice StarOffice is a complete. This one just sucks less. After you have some months behind you working with it. That is true. The current stable version of this suite is 5. full-featured office suite on the idea of Microsoft Office. spreadsheet. If you have to respond to mail in different capacities (boss. and rightly so. this client is so popular in the Linux world that I just had to include it here. Once again. The word processor part of the suite can open Microsoft Word format (*.. Siag Office Don't let a name like Pathetic Writer dissuade you from checking out this office suite for Linux. friend. This one boasts a Microsoft Office look and feel. However. this is the client you probably want to at least look into. Mutt One of the most famous quotes in the Linux world is the one found at the top of the home page for Mutt: All mail clients suck. Originally developed by StarDivision. It cost 99 US dollars at the time of this writing. It's lack of a pretty interface is more than made up for by the ability you have to configure Mutt. If you are a newcomer to Linux. all the standard office suite tool are offered here. This was said by Michael Elkins. The software is offered free of charge. Sun has announced that they plan to charge for downloads of StarOffice version 6.

but a set of applications that are often associated with office suites. Another free offering in the office category. so to speak. Provides compatibility with Microsoft Office formats and smooth integrating into the KDE desktop. Little goodies to improve your quality of life (aka: those little apps you'd rather not live without) Music When I got broadband Internet access. but the software must be purchased in order to continue to use it. I was delighted. It looks .000 miles from the place where I grew up. HancomOffice for Linux Hancom Linux of Korea has developed this commercial full-featured office suite for Linux. No more paying for dial- ups on a hourly basis. you'll get these applications plus the other productivity tools associated with the GNOME project. No more painful downloads of software. a word processor (it even runs under Windows and MacOS) • Gnucash. a personal finance manager • GNOME-DB. RealPlayer I can't help but make an editorial comment here about this application. This for me represents more than just a way of listening to your favorite on-line radio station or viewing the BBC World Service broadcast. you say. so when I could finally listen to a radio station from the city where I was born as easily as my mother (who still lives there) can switch on the radio. RealPlayer represents the difference between stations having a choice to "webcast" freely or having to kow-tow to Microsoft. GNOME Office GNOME office should actually appear in quotes. database connectivity software If you download the Ximian Desktop. I live more than 6. Well. because this is not an office suite in the classic sense. RealAudio player for Linux is just one of those little apps I'd rather not live without. But what's more important than all of this is that I could now listen to radio! So what. Some of the high-lights include: • Gnumeric. as a package deal. The project started with the Scheme in a grid spreadsheet.files. Now you know why it's called Siag. An evaluation version is available for download. a spreadsheet application • AbiWord. my life changed forever.

you can go get RealPlayer for Linux and install it and start listening to web broadcasts. You can listen to your favorite MP3s plus files in the newly emerging free Ogg Vorbis format. nice. . Gimp also has another meaning. XMMS XMMS stands for the X multi-media system. That's a better description. however. spruce. You'll be pleasantly surprised. xv's primary thrust has always been displaying images (in many formats) quickly and nicely on a wide variety of display hardware. Real Networks is at this point the only thing preventing them from doing it. according to the dictionary I consulted: Smart. This is the author's own words: Basically. You can apply all sorts of filters and even write scripts for doing things to the images automatically. If you work a lot with images and think that by switching to Linux you'll be unable to work efficiently with graphics. Image viewing and editing The GIMP GIMP stands for GNU Image Manipulation Program. This is a full fledged image creating and re-touching application. If you're familiar with WinAmp.jpg and xv will display your favorite picture as the pic on your desktop. It is what I use to display the image in my desktop Gates and Co. Sometimes I get bored and I use this script to rotate my favorite pictures. John Bradley. xv is not it. literally. It should never be associated with the English word meaning lame. plans on dominating the on-line music/information industry. I use this program all the time. #!/bin/sh for i in `ls /home/mike/rotation_bkg/*. then check out The GIMP.jpg` do xv -root -max -quit $i sleep 300 done If you're looking for heavy duty image software. type this: xv -root -max -quit your_favorite_pic. xv doesn't stand for anything. xv In the words of the its author. you'll have no trouble getting used to this program. trim. Now that I've finished my editorializing.

it's almost like a mini-operating system in and of itself. first started working on Emacs in 1974. This next use of ImageMagick is my two-year-old's favorite. I would probably go off and herd sheep.jpg This starts up a slide show of him at blinding speed and he gets a big kick out of it. If you've got a lot of images in a directory and you want to have an inventory of all of them as one image. to modify my image rotation script above. I use it for three basic things. It has since then become the flagship application of the GNU project. which is like the console version.jpg' This creates one image of all of the jpg images as thumbnails in the directory you're in. just use the shift > keys or click with the right mouse button to call up the menu. a version expressly written for X-window. It does a little bit of everything. Richard Stallman. for example. Even for non-programming tasks I use it. but has clickable menus and windows and everything you need to work in a graphical environment. It is a Swiss Army Knife of editors. Emacs is essential for working.That pretty much sums it up. founder of the GNU project. I refer to the x-window version of Emacs. If you want to get the images rotating at a more manageable speed. Emacs There is a version of Emacs if your not using X-window and then there's XEmacs. The 'display' tool I use to tell my email client open images that people send me in emails. If you're a programmer. so be patient. To me. This takes up a lot of CPU power on even a fairly powerful machine. It is truly the perfect application to be the one associated with the GNU. If you wanted. ImageMagick ImageMagick is a suite of tools for displaying and manipulating images. you would open up a text editor. (and if you think I'm joking. There are two that I use on two different occasions. If I could not use Emacs for some reason. you might want to consider doing them in small batches. Another one I use a lot is the thumbnail generator. ask my wife). It's not as powerful (in my opinion) as The GIMP but more powerful than xv. Text editors and viewers Sometimes you don't want to fire up a whole office suite to read some text file and sometimes you have to create and/or edit documents as plain text. To call it an 'editor' is to insult it somewhat. I have some pictures of him in a directory and I type: animate *. then you would type: display 'vid:*. If you've got a lot of images in a directory and a slow machine. xv is distributed as shareware. The entire Linux Online .

this is how I run it: root-tail -color yellow -font 12x24 -shade -g +10+100 $HOME/reminders & Let's explain some of these options. '-shade' will give the text a little shade under it and will look snazzier. First. write something that you want to remember. Then. That day in 1974 when Richard Stallman sat down and started development of Emacs is a great day in history. xedit -bg seagreen -fg navajowhite -fn 9x15*bold some_text_file. First. Then on each line. You can experiment with settings. For example.beginners' course (yes. xedit xedit is a basic text viewer/editor for X-window. you can use GNOME Color Browser. I normally use this to remember important stuff. you run root-tail. but there is one thing I like very much about it. My eyes don't seem to like it either. root-tail can be used to display these files on your desktop while you're running X-window. I use +10+100 which set it right in front of me. '-g' stands for 'geometry' or the location in the window. Now you have no excuse for forgetting to buy your loved ones presents on their birthdays! gkrellm . for web page work) and you've got the GNOME desktop installed. you should create a text file with your favorite editor. It is not slick or fancy. It was one of the first applications. The ability to fire it up from an xterm with a couple of preferences of mine. Miscellaneous Programs root-tail tail is a console application that is normally used for monitoring files that change constantly. the words you are reading right now) were written in their entirety using Emacs. With xedit. Reading fairly long things on a computer is not one of my favorite activities. you can use xcolors to get a background and foreground combination that suits your eyes. If you want to select colors (for example. It's easier to manage that xcolors and has a nice grab feature to select colors from other places and get their values/names. like log files. I've chosen a good sized one. after '-color' you should use the name of the color you want the text to appear in.txt & As we're on the topic of basic X-Window applications. As you see. you can specify a readable font and some good eye-friendly colors when you start it up. Use xcolors to find a color you like that's supported by your system. The next one is '-font'. It really comes in handy. It's best to do this with a few options. Call it 'reminders'. Use the right mouse button to select a font color and the middle button to select the background.

Xchat xchat is a comfortable IRC (Internet Relay Chat) client. much more. swap space. There is the possibility to use Python and Perl scripts to automate some things you do. You can use it to start programs automatically when you start X-window. It's running on the upper right side of my desktop. Type: killall xclock to shut off the clock each time. Type: cp .Xdefaults file There's another file in your user directory called . You can see it in this screenshot. you can watch your CPU usage go off the scale when you do them. Invariably. make a backup. Open the file with vi or the text editor of your choosing.Xdefaults . You can keep track of you memory usage. It's very easy to configure to your liking. You can use this file to change the way some of your X-window applications look. There are also plug-ins and themes/skins available. how much bandwidth you're using through your ethernet card and much.xinitrc file.Xdefaults_good . It's useful as a way to alert you to how many clueless Windows users there are. Just type your settings into an xterm and try different ones. when some Sircam provoked mail comes through.This is nice little application to monitor what's going on with your computer. the 'eth0' monitor. for example. It's fun to try out different styles and get some settings that please your eye. . Place your mouse over gkrellm and press F1 to configure other monitors. which checks bandwidth usage will start rising for no apparent reason. If you do conversions of audio to MP3 or Ogg format. Experiment with options first before you put your definitive xclock settings in your . but not too small clock in the upper left hand corner of your desktop.Xdefaults. Before you try to do this however. add: xclock -bg wheat -geometry 100x100+1+1 & -bg sets the background color and the -geometry setting I have used here gives you a fairly small. Then. Have a look and we're sure you'll find the right programs to suit your needs Tips and Tricks for X-Window . You can type: man xclock to see more options. A lot of programs to choose from There are thousands of programs for Linux in our applications section.xinitrc This is a file you'll find in your user directory.

The two rows of exclamation points I've used to show where my emacs section begins and ends. First.Xdefaults This will restart the x-server database and log in your changes. let's change the look of emacs.because there is always some danger of making some applications non-operable because you have left spaces where you shouldn't. you can type xwininfo into a terminal and then click on any window.Xdefaults file that needs to be eliminated. It's just something extra to remind me when I made the changes. If emacs doesn't come up. just type emacs in an xterm and an error message should appear saying something like: Warning: Color name "khaki " is not defined or similar. X- window keeps your old . you have to issue this command in an xterm: xrdb -merge $HOME/. As an example. you may have left some trailing white space. Restart emacs and you should see your new colors. you'll make your desktop more to your liking. I had another xterm open and I clicked on it and got this info: . To make the changes take effect. Then I use two to comment that I am changing emacs and I have included [date] where I would put the actual date to show when I made the changes. You don't have to do this. With: emacs*background: DarkCyan we can change the background of the application's menu bar and frame.Xdefaults file. Add this to it: !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! emacs changes [date] emacs*Background: DarkCyan emacs*Foreground: Khaki !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Let's explain what we've done here. the exclamation point (!) in this file is used to make comments. then you've got whitespace in your . Most major distributions provide a working . It's best to leave what you find there. for example. You can use any color you like that the system supports. With: emacs*Foreground: Khaki we've changed the color of the words in the menu. If you don't do this. First. xwininfo If you're interested in seeing a bit of information about certain programs running. It is important when you change settings that you leave no trailing spaces.Xdefaults in memory and you won't see anything new. open up the file with Vi or any text editor your prefer. Then we make the actual changes. For example. If that is the case. but you're free to add stuff to it. If you see a space before the second quotation mark. As you get more adept at changing things.

For example. If you get tired of pictures and you want something plain. the second pitch and the third duration of the beep. monitor and pc speaker. . You can also change the tone by typing something like: xset b 30 550 300 The first number is for volume. we told you how to use xv to put your favorite picture on your desktop. Of course. For example. More X-Window Tips and Tricks Starting X on other virtual terminals With Linux. you're free to use the color you like! Type: man xsetroot to see other options. Remember though that running two instances will use up a lot of memory. This one is soothing to the eyes. It's the same color used on pool and card tables. typing: xsetroot -solid seagreen will get you a solid dark green color as a background. And to turn it back on? You guessed it: xset b on. you can use xsetroot to just put a color scheme on the desktop.xwininfo: Window id: 0x2c0000e "xterm" Absolute upper-left X: 211 Absolute upper-left Y: 132 Relative upper-left X: 0 Relative upper-left Y: 0 Width: 581 Height: 340 Depth: 16 Visual Class: TrueColor Border width: 0 Class: InputOutput Colormap: 0x20 (installed) Bit Gravity State: NorthWestGravity Window Gravity State: NorthWestGravity Backing Store State: NotUseful Save Under State: no Map State: IsViewable Override Redirect State: no Corners: +211+132 -8+132 -8-128 +211-128 -geometry 80x24-3+109 This comes in handy especially to find suitable '-geometry' settings for use in starting up applications and including them in the . xset This is a command line utility to control things like your mouse. Both GNOME and KDE have other graphic apps to do this stuff a lot easier. You may open up another virtual terminal and start another instance of X-window. so I find myself using this less and less. xsetroot In a previous section.xinitrc file. keyboard. But you can try it out. type: xset b off to stop your computer from beeping at it. you are not limited to starting X-window only once.

I point to the computer across the room and then say: "Now I am going to start the browser from that system and make it appear here. you can start a program on a computer 5000 kilometers away and use it on your desktop.:1 You can switch between instances of X-Window by typing: CTRL + ALT + F7 and CTRL + ALT + F8 Using the X-Window programs from another computer This is the thing I love to show people from the MS Windows world. You should never do this if you're working over a public network. The second one is very secure and can be used for trans-oceanic X-window sessions. like the Internet. sitting at 'amos'. There are two ways to do this. The computer doesn't even need to be in the same room.0 then export DISPLAY Now you can type the name of any program you want to run that you know is on 'andy'." You don't need to be David Copperfield to perform this magic. if your workstation is called 'amos' and the other machine is called 'andy' and you want to use a program on 'andy'. For example. login into 'amos' (telnet> open amos) Then. You also need a means of logging in to the other computer. One is not secure and probably should only be used on a local network. to switch to another virtual terminal. you can use this fairly safely in a local network. telnet is insecure. If you have the remote login device telnet and the telnet server installed on the machines. This are better ways of doing this. You only need X-window running on one and installed on the other. type: DISPLAY=amos:0. . as I mentioned. It can be in a different room in a different building on a different continent. you would type: xhost +andy Then with telnet. Providing your bandwidth is good enough. if at all. press: CTRL + ALT + F2 (or F3 up to F6) Then login as another user and type: startx -. And here's one more thing.As we saw in previous lessons. Remember though.

You don't have to be a programmer to make a vital contribution. Using X on another machine. Make sure you have OpenSSH server on installed on 'andy' and have created a user account there. you can do this. On 'andy' you need to login as 'root' and make sure that there is a line in a file called 'sshd_config'. A secure shell for logging in at other computers in a secure manner. It is becoming a serious threat to the dominance of Microsoft Windows not only in the server market but on the desktop as well.Remote X sessions with OpenSSH Open SSH stands for Open Secure Shell. . Linux has come a long way in the past few years. You can also volunteer to do some work. Then you need to restart the OpenSSH server. If this says X11Forwarding no than you need to change it to yes. Then. about the software you've tried. both positive and negative. You can translate the documentation or the graphic interface to your native language. The important work done by the people in the GNOME and KDE projects as well as other those carrying out development of other window managers and XFree86 show the level of commitment there is to getting Linux on the desktops of the worlds computers in offices and homes. As I mentioned. In this lesson we've given you a number of addresses of web pages of these types of projects. contact the developers or join the mailing list for that particular project and provide feedback. You're sitting at your workstation called 'amos'. A final word about X-window The GUI applications for Linux are always changing. for example. You log in and then you can run the X application that you want. Here's what you have to do. It will come up on your desktop on 'amos' courtesy of 'andy'. The best thing to do to support these efforts is to check back on these projects from time to time. What goes over the network is encrypted and your security is not compromised. Also. The easiest way is to look for its PID by typing: ps ax | grep sshd and killing it's PID number. Let's use our 'amos' and 'andy' example again. That's just what it is. usually located in /etc/ssh that says X11Forwarding yes. You may have to specifically install the OpenSSH server which you need to have to for this to work on your local network. like so: ssh -l [yourusername] andy you'll be asked for your password. As long as you have a OpenSSH client and an account on the other machine. if you want to do this locally. install the latest version and talk to your friends about how good you think they are. evolving and adapting to user needs. Most major distributions will offer this and it is normally installed by default. Then type: sshd to start the server again. That's essentially what the Linux movement is all about. from 'amos' just connect to 'andy' via SSH. also known as X forwarding is usually disabled by default so you may have to edit one file to get this to work locally. If you're doing this across oceans or continents the configuration will depend on the remote machine.

The fact is that there is an endless amount of things that you can do with Linux. Here are a few of the topics that we'll be covering in the next course. all you have to do is sign up and you'll receive our newsletter with updates. . • general system administration • security alerts • Linux kernel compiling and installation of new kernels • automating services and tasks • use of Bash and Perl scripts • firewalls • setting up a web server with Apache • setting up a mail server with sendmail • Samba for Windows file sharing • Professional databases MySQL and PostgreSQL • Linux for the small business If you are a registered user. Our aim is not to make professional systems administrators out of those who follow the course. That's how Linux grew into the major operating system that it is and that's essentially what the Linux movement is all about. manage data.Lesson 20 The end of the beginning This is the end of Getting Started with Linux. surf the web. the point is to learn and to have a little fun in the process. This course. we'll keep you posted on updates as to the availability of the Intermediate Linux Course. Getting Started with Linux .to try expanding on the things that you've learned here. write email. Where do you go from here? At this time we're working on our Intermediate Linux Course. This means that you're using it to maintain files. If you're not registered. In the end. which is still in development. Our aim here was to give you the basics. on a CD or streaming over RealAudio. write documents . will take you from the beginner level to the point where you feel very comfortable with Linux. What we have intended to do is take you from the point where you've got some Linux CDs and a computer in front of you without Linux in it to where you've installed and and you're using it productively. Now it's up to you to explore. keep figures straight with a spreadsheet. our beginner's introduction to this operating system. any form of collaboration is good.In the end. but to make you independent enough with your Linux machine that you don't need to seek outside help as frequently as a novice does to solve the occasional problems that arise. At the same time you're listening to your favorite music in either MP3 or Ogg format. chat with friends.

Please. feel free to send us suggestions and comments through our webmaster .