Linux Tutorials

                         

  1. Linux Tutorial
    If you're new to UNIX and Linux, you may be a bit intimidated by the size and apparent complexity of the system before you. This chapter does not go into great detail or cover advanced topics. Instead, we want you to hit the ground running.  We assume very little here about your background, except perhaps that you have some familiarity with personal computer systems, and MS-DOS. However, even if you're not an MS-DOS user, you should be able to understand everything here. At first glance, Linux looks a lot like MS-DOS--after all, parts of MS-DOS were modeled on the CP/M operating system, which in turn was modeled on UNIX. However, only the most superficial features of Linux resemble MS-DOS. Even if you're completely new to the PC world, this tutorial should help.
                                                                                   

  2. Linux Knowledge Base and Tutorial
    "The place where you learn Linux" 
    Looking for an in-depth and easy to understand introduction to Linux? Then look no further Here you will find hundreds of articles on a wide range of Linux-related topics, glossary definitions, links to more information as well as a "Test Your Knowledge" sections with hundreds questions and answers. Jump right in by clicking here. 
    We offer in-depth information on a wide range of topics suitable for beginners, as well as advanced users. Here you will find information on everything from using the shell to kernel internals and and much, much more.
    We are not just a handful of loosely related articles, which deal only with a few specific aspects of your Linux system. Instead, we offer you highly integrated knowledge base, with each object linked to other related objects. Each object is accessible through a wide range of features. For more details, check out the FAQ. 
    This is not just a basic introduction to Linux, showing how to execute a handful of commands and use a few utilities. The Linux Knowledge Base and Tutorial goes beyond the basics, providing you with the information necessary to get the most out of your Linux system. 
    Need a answer to a specific question? Then check out our forums. The members will do their best to help you to answer your question, solve your problem, or at least point you in the right direction. 
    For more information on what the Linux Knowledge Base and Tutorial has to offer, check out the FAQ. 
                                                                                 

  3. Linux operating System
    It is a common occurrence to find users who are not even aware of what operating system they are running. On occasion, you may also find an administrator who knows the name of the operating system, but nothing about the inner workings of it. In many cases, they have no time as they are often clerical workers or other personnel who were reluctantly appointed to be the system administrator. 
    Being able to run or work on a Linux system does not mean you must understand the intricate details of how it functions internally. However, there are some operating system concepts that will help you to interact better with the system. They will also serve as the foundation for many of the issues we're going to cover in this section. 
    In this chapter we are going to go through the basic composition of an operating system. First, we'll talk about what an operating system is and why it is important. We are also going to address how the different components work independently and together.
                                                                                        

  4. Linux operating System Basic
    With many UNIX systems that are around, the user is unaware that the operating system is a UNIX system. Many companies have point-of-sales systems hooked up to a UNIX host. For example, the users at the cash register may never see what is being run. Therefore, there is really no need to go into details about the system other than for pure curiosity assuming that users find out that they are running on a UNIX system. 
    On the other hand, if you do have access to the command line or interact with the system by some other means, knowing how the system is put together is useful information. Knowing how things interact helps expand your knowledge. Knowing what's on your system is helpful in figuring out just what your system can do. 
    That's what this chapter is about: what's out there. We're going to talk about what makes up Linux. This brings up the question "What is Linux?" There are more than a dozen versions commercially available, in several different countries, all with their own unique characteristics. How can you call any one of them the Linux distribution? 
    The answer is you can't. What I will do instead is to synthesize all the different versions into a single pseudo-version that we can talk about. Although there are differences in the different versions, the majority of the components are the same. There has been a great deal of effort in the past few years to standardize Linux, with a great deal of success. I will therefore address this standard Linux and then mention those areas where specific versions diverge. 
                                                                        

  5. X -Window Operating System
    I've seen the X-Windows system described as the "distributed, graphical method of working," and that probably fits the best. It's distributed because you could run the display on your monitor in Virginia even though the program is actually running on a computer in California or Calcutta, and it's graphical because you see a lot of nice pictures on your screen. Despite the extent to which it has spread in the UNIX world, the X-Windows system is not a UNIX product. The X-Windows system, affectionately called X, was developed by the Massachusetts Institute of Technology and runs on a wide range of computers, even MS-Windows-based versions. The first version was developed at MIT in 1984. Several versions have been developed since, with the most current version, X version 11 (X11), first released in 1987. X11 has been adopted as the industry standard windowing system, with the support of a consortium of major computer industry companies such as DEC, HP, SUN, and IBM. Although you could probably find a system that is still running release 5, the newest release (as of this writing) is release 6. You will see references to the release as X11Rn, where n is the release number. So, the current release would be X11R6. 
    In this section we are going to talk about the basics of the X-Windowing System, rather than the desktop environments like KDE and Gnome. The reason is quite simply that this material was first written in 1996 and neither KDE nor Gnome had really established itself. A lot of things have happened in the meantime and I just haven't gotten around to updating this. Any volunteers? 
                                                                                           

  6. Installing Linux 
    In this chapter, we'll go through the steps of installing Linux, from repartitioning your drive, to setting up the Linux file systems, to actually installing the software. As you're partitioning your drive and installing Linux, it's always a good idea to take notes of every command you type and what goes on during the process, just so you have something to refer to when you run into those inevitable problems. Trust me; it's worth the time it takes just to jot down notes while installing, especially if you're a newcomer to Linux. If you have problems later and have to ask for help, having a list of exactly what commands you typed and what the results were will be invaluable. g, handling the low-level details of memory management, process scheduling, device access, and so on. In any UNIX system, the kernel is the software which controls access to system resources (such as memory and processor time) from user programs (such as a text editor). This is in sharp contrast to operating systems such as MS-DOS, which allow only a single program to run at a time. A set of utilities which handle basic system tasks such as manipulating files, creating users, reporting system activity, and so on. These programs are essentially the same on any UNIX system, and provide a standard interface for users. For example, the command to copy a file on all UNIX systems is known as cp. Therefore, using Linux will be very similar, if not identical, to using other versions of UNIX.
                                                                                           

  7. Linux installing and getting started :
    This book is about Linux, the free clone of the UNIX operating system for 80386 and 80486 machines. The rationale for writing this manual is clear: as Linux has grown and gained popularity, the old approach of searching a myriad of old documentation and software, downloading megabytes of files, and hoping that everything works is no longer adequate. Surprisingly, the number of MS-DOS and OS/2 users who are moving to Linux is large, and many of these users are new to UNIX. Here, rolled into one book, is a complete guide to installing Linux, with enough introductory material on using UNIX to get new users on their feet. Linux is a clone of the UNIX operating system that runs on Intel 80386 and 80486 based machines. It supports a wide range of software, from to X Windows to the GNU C/C++ compiler to TCP/IP. It's a versatile, bona fide implementation of UNIX, freely distributed by the terms of the GNU General Public License (see Appendix ). Before we delve any further, a few words about this book.
                                                                                                

  8. Using Linux
    To use Linux--or any Unix-like system, for that matter--you need to know a few things about shells. A shell is a program that acts as an intermediary between you and the guts of the operating system. In a DOS environment, command.com acts as your shell. Linux shells have more interesting names (like bash, pdksh, and tcsh), but they do pretty much the same thing. In addition to translating your commands into something the kernel can understand and act upon, the shell adds some important functions that the base operating system doesn't supply. 
                                                                                 

  9. What is Linux:
    Linux is a powerful multi-tasking multi-user Operating System, based on Unix, that comes with a huge collection of free software. This includes a free Web Server, free c/c++ development tools, a free implementation of the X Window System, and much more. It runs on a wide range of hardware, including intel (3456)86, DEC Alpha, Sun Sparc, M68000 (Atari,Amiga), MIPS and PowerPC. It is estimated that between 10 and 20 million people worldwide are using Linux. The term 'Linux' itself generally refers to one of two things, depending on the context. Either it refers to just the Linux kernel itself, originally developed by Linus Torvalds (and named after him), or it is used to refer to an entire system running Linux as it's kernel - although technically most programs running on the system aren't 'Linux' programs as such, as most will also compile and run on other Unix systems (and sometimes on Windows.)
                                                                 

  10. Linux Users and groups:
    Access to Linux is based on users and groups. You must have a user account to login. Each user has a password and belongs to one or more groups. A group is just a set of users who are alike in some way. For example, the group named students might contain all users who are students, while the group named faculty might contain all users who are faculty members. Who you are and what groups you are in determines which files you can access and how you can access them. When you login, Linux remembers who you are, and makes access decisions based on your identity. The whoami command displays the current user. The groups command displays the user's groups.
                                                                    

  11. The Linux Terminal:
    Nowadays, as soon as you get Linux installed, you get a nice graphical interface and rarely if ever need to make use of the so-called terminal mode (aka shell prompt). However, in Linux the simple, modest terminal is not merely an afterthought, but an extremely powerful tool. While it may be true that you don�t need to use it, it�s not that difficult to learn, and very useful to know. Fortunately for yourself, with Linux�s users and security, you can create a new user for playing around, then you can experiment to your heart�s content without breaking anything. In this document we will go step by step through many common tasks. Hopefully by the end you will feel quite familiar with the terminal. This will come in handy when, for instance, you encounter some document which instructs you to open a terminal and enter certain commands. 
                                                                        

  12. Graphic Access on the Linux:
    It is often useful, when using the Linux desktop, if there are simple tools available which will enable us to manage these image files, e.g. catalog and classify them and recall them for viewing. In this step-by-step guide with screen shots, we shall look at several tools available on your Linux system which provide some of these functionalities. Very often it is useful if we are able to view graphic image files on their own, or in thumbnail fashion if there are many of them. 
                                                                           

  13. Linux consulting:
    Whatever the size of your project or the nature of your requirements we can offer you a complete integrated suite of services. Drawing on our experience, technical know-how and creativity we provide Linux consulting services ranging from designing large scale projects to file system analysis and optimization, benchmarking and more. A vast experience in Linux consulting and irreproachable reputation among its customers make Breakthrough one of the most considerable Linux consultants in Israel. 

                                                                      

  14. The Linux Tutorial shall :
    The Linux/Unix shell refers to a special program that allows you to interact with it by entering certain commands from the keyboard; the shell will execute the commands and display its output on the monitor. The environment of interaction is text-based (unlike the GUI-based interaction we have been using in the previous chapters) and since it is command-oriented this type of interface is termed Command Line interface or CLI. Before the advent of GUI-based computing environments, the CLI was the only way that one can interact and access a computer system. Up until now, there was never a need to type commands into a shell; and with the modernisation and creation of a lot of newer GUI-based tools, the shell is becoming increasingly un-required to perform many tasks. But that said, the shell is a very powerful place, and a lot is achieved through it. 
                                                                    

  15. Linux professional institute:
    The Linux Professional Institute (LPI) certifies Linux system administrators at two levels. Each certification level has two exams: the 101 and 102 exams for junior-level certification (LPIC-1, or cerification level 1), and the 201 and 202 exams for intermediate-level certification (LPIC-2, or certification level 2).Before you take the exams, review these developer Works tutorials, designed as study guides for each topic in the four exams. Get started with the tutorials on these pages, and we'll add the rest as we complete them. Good luck in preparing for certification! .
                                                                 

  16. Basic Linux concept :
    Linux is a multitasking, multiuser operating system, which means that many people can run many different applications on one computer at the same time. This differs from MS-DOS, where only one person can use the system at any one time. Under Linux, to identify yourself to the system, you must log in, which entails entering your login name (the name the system uses to identify you), and entering your password, which is your personal key for logging in to your account. Because only you know your password, no one else can log in to the system under your user name. On traditional UNIX systems, the system administrator assigns you a user name and an initial password when you are given an account on the system. However, because in Linux tt you are the system administrator, you must set up your own account before you can log in. For the following discussions, we'll use the imaginary user name, ``larry.'' 
                                                                   

  17. GNU Linux  Tutorial
    This tutorial provides basic information about how to use the GNU/Linux systems in the Phonetics Lab. Full details are given only in a few simple and important cases. In general, the intention is to alert you to what you need to learn about. You will then need to read the appropriate documentation to find out the details. At present, with the exception of two machines running Microsoft Windows, all of the machines in the Phonetics Lab are running GNU/Linux. This is one of a larger class of UNIX-type systems, including Solaris/SunOS, Macintosh OS X, and FreeBSD. Although details differ, in most respects this tutorial is applicable to all UNIX-type systems. Strictly speaking, UNIX is a registered trademark of the Open Group and refers only to those descendants of the original Bell Labs UNIX licensed by AT&T. We here use UNIX in its standard colloquial sense of all operating systems modelled on the original UNIX, including lineal descendants not called UNIX, such as HP-UX and Solaris, and reimplementations not dependant on AT&T code, such as Minix, FreeBSD, and GNU/Linux. 
                                                                   

  18. Introductory Linux Tutorial:
    The purpose of this tutorial is to introduce you to the basic Linux command-line usage on the UW CSE department Linux machines. Before beginning this tutorial you should be able to use TeraTerm or telnet to connect to one of the department's Linux machines (i.e, tahiti, fiji, ceilon, or sumatra) , and be able to log into the Linux machine with your username and password. If you are a new student, your password should have been issued to you during the new students orientation. This page uses JavaScript and simple style sheets to aid the presentation, so it is best viewed with a graphical browser which supports stylesheets, such as Netscape, or Internet Explorer. You should be able to muddle along even if you are using a non-graphical web browser, such as lynx, though. 

                                                                            

  19. Getting Linux :
    The purpose of this tutorial is to introduce you to the basic Linux command-line usage on the UW CSE department Linux machines. Before beginning this tutorial you should be able to use TeraTerm or telnet to connect to one of the department's Linux machines (i.e, tahiti, fiji, ceilon, or sumatra) , and be able to log into the Linux machine with your username and password. If you are a new student, your password should have been issued to you during the new students orientation. This page uses JavaScript and simple style sheets to aid the presentation, so it is best viewed with a graphical browser which supports stylesheets, such as Netscape, or Internet Explorer. You should be able to muddle along even if you are using a non-graphical web browser, such as lynx, though. 
                                                                                  

  20. Real Time Linux Tutorial:
    Linux is a free Unix-like operating system that runs on a variety of platforms, including PCs. Numerous Linux distributions such as Red Hat, Debian and Mandrake bundle the Linux OS with tools, productivity software, games, etc.The Linux scheduler, like that of other OSes such as Windows or MacOS, is designed for best average response, so it feels fast and interactive even when running many programs.

    • However, it doesn't guarantee that any particular task will always run by a given deadline. A task may be suspended for an arbitrarily long time, for example while a Linux device driver services a disk interrupt.
    • Scheduling guarantees are offered by real-time operating systems (RTOSes), such as QNX, LynxOS or VxWorks. RTOSes are typically used for control or communications applications, not general purpose computing.
                                                                   
  21. Making The Linux Distribution:
    For every Linux geek there's a time when Linux becomes more than just a name and reveals itself as something more wonderful, powerful, and intriguing than anything a developer has ever encountered. My revelation came while I was working at the University of New Mexico as a sysadmin. Our NT server was running pretty well and I had some extra time on my hands. So I got Debian set up on a Pentium 166 server box and started learning ... and learning and learning and learning. And then I was hooked. First I learned the basic ins and outs of Linux: how to get around, perform backups, get Samba running, etc. Then I set up qmail and Apache and learned python and shell programming. I built a departmental Intranet. I got Linux installed at home and began trying different distributions. Finally I settled with Stampede Linux. You know how the progression goes: first you struggle with grasping Linux basics; then, when you have a decent grip, you customize your Linux, learning as you go. Because Linux has nothing to hide, you can explore the technology and tools that make it tick while you grow in Linux fluency.
                                                                                 
  22.  Linux editor (vi editor):
    This "vi" tutorial is intended for those who wish to master and advance their skills beyond the basic features of the basic editor. It covers buffers, "vi" command line instructions, interfacing with UNIX commands, and ctags. The vim editor is an enhanced version of vi. The improvements are clearly noticed in the handling of tags. The advantage of learning vi and learning it well is that one will find vi on all Unix based systems and it does not consume an inordinate amount of system resources. Vi works great over slow network ppp modem connections and on systems of limited resources. One can completely utilize vi without departing a single finger from the keyboard. (No hand to mouse and return to keyboard latency) .
    NOTE: Microsoft PC Notepad users who do not wish to use "vi" should use "gedit" (GNOME edit) or "gnp" (GNOME Note Pad) on Linux. This is very similar in operation to the Microsoft Windows editor, "Notepad". (Other Unix systems GUI editors: "dtpad", which can be found in /usr/dt/bin/dtpad for AIX, vuepad on HP/UX, or xedit on all Unix systems.) 

                                                                                                        
  23. File Handling in Linux:
    there are file handling in  Linux  are follows:
    • recognize the main characteristics of the way Linux manages files.
    • recognize how to navigate resources in the Linux file system hierarchy.
    • select the commands used to find files and command locations.
    • identify files using which, updatedb, locate, and find.
    • select the commands used to manage hard and symbolic links.
    • select the commands that set permissions and change attributes on Linux files.
    • select the commands used to set permissions on files and directories.
    • set special permissions SUID, SGID, and sticky bits for files and change the default file creation mode using umask.
    • select the correct options for the chown and chgrp commands.
                                                                                                                
  24. File System:
    The file-system is the way an operating system manages all the files to be stored on the external storage - binaries, images, etc. Linux uses an advanced version of the Extended File-system from Unix, called ext2. This system uses data-structures called inodes to store information about files. All such inodes are placed together in bigger structures called inode tables. The inode tables are located at a well-known place on the storage device, so that the system can refer to them whenever it needs to access a file. The files are stored in the form of data blocks on the disk, which are accessed using pointers provided by the inodes.The inodes also contain information that is used by the operating system to implement its security features for a multiuser environment, ie, they are used to establish ownership and to specify the way in which different users can share the same files. An important feature of the ext2 file-system is that it treats everything as files - directories are also represented as files containing pointers to other files. This does not stop only at directories, even the hardware can be addressed as files under the standard directory /dev. More about these directories later. One drawback in Linux has been the susceptibility of ext2 to damages due to power failures. But there has been significant development to rectify this shortcoming through the introduction of journaling file-systems like reiserfs, ext3. A journaling file-system has the inherent capability to be recovered to a stable state in case of crashed due to power failures.
                                                                                              
  25. Linux shell Scripting Tutorial:
    This tutorial is designed for beginners who wish to learn the basics of shell scripting/programming plus introduction to power tools such as awk, sed, etc. It is not help or manual for the shell; while reading this tutorial you can find manual quite useful (type man bash at $ prompt to see manual pages). Manual contains all necessary information you need, but it won't have that much examples, which makes idea more clear. For this reason, this tutorial contains examples rather than all the features of shell.
                                                                                              
  26. Linux Filter:
    If a Linux command accepts its input from the standard input and produces its output on standard output is know as a filter. A filter performs some kind of process on the input and gives output. For e.g.. Suppose you have file called 'hotel.txt' with 100 lines data, And from 'hotel.txt' you would like to print contains from line number 20 to line number 30 and store this result to file called 'hlist' then give command:
    $ tail +20 < hotel.txt | head -n30 >hlist.
    Here head command is filter which takes its input from tail command (tail command start selecting from line number 20 of given file i.e. hotel.txt) and passes this lines as input to head, whose output is redirected to 'hlist' file.
    Consider one more following example:
    $ sort < sname | uniq > u_sname
  27. Linux Pipe
    A pipe is a way to connect the output of one program to the input of another program without any temporary file."A pipe is nothing but a temporary storage place where the output of one command is stored and then passed as the input for second command. Pipes are used to run more than two commands ( Multiple commands) from same command line."
    Syntax:
    command1 | command2.
                                                                                                        
  28. Linux Guide vi and EX editors:
    The following document is a comprehensive description of vi commands with ex extensions to introduce UNIX visual text editing for generic users and expecially for system administrators who are forced to use vi during system setup and emergency recovery. The commands described in the report have been tested on different UNIX platforms and advise is given about platform dependent behaviour where appropriate.
    1.Introduction of vi :The most useful standard text editor is vi , that is found on each UNIX system with the same features. With vi we can scroll the page, move the cursor, delete lines, insert characters, and more. The following report is intended as a guide to vi usage and addresses people with a basic UNIX knowledge. vi belongs to the editor class that works by context, i.e. command behaviour depends on editing mode, basically command mode and editing mode. Command mode applies to specific actions such as deleting text, while text is typed when insert/append mode is entered by the appropriate editing command; editing mode is exited by <escape>. 
    As all UNIX tools vi is case sensitive. Commands are usually one character long and the same character may have different meaning depending on context. One important feature of vi is the capability to interact with the shell in any moment and to switch back and forth to ex to make use of a more complete editing environment. 
                                                                                                                
  29. Linux text editors:
    There are two basic types of text editors: GUI (Graphical User Interface)-based (text) editors and text-based (text) editors.
    The GUI-based editors have all the convenience of a click and drag mouse based applications like roll down menus, buttons, click of a mouse cut, paste, font type and size change options, etc. in a multi window environment.
    Text-based editors have none of these fancy point and click features. All cursor motion and formating is achieved by special combination of keystrokes that one has to memorize. While it is very easy and quick to master GUI-based editors the knowledge of how to use text-based editors often outweighs the somewhat painful process of learning it. Text-based editors have an advantage that they can be used on systems with minimal requirements. For example, it comes handy when one tries to access a computer remotely and have only a text-based shell access available. Or say, during a system maintenance when again only a shell prompt is available without any fancy graphical support. Often people who become quite experienced using text-based editors do their work much faster because it is much quicker to use keyboard keystrokes than to use menus and buttons with a mouse. 
                                                                                          

  30. Using the vi-editors:
    vi is an ASCII text editor. It is certainly not the easiest text editor to use ever createad. However it has a very powerful set of shortcuts for automating tasks. vi is a Unix command, so it is the only text editor that you can be assured will be on any Unix machine you ever use, including Linux.
    vi is completely text based. It does make use of many aspects of screen display available through telnet, so determining whether vi works correctly is a good check on whether your terminal setting are correct. vi uses the keyboard only (no mouse). It has a command mode in which the keys typed correspond to commands for moving the cursor, cut, paste, etc. and an insert mode where the keys typed are put into the document text.