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
Objectives What is Linux? Installing Linux An actual install About Debian GNU/Linux

Lesson Two
Installing Debian GNU/Linux Partitioning 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 kill' 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 .

do everything that you do with MS Windows and much more. that is the question. The course should be oriented towards people migrating from other OSes and in particular. MS Windows 9x. has its operating system installed on 90% of the world's computers. enjoying an illegal monopoly.Graphic User Interfaces with Linux The GUI family tree X-Window configuration To boot or not to boot (in graphics mode). 3. ME. . 2. Our objectives are: 1.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. To stress that the somewhat steeper learning curve in Linux will pay back in the amount of stability and flexibility. 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. this course is mainly aimed at people who want to migrate to Linux from Microsoft products. Due to the fact that Microsoft. 2000 and XP. To show that using Linux opens up a whole new world of computing. using Linux. 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 . The simple fact that you are getting this course off the Internet presupposes that you know how to use a PC. To explain the differences between working with Linux and working with other popular OSes. Choosing the look that's right for you Protecting the environment Internet Browsers Email clients Office suites.

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

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

Its cost effectiveness has sold it more than anything else. 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. 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. More reliability and less cost it's ideal. Linux hasn't completely lost its 'Gurus only' image. This comes from the fact that Linux has proven to be a tremendously stable and versatile operating system. where sensitive information should only be accessed by a privileged few. its down-time is almost negligible. As mentioned before. you're obviously here to learn how to use Linux. there is a situation unlike what occurs in the proprietary operating system world: a number of companies. The truth is that few tech reporters have real life experience with Linux and it is reflected in their writing. but that doesn't mean that Linux is a professionals-only operating system. If you're reading this. known as distributions. Linux is in the UNIX family of operating systems. Any learning experience means opening up to new ideas and new ways of doing things. 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. Now that you know what Linux is and how good it is. though. 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. Linux Today Today. There are many different versions of Linux. So. Some were developed to be used in networks where security is a priority. For some reason. UNIX is primarily designed to be used by professionals.install Linux! Installing Linux Some preliminary considerations. You will have to learn some UNIX concepts in this lesson. particularly as a network server. organizations and individuals have developed their own "versions" of the Linux operating system. and they have succeeded. like webpage servers. There are versions of Linux that are designed . there's one more thing we have to do . so to speak. This is largely because of the popular tech press' inability to explain in a meaningful way what Linux is.bring Linux to the point where it could be installed just like any other operating system. In fact. Unlike other commercial operating systems that are controlled by one company. Linux is enjoying a favorable press for the most part. Linux is free to distribute and use. in the Linux world. 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. by anyone who can follow a set of simple instructions.

If I were going to a formal dinner. This kind of Linux has been widely available for some time now. There are versions of Linux with funny names like "Chainsaw Linux" (no kidding) and "Tutti-Frutti Linux" (yes. I would need specific clothes to protect me from scrapes. If I were going about my daily routine. . There are computer world equivalents of mountain climbing and formal dinners as well as just sitting around the house. 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 Intelbased CPUs. There is even the equivalent of a swimsuit in Linux . To use an analogy. it's a joke) What Linux is right for me? This is a very difficult question to answer. the cold. Most PC users probably just need the everyday version. 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. rain and other adverse climactic conditions. 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. Since Microsoft makes its living selling people "ordinary" operating systems. Red Hat and SuSE . 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. the major versions of Linux have perfected their products to such a degree that they are very easy to install. The PR department at Microsoft is coming up with fewer and fewer reasons not to use be installed on platforms like Macintosh. Prepare your manuals As we mentioned before. if I were going mountain climbing.just to cover the essentials. You may have heard of some of the companies and organizations that have created distributions for this platform. Linux is just as easily installed and supports just as wide a range of hardware as Microsoft Windows does. Linux Online maintains a list of all kinds of distributions. I would need a tuxedo. like Debian. But in reality. 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. Linux has been fit into all those environments and more. I would wear "normal" clothes. There are even versions of Linux that offer documentation and install programs in languages other than English. wind. they have a lot to lose if Linux ever gets popular with the masses.a very scaled down version . Mandrake. There are others as well. We invite you to consult that list before deciding on installing any version of Linux.

with or without manuals. back to the install. Internet browsers. Now. 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. 'What's the difference?' you may ask. 1. it depends on how old it is. Though you probably won't need them. Then again. Major distributions of Linux have taken into account most standard hardware such as video cards. nobody can guarantee a problem-free installation for any operating system. they may help to track down a problem or prevent a future one. The important thing is that you have the option to have both. now it's time to install Linux. MP3. 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. spreadsheets. Don't try to install Linux on one of those old PCs with a monochrome monitor where everything comes out a yucky green color. but the majority of Linux distributions come with the source code . 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. 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). You've got your version of Linux and you just can't wait to use it. Do you want to continue to use it? If you want to keep an existing operating system. That means word processing.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. but as we said before. Linux will actually install more easily on older PCs than on some newer ones. That means that you have a PC that can use two different operating systems. . you can do with Linux. But there are a couple of questions you need to ask yourself. You may be luckier than you thought. The "free" ideally refers to the source code of Linux. 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. That's TOO old! Do you want a 'Dual-boot' system? OK.or at least for the programs that aren't proprietary. and install Linux as well. photo touchups. Do you have another operating system installed? 2. Now. databases. you will have what is known as a "dual-boot" system. modems and sound cards. go get those manuals. I think that I should pause here and say that everything that you can do with your garden variety operating system. CD Players. e-mail.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

bashrc file so that even though you type the simple command. including those that start with '. joe or pico.bashrc file was. The best way to find it is to type. 'ls . just in case you need it. in your home directory you would type 'pico . 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. You'll find a lot of files on the system that end in 'rc'.bashrc' (ls lists files) You can open that file with vi. you could have typed 'ls -a' and that would have shown you every file in the directory.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. like 'ls'. a shell is just a way for your computer to receive commands. And sometimes you do! The '. you can modify your . .bashrc'. Learning to use shells in Linux isn't going to be difficult either. 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. list files and delete files. 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. Everybody knows what 'alias' means'an assumed name'. you can add something called an 'alias'. The most common shell used for working in Linux is the 'bash' shell. move files around. Some people see this as a throw back to the old days. you can modify a command with a dash '-' and a letter To see where the .bashrc' An introduction to aliases In that file. For example. Those files allow you to configure a certain program to run just the way you like it. Why you need to use a shell As I mentioned in a previous lesson. you actually get 'ls -a'.' If you find yourself using these '-letter' combinations a lot.Sea shells by the seashore. 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. Linux has these programs too. as we talked about in the last lesson. Can you say that ten times fast? How about 'Shells in Linux'? That's not as difficult. The most common commands a computer receives are ones to copy files. Our lesson will deal with that one.

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

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

not only recognizes users.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. The next one shows that you've got 1 file. Let's go into some more detail. Lastly. Please do not use the cuneiform alphabet unless you're from ancient Mesopotamia. starting with any file that begins with a number. We'll go into that in the next course. So if you have a file '007_secrets. waikiki. 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. then any file that begins with a capital letter and then any normal file that begins with a lowercase letter. 'ls -l' will give you a detailed listing in alphabetical order.jpg The first part. Other parameters with 'ls' Now let's add some more parameters on . 'bob'. You have the date and when it was created or modified or copied there. are file permissions. We'll go into that in a later lesson.1 bob users 103824 Jul 10 12:01 waikiki. modify it or make nasty comments about it. -rw-r--r-. The numbers are the size of the file in bytes. The next one represents that Linux. which is obviously your important tax records.txt' that'll be the first one you see. 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.jpg. Typing 'ls' will list the contents of a directory with just information about file names. those letter. but also groups of users. 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.

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

Let's go back to Tony's 'stuff' file For example. . 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. but not really ideal. That's the mv command. You can scroll back up to see the whole text if you want. 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 didn't move it there. or for making a duplicate of one file under a different name. 'cp' is for copying files from one place to another. Press the 'q' key to stop viewing the file It's useful for this. 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. If you use the command ls -l stuff on both files. 'less' is more than 'more'. If you had used the command cp -p instead of just cp you would end up with two identical files in two different places. type 'less stuff' to see Tony's jokes again Again. We'll talk about that shortly. you'll see this. if you saved Tony's e-mail attachment to your main /home directory. You can't do that with 'more'. if you get my meaning. there's a better way of doing it so that 'stuff' is only in the directory 'tonyd'.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]. Now you're going to have TWO files named 'stuff' because you copied that file to the directory 'tonyd/' . You'll have the original 'stuff' in your home directory and then the copy in /home/[your name]/tonyd/. If you don't want that.

. The other use of 'cp' we talked about was to get a copy of a file with a different name. 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/ . 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'. You can open it in 'pico' and start writing: "Why did the chicken cross the road. you may want to work as two different users for two different jobs./ 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. For example. You can also copy entire directories to another place. 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. As I mentioned in a previous lesson." Always remember to use that TAB key and the up and down arrows to save yourself some time.More uses of the 'cp' command To show you how to copy directories and create duplicates of files. where you work as 'bob' As 'fred'. . You may be working as 'fred' and your directory 'tonyd' is in the directory /home/bob.

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

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

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

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

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

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

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

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

If you're using the 'tee' command for the backups I described before. Remember to use the -a option if you're going to write to that file a second time.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. Getting Started with Linux . you could use this command to create a listing of that directory. The '>' command The "greater than" symbol '>' will do the same as 'tee'. You don't need the pipe command (|) with this one. You may use it to find out if you've opened more that one terminal so that you remember to log out. 'tee' is used to write out what appears on your screen into a file. you may want to put a date on the file. I think I'm going to resist the temptation to make some sort of golf reference here in the lesson on the command 'tee'. tape. It can be used by your boss to find out that you've come in late too. You will be using this with the after a pipe '|' . use the command: date >> directory_listing . '>'. zip cartridge or whatever you used to make the backups. If you want to add the date at the end. You could print out the file on a label and stick it to the disk. 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. '2>' In the lesson on the pipe command.Lesson 10 'tee'. I mentioned plumbing with Linux. ls -l > directory_listing will give you the same result. 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. If you've placed files in a directory to be backed up. You might do this: ls -l | tee directory_listing to get a file with the listing of a directory.

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

For example if you type echo hello Linux will display the word 'hello' . It will give you the location of a program. that program may need other programs in order to work.'whereis' whereis is a nice command for finding other commands or programs.gz It shows you where the command is as well as the location of its manual file. . If you want to know whether or not you have it. for example. you can get the program to work for your system. 'echo' To show you some uses of the 'echo' command 'echo' is a little command that repeats anything you type. It will need to know its location or "path". 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'. 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. you would type: whereis pico and you may get this: pico: /usr/bin/pico /usr/man/man1/pico. from a different location. If you wanted to find out if you have the 'pico' editor and where it is. a program may not find another program it needs to make it run. 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. whereis isn't designed to find people. If you decide to download any program from the internet. A software developer may have designed his/her program to access Java. At times.1. For example. a program may need Java to run it but thinks its in another place.

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

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. If you live on Mars. There are other uses of the 'date' command. 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 just typed in dir and that did the trick. then I'd consider buying lottery tickets) Thu Sep 7 20:34:13 CEST 2000 You probably get everything here. so you know exactly where you are. type: date +%T . Actually. If you get the same thing as I do. 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. actually. you're out of luck. dir=ls -l. unfortunately. Just type: date You'll get this: (or something like it. '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. I once ran into a case where the remote computer didn't recognize the ls -l command. type: date +%D To see just the time. That stands for 'Central European Standard Time'. you may find this command useful. To see just the date. If you're living in central Europe. Linux recognizes world time zones and you set this up when you installed Linux. you will recogize the 'CEST' part.

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

) Filesystem 1024-blocks Used Available Capacity Mounted on /dev/hda2 481083 408062 48174 89% / if you start seeing a 'df' output like this. (This is actually taken from a system I use for testing versions of Linux. If you type df You may get something like this. But this is a very good. . This is a good way to see who's been using the computer if it's networked. His address. 'df' is a good way to keep track of this. 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.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. it's time to get down to your local computer shop and buy a new hard" 'df' 'df' is a command that you're going to use a lot if you're pressed for hard disk space. For example. 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. there are many programs that run graphically that will inform you of the space available on your Linux partition.20:05 (3:10) tty1 Thu Oct 5 still logged in (3:10) tty1 Thu Oct 5 16:23 . by the way.16:43 (0:20) system boot Thu Oct 5 16:22 As you can see. non-graphic way to keep track of your hard disk space. You are still working as 'bob'. Once again. is "thedevil@hell. If you type: last You may get something like this: fred bob root reboot tty6 Thu Oct 5 16:55 . quick. Anyway. if you saw a an entry for 'satan' and you hadn't given the Prince of Darkness permission to login.

By default. I owe a lot of people 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. You could exit that program and then type free again to see if it was the culprit. On the other hand look at the output for 'people_who_owe_me_money. if I type: du -b people_I_owe_money. It's probably best to use the option du -b (-b for bytes) and it will give you the exact figure in bytes. You can use it on a directory or on a particular file.note': 1 people_who_owe_me_money. 'du' 'du' is the way to see how big files are. Linux's memory management is quite good but a certain program may be "hogging" memory.note But instead. 'du' shows the closest kilobyte figure. Let's look at a couple of examples: If I type: du people_I_owe_money.'free' 'free' is a command that you can use if you want to know how much RAM memory you have free on your system. This is another command I use a lot. it's a big file. if a program is running particulary slowly.note I may get an output like this: 194 people_I_owe_money.note I'll get: 197120 people_I_owe_money.note As you can see. you may find out that your memory usage is high using this command.note .

8 0:00 syslogd 161 root 0 0 692 688 296 S 0 0.0 0.7% system 50420K used 12552K free load average: 0 zombie 0.0% nice 22672K shrd 0.0 0:00 kflushd 3 root 0 0 0 0 0 SW 0 0.2 0:00 top 345 bob 0 0 972 972 704 S 0 0.No.4 0:00 rpc.0 0.2 0:02 init 2 root 0 0 0 0 0 SW 0 0. Just typing ps will give you the processes you're running as a user.1 0:00 update 137 bin 0 0 300 296 228 S 0 0. that's not the kilobyte figure.3 6.0 0:00 md_thread 48 root 0 0 136 120 96 S 0 0. and it will list the files and subdirectories and give you the byte or kilobyte count.0 0.13 0. Here's a sample output of the 'top' command: 9:09am 34 processes: CPU states: Mem: 62972K av up 4 min 2 users 31 sleeping 3 running 11.0 0.1% user 0. That's the byte figure! You can also use this on a directory.06 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. It may look like this: . whichever you prefer top To show you the use of the 'top' command.6 0:00 inetd 258 root 0 0 580 548 428 S 0 0.7 19.8 0:00 lpd Getting Started with Linux .4% idle 5312K buff 0.3 0:04 netscape 386 bob 1 0 768 768 596 R 0 0.Lesson 13 Commands to control your system ps 'ps' will give you a list of the processes running on your system.0 0.0 0.1 1. 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.0 0:00 kpiod 4 root 0 0 0 0 0 SW 0 0.4 0:00 portmap 141 root 0 0 292 264 212 S 0 0.12 0 stopped 88.ugidd 157 root 0 0 512 508 412 S 0 0.0 1.6 0:09 X 350 bob 4 0 13144 11M 7728 S 0 2.0 0:00 klogd 212 at 0 0 304 276 220 S 0 0.0 0.0 0:00 kswapd 5 root 0 0 0 0 0 SW 0 0.0 0.5 0:00 FvwmButtons 1 root 0 0 168 168 144 S 0 0.0 0. It will give you a pretty complete list of everything that's going on in your computer.4 0:00 atd 225 root 0 0 424 416 348 S 0 0.5 1. 'top' is designed to show you how your CPU is being used.0 0.0 0.0 0.

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

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

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

change the option to -t vfat in your root directory (you can get to it by typing: cd /). 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. 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. Some don't. in other words. Some Linux distributions create this automatically during the installation process. as if it were just another directory on our Linux system.and some other information about the size of the floppy etc. you have a directory called floppy. the method behind this is quite different from other OSes. To access a floppy disk from the command line of our shell. 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. You now have a Linux formatted floppy. If you did it right. If you don't. a CD-ROM drive and another partition of your hard disk (the Windows partition. 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 . you should create it (mkdir floppy). incorporating it temporarily into your Linux file system or. for example. In Linux the floppy drive or other device must be "mounted". If you want to mount a Windows floppy. 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. Let's explain what we've just done here. telling Linux that it is a file to be written to or copied from. the floppy type (indicated by the option -t) is a Linux formatted floppy. for example). Though some windows managers for Linux have provisions for clicking on an icon to access a floppy drive. That means basically.

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

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

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

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

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 type: 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 permissions. 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'

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

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

to proceed with the "untarring"."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. When you've decided what you want to do. then you should make a new tarball.tar.gz). If you add z to the options. The easiest way for doing this is to use 'tar' for the whole process. untar it in a different directory. I'll explain them: • • • • • -z . you have the whole shebang in one step. Our previous example would be modified to this: tar -czvf bob_backup. If you don't want the old files.preserves dates.use the file in question (if you don't specify this.e tar tells you what files it's extracting) -p .gz extension. tar just sort of sits around doing nothing) The files are extracted and your original tarball is preserved (my_tar_file. then you've got an old tarball. If you would like a copy of the old file.tar.The two file extensions show us that the file is a tarball and it is compressed with the 'gzip' format.unzip the file first -x . Just leave the z option out of the previous example and type: .gz I've used my preferred options. You can also untar the file and then use gzip separately. permissions of the original files -f . you'd overwrite the existing ones. issue this command: tar -zxvpf my_tar_file. 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. You can now proceed to store this as you see fit. 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. and change the name of the file to create to a .extract the files from the tarball -v .gz * Remember f should always be the last option.tar. It's pretty standard backup practice. If you untarred it in the same directory.

gzip -d my_tar_file. the Linux kernel source package. Consult the man file ( man zip) for specific instructions on using this tool. usually comes "bzipped". As a matter of fact.tar. One of these is zip. famous in the MS-DOS/Windows world. then you're going to use the RPM method.gz (gunzip runs gzip -d "automagically"!) These commands are good if you've just zipped a regular file (not a tarball). this might be your best bet. 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'. Getting Started with Linux .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. You can also use unzip if someone gives you a file compressed with 'zip'. for the most part. This is supposed to become the official way of doing it in the near future.Lesson 16 Installing New Programs The way you install a new program will depend primarily on two things: 1.tar.gz or gunzip my_tar_file. Consult man bzip2 for more information. The compression factor is supposed to be a little better. OK racing fans. 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. This system takes the heartache out of installing programs under Linux. Other compression tools zip Most Linux distributions come with other tools to compress files. What distribution (version) of Linux are you using? 2. There are some differences in options for more advanced users. It stands for Red Hat Package Manager. When you compile a kernel (create a custom kernel for yourself from source) there is an option to create a bzipped kernel. bzip2 There is also another tool that is rapidly gaining acceptance in the Linux world: bzip2. You can go to the Red Hat website .

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

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

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

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

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

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

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 this:
printer1-ascii|lp1|y2prn_printer1.upp--ascii-printer1| y2prn_printer1.upp ascii:\ :lp=/dev/lp0:\ :sd=/var/spool/lpd/y2prn_printer1.upp--ascii-printer1:\ :lf=/var/spool/lpd/y2prn_printer1.upp--ascii-printer1/log:\ :af=/var/spool/lpd/y2prn_printer1.upp--ascii-printer1/acct:\ :if=/var/lib/apsfilter/bin/y2prn_printer1.upp--ascii-printer1:\ :la@:mx#0:\ :tr=:cl:sh: # printer1|lp2|y2prn_printer1.upp--auto-printer1|y2prn_printer1.upp auto:\ :lp=/dev/lp0:\ :sd=/var/spool/lpd/y2prn_printer1.upp--auto-printer1:\ :lf=/var/spool/lpd/y2prn_printer1.upp--auto-printer1/log:\ :af=/var/spool/lpd/y2prn_printer1.upp--auto-printer1/acct:\ :if=/var/lib/apsfilter/bin/y2prn_printer1.upp--auto-printer1:\ :la@:mx#0:\ :tr=:cl:sh: # printer1-raw|lp3|y2prn_printer1.upp--raw-printer1|y2prn_printer1.upp raw:\ :lp=/dev/lp0:\ :sd=/var/spool/lpd/y2prn_printer1.upp--raw-printer1:\ :lf=/var/spool/lpd/y2prn_printer1.upp--raw-printer1/log:\ :af=/var/spool/lpd/y2prn_printer1.upp--raw-printer1/acct:\ :if=/var/lib/apsfilter/bin/y2prn_printer1.upp--raw-printer1:\ :la@:mx#0:\ :tr=:cl:sh:

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 command:

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 1st bob 46 grocery_list.txt 2nd bob 47 lyrics_to_sinatra_my_way.txt Total Size 667 bytes 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 command:

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

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

Plus. I have even heard of the telecom people doing this for you. My card of choice (because it was the only one they sold in my area) is the NE-2000 clones. you should get an Ethernet hub to distribute the connection between PCs. Realtek 8029 PCI is the one I use in my machines in my home office. If you've got more than one PC in the house. even if you've never looked under the hood of your PC you can muster up your courage and install this card yourself. I encourage people to do it for themselves. One Ethernet cable (green) goes from the router to the hub. Putting in all together A picture speaks a thousand words. . you're going to need an Ethernet card. you connect the router to the Ethernet card so your PC can receive the data. This is a good one because most major distributions will detect this (they always have for me) during a standard install of Linux. so I made a little drawing of my home network to demonstrate what a possible set up might look like. Other Ethernet cables (blue) go from the hub to the PCs.3. It's a question of using a small screwdriver. What that's in. You can also call your local guru. For the faint-hearted. (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. Get an Ethernet card If you go the router route (pardon the pun). These cards are designed to allow you to connect computers in a Local Area Network (LAN). One is for the phone and one goes to my router.

and then have two numbers after these. when you go to www. The numbers 192.168. Once in. so as soon as I turned it on. you're actually going to a computer that is assigned a number on the Internet. to get on the highway My home network is a private local area network.4 respectively. They also furnished me with a default password which I used to connect to the router. let's say it was 20. Now. like Linux. . Now.5.0. I assigned my PCs the numbers 192.168. Before I used Telnet to access this router.168. 192.20. they might conflict with numbers that are actually out there on the Internet. so each PC is assigned an IP address which is a number that computers identify themselves with. In case you didn't know. With ADSL you are assigned a unique number with which to connect to other computers.X. I opened a terminal in my PC and typed: telnet then: open 192.1. Then I hooked up the router to the hub and then one of my PCs to the hub. I saved the changes and exited. 192. If you used any other numbers.20.168. 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. In my home. If there are 20 members and 7 of them are named Bob then. these numbers start with 192.168. In my case.0. 192. 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. That is to say. I had to know what address my telecom company had assigned to me for Internet purposes.168.X. when you use the Internet.linux. so you will have to use these.168.20.Now. at least.1. you don't identify yourself to other computers with 192. This number has to be unique.0.168. I was given a unique number.0.Bob has the highest score" then there's going to be confusion.3. when the telecom people came to hook me up. It's a lot like running a men's bowling team.X are reserved for private networks. I had ADSL service coming in to the I took out my router and connected it to the data line coming from the splitter (see the picture).2.X. Then I used Telnet to access 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.1. In my case. if someone announces that "e.1 which was the local numbered address the router came with by default. to me more in synch with my local network's numbering scheme and then I changed the password to access the router.1 to the router. the manufacturer of the router in the factory assigned the number 192. you could say for all intents and purposes that I had another computer on my local network with the address of

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

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

If you are setting this up on a small business network. 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. revenge. extended vacations with company and see what they wanted.deny and /etc/hosts. Some big corporations pay people big money to set up firewalls in their organizations and then they get hacked anyway. how do you say'knocked off'" If you want a good guide to providing security for your PC running Linux. in /etc/hosts. This is OK as long as you trust them.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.168. This will allow local users to access the computer. It would be like a house made of glass. if you have more than one computer (a small business or home network) you should add this line in /etc/hosts.allow First. connect to the Internet via telephone dial- . I would be a bit more careful. If you are a home user you're probably safe but if you are using this to set up a small business network.0. the best selling book on security from a Linux perspective. when you don't know too much (yet) about security is by making the following very simple changes in two files: /etc/hosts. There's no reason not to let people locally to log in via the SSH program that we mentioned before. People would spend the day throwing stones at it. There are all kinds of stories about disgruntled employees taking liberties. Then. 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. the vast majority of people in the world. One last word: This ISN'T a substitute for a firewall or a serious security set up. Practical protection for the beginner A good way to protect your Linux machine. please read some books or seek a professional security consultant's help. Any decent network that's connected to the Internet has a firewall. I suggest you read Bob Toxen's Real World Linux Security: Intrusion Prevention.allow ALL : 192. at the time of this writing. 007's redheaded nemesis says: "It is a bank like any other and banks can be. etc. 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. Detection and Recovery.

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

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

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

so that was pretty logical. My eternal gratitude to the people working on the Alsa Driver project. 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. Happy surfing with Linux! Getting Linux to make sounds The hills are alive. Sound Blaster uses the Alsa drivers to make sound come out of your Linux machine.. it's important to point out that the Linux kernel needs to be configured to use a sound card. That pretty much sums up setting up dial-up connections. there is precious little tools like sndconfig can do . unless. their cards do *not* work) are listed in red. has a section in their YAST tool where you can configure it not to overwrite certain files like resolv. There are a lot of other supported cards.why and how your distribution is over-writing this file so it doesn't happen again. Music has always been pretty important in my life long before the World Wide Web even existed. the first thing that interests you in setting up your computer is making it play sounds.. I had good luck with that sound card (I still do because it still works). it came in a big box that Creative Labs sold me and it was a Sound Blaster.. 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. SuSE. Sound Cards When I bought my first sound card in December of 1992. And see if your sound card is on their list. particularly music. These cards have usually configured fairly easily under Linux. 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 your kernel doesn't have a clue about what to do with a one. I have always bought Sound Blaster cards. you want it to. If you're like me. You might want to have a look at their list. of course. The nasty hardware manufacturers who do *not* share their information (and therefore. If you use the SoundBlaster card. 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.1).software (for Windows 3. In that big box there was a bunch of stuff . Due to this. for example. 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. 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.conf.

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

There certainly is some nice stuff out there. If you simply want to record yourself saying something using Linux. you're probably going to use the *. at least for me.You should now have a pretty good idea of setting up a sound card with a major Linux distribution. 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'. old versions of Linux (your cousin lent you the SuSE 5. it's time to check out some of the options that we have for playing sound. we're talking about sound. MP3s etc. from the Beatles to Hans and his Swiss Alpine Yodelers. If you're following the course in order of the lessons. all you need is a microphone and and recording tool that gives you a file in this format.wav format. are command line applications. Strange hardware. Recording Sound Due to Microsoft's monopoly on operating systems (yes. 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). they have been convicted of this in a court of law).Lesson 18 Now that we have our sound card working. Let's go on now to all of the available programs to play all of that sound and music. For this lesson. 'wavrec' is easy to use. I would just type the following" . so if you're one of those out there who pine for the sweets sounds of Mozart flowing from your PC.4) are beyond the scope of this course. Besides. 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.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. you can take a look at the HOW-TO's on the subject. Getting Started with Linux . I really don't have to see anything. I am not implying that there aren't some fine programs for playing and recording sound. so the tools for playing and recording sound here will be used from the command line. so I just have to set the CD or playlist and listen. You just have to type some simple commands and you're all set. 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).3 disks) and obscure distributions (Zingblatter's Ultra Linux 1. if I may. the most popular format for sound recording is is their *. I'd also like to add an editorial comment. I use a window manager but the programs I listen to CDs.wav format. we haven't begun to talk in depth about the use of the X-window system in Linux. we'll use 'wavrec'.

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

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

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

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

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

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

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

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

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

the microphone is the default source for recording. If you have stereo equipment that has a turntable and/or audio cassette player with line-out plugs. using the arrow keys. 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. That should activate your line in as the recording source. microphone red and line-in blue) or written on the metal bracket of the sound card. Some might have even listened to 8 track tapes and are afraid to admit it. 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.make and optionally (as root): make install I guess you get the idea. I am sure. Now let's see what we can do with these libraries and programs to get some nice sounding *.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. Usually. Plug the line-out of the cassette player into the line-in input on the sound card. Type: alsamixer then. You may have to fire up the Alsa mixer and change this. this tutorial may also be applied to the possibility of making copies of records and tapes for yourself. Various cassettes were made of the original recordings and I wanted to preserve them digitally. It should look like this: . if you own them. a microphone and a line-in cable (that is. the line-out from stereo equipment). 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 . which the law allows. 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.ogg files.Medical insurance (in case you get ill listening to the music) All sound cards have inputs for your speakers/headphones. Their function is either color coded (speakers are usually green. make your way over to the line-in column and push the space bar. There are. 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 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 following:
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" 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 quotes. 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 Gerla

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 pleasure. 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

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

In particular. most people who use computers equate Microsoft with computing. Bill Gates. Well. that concludes our lesson on sound. the only computing environment that most PC users have ever seen comes in the successive versions of their flagship operating system Windows(tm).you only like the awesome lead guitar part of a song? That could be. . Windows has become famous for essentially blurring the reality of what a computer really does. create and manipulate sound with Linux. 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."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 track. Getting Started with Linux . Anyway. That is to say that Microsoft Windows. Do not forget to type the double hyphens -. Bill Gates had already established that this was a no-no and so Linux gets chalked up as "retrograde". However. the manual page (type: man cdparanoia) is a particularly well-explained one. there's a good source of information there. chairman of the Microsoft Corporation once stated that: "Linux is 1960's technology with a new development model". If you want one big file.wav files. Then Linux started to gain in popularity and be noticed by a certain segment of the public around 1998-99. has masked any trace of the traditional "black" computer screen experience.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. It was still there .you just couldn't see it unless you purposely looked for it. so if you want more examples. here's an interesting combination: cdparanoia -. especially since the release of Windows 95. but not the experience itself.This will rip tracks up to and including track 5 into separate *. Just to finish off.before track numbers. Why would you want to do this? A number of reasons . 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. You should be able to listen to. just eliminate the -B option. 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 responded. The problem was that Linux offered the black screen and the graphic user interface as a separate package.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

typing: xsetroot -solid seagreen will get you a solid dark green color as a background. . Remember though that running two instances will use up a lot of memory. you can use xsetroot to just put a color scheme on the desktop. you are not limited to starting X-window only once. keyboard. Of course. It's the same color used on pool and card tables. And to turn it back on? You guessed it: xset b on. you're free to use the color you like! Type: man xsetroot to see other options. You may open up another virtual terminal and start another instance of X-window. xset This is a command line utility to control things like your mouse. For example. xsetroot In a previous section. This one is soothing to the eyes. monitor and pc speaker. type: xset b off to stop your computer from beeping at it. so I find myself using this less and less. the second pitch and the third duration of the beep.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 . More X-Window Tips and Tricks Starting X on other virtual terminals With Linux. For example. You can also change the tone by typing something like: xset b 30 550 300 The first number is for volume. But you can try it out. Both GNOME and KDE have other graphic apps to do this stuff a lot easier. If you get tired of pictures and you want something plain. we told you how to use xv to put your favorite picture on your desktop.xinitrc file.

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

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

Now it's up to you to explore. our beginner's introduction to this operating system. write documents . In the end. we'll keep you posted on updates as to the availability of the Intermediate Linux Course. Getting Started with Linux . manage data. This means that you're using it to maintain files. chat with friends. any form of collaboration is good. Our aim here was to give you the basics. Where do you go from here? At this time we're working on our Intermediate Linux try expanding on the things that you've learned here. write email. If you're not registered. 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. • • • • • • • • • • • 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. This course.In the end. Here are a few of the topics that we'll be covering in the next course. 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. surf the web. . on a CD or streaming over RealAudio. keep figures straight with a spreadsheet. That's how Linux grew into the major operating system that it is and that's essentially what the Linux movement is all about. At the same time you're listening to your favorite music in either MP3 or Ogg format. which is still in development. The fact is that there is an endless amount of things that you can do with Linux.Lesson 20 The end of the beginning This is the end of Getting Started with Linux. the point is to learn and to have a little fun in the process. all you have to do is sign up and you'll receive our newsletter with updates. Our aim is not to make professional systems administrators out of those who follow the course. will take you from the beginner level to the point where you feel very comfortable with Linux.

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

Sign up to vote on this title
UsefulNot useful