Linux is a free operating system competing with Windows and Mac OS's. Because of its cost and configurability and the future of networking, it is likely to be the OS of the future.

Suse Linux

Phat Linux
this one is unique in that you can install on a Windows partition.

Trinux Linux

This is a very cool linux, fits on a 3.5 floppy, the possibilities are endless for its use!

Linux Router how to

Another Linux Router How to

Below is a brief history and some linux/unix commands


  • Introduction
  • History
  • Basic System Features/Comparison to DOS
  • Basic Commands (moving/renaming/copying/etc. files)
  • Overall List of Commands

    Before we start, it must be assumed that you have an extremely basic understanding of computing. The fact that you are viewing this page means that you are at least able to run programs on some operating system (probably Windows or Mac). If you don't have an understanding on the file system (just what directories are), try reading the MS-DOS Tutorial which explains it a bit.

    UNIX History

    In the 60's, in a joint project between Bell Labs, MIT, and GE, an (advanced at the time) operating was developed called Multics. It was designed to have every idea the team making it could thing of would be useful for an operating system. It made it to the market and had much influence on later operating systems.

    Bell Labs decided to pull out after they decided it wouldn't do them any more good to stay involved in the project. Ken Thompson started looking for something else to do, and after a small time spent on various space related programs for a low powered computer, he decided to write a new operating system, this time geared towards only one user. It would also contain only the necessary features an operating system needed. He called it Unics. Brian Kernighan, another Bell Labs computer scientist then decided to join in. Due to a small filename limitation problem, the operating system had to be renamed to UNIX.

    As the years went by, UNIX was developed into a very powerful system. It was ported to other systems and several programming languages were made into its environment (like C). Microsoft even has a version called Xenix.

    As more years went by, the code was released and it was possible for someone to get the code and be able to add their own features quickly and easily. Today, it is one of the most used operating systems, and is the operating system of choice for many admini- strators.

    In 1991, a man named Linus Torvalds started work on his own operating system which he called Linux (li-nix). After being released for the first time, it grew to surpass UNIX, although it is just a very good clone of UNIX. The Linux logo is a penguin!

    UNIX is different and similar to DOS. It follows many of the same commands and command structures (how commands work). It is more advanced than DOS, so you'll need to know what is so special about UNIX. UNIX is a networkable system, in that you can create accounts on a UNIX machine that can enable users from the other side of the world connect to your system (assuming they have an account and both the system and the user are connected to the Internet). Users can log in to a system by way of Telnet, or RLogin.

    UNIX features different user levels. The highest level is called root. A "root" user has access to anything and everything, and can do anything he/she wants. It is assumed that the system administrator or assistant administrators are the only roots, for security's sake. Unless you run the system, your level is simply user. A user can only modify things in his/her directory (every user gets a home directory) and may only control programs run by he/she.

    Here is a list of basic commands and how to use them on UNIX. (NOTE: You can get system help on a command by typing commandname --help, i.e. dir --help. You can also try looking for a manual file on the command. Most commands have a man file. Type man commandname, i.e. man mv)

    - dir -

    dir shows the contents (files) of a directory. If a directory has a NO-READ flag on it, dir will not function.

    Usage: dir

    - ls -

    ls is the same as dir only it displays files in a more horizontal configuration

    - mv -

    mv means move. It is equivalent to move in MS-DOS. It is also used to rename a file (and in some cases when renaming, it also will overwrite a file).

    mv *.txt .. (move all files down a directory)
    mv tutorial*.txt tutdir (move all files beginning with tutorial
    and that are txt files to the tutdir directory)
    mv thisfile.doc thisfile.txt (rename thisfile.doc to thisfile.txt)

    It is assumed you understand the * as a wildcard. * means (literally) "anything." When placed in a filename, a command like mv accepts any text at all in the place of *. For example, if you wanted to refer to page1.txt page2.txt page3.txt and page4.txt, you could use page*.txt.

    - cp -

    cp stands for copy. It is equivalent to copy in MS-DOS.

    cp thisfile.txt thisfile.backup

    (It also uses examples from mv and wildcards... you should get the idea.)

    - rm -

    rm means remove. It is the same as delete in MS-DOS.


    rm filename.ini (delete filename.ini)
    rm *.txt (delete all txt files)
    rm -R mydir (delete the directory mydir)

    The -R in rm -R mydir is required. Directories can only be deleted if you include -R. It's a safety precaution.

    - info -

    info shows you a semi-confusing manual on system commands... use it if you get stuck or are looking for general help.


    - pico, vi, joe -

    These are all editors. Pico is most likely the best. Vi is, for some reason, extremely complicated, when it could be really simple and a lot more useful.

    To get help on each one, use the help function in each one. If you use pico, it won't be a problem as it was made to be easy to use.

    Usage: pico filename.txt (edit filename.txt)
    joe filename.txt (edit filename.txt)
    vi filename.txt (edit filename.txt)
    pico (run pico without editing a specific file yet)
    vi (run pico without editing a specific file yet)
    joe (run pico without editing a specific file yet)

    - chmod -

    chmod is a command to change access privileges to a file. Imagine you had a webpage. You have a file there that you don't want any one to read, it's just there for you to read as maybe a reminder, like a password list. Every file has an access privilege. There are 3 groups that have individual privileges:

    u - user (you, logged into your account on the system)
    o - users who are in a predefined group for the file
    g - users in the group
    a - everyone

    There are different privilege types:

    r - read
    w - write
    x - execute
    t - save program on swap device
    u - current permissions for user
    g - current permissions for group
    o - current permissions not in group

    There are 1 or 2 more but they aren't really important. For the sake of the simplicity of this tutorial, only ua (user, all), rwx (read, write, execute) will be discussed.


    chmod u/a -+= rwx

    chmod u+x myprogram (give permission for yourself to run a program. chmod a-r secret.txt (let no one read secret.txt)
    chmod u+r secret.txt (let yourself read secret.txt, so now only you can) etc.

    + means add a permission
    - means remove a permission
    = means that the following permissions will be the only permissions for the designated group ((u)ser, or (a)ll).

    - who -

    who shows you who is logged on to the system


    - cd -

    cd changes the directory you're in

    cd dirname (change to directory dirname)
    cd .. (go to the previous directory)
    cd ../. (go to your home (main) directory)
    cd / (go to the lowest directory on the system)
    cd dir/anotherdir (go to a directory off of another)

    - ftp -

    ftp to an FTP server

    ftp (launch the ftp program)
    ftp address (ftp to a certain address immediately)

    Type help in ftp to see it's particular commands.

    - telnet -

    telnet to a telnet host

    telnet address (telnet to an address)
    telnet address port (telnet to a certain port on an address)
    telnet (run the telnet program without doing anything yet)

    - finger -

    Finger shows you a semi detailed list of who is on the system.

    finger (shows you who is on the system)
    finger @servername (shows you who is on a different UNIX system, assuming they have their finger server running)

    - netstat -

    netstat shows you a detailed account of all connections to the system, and all programs running network connections. Useful for a sys admin trying to bust down on irc bots or something of the like.


    - talk -

    Most UNIX systems have something called a talk server. A talk server enables real time 'chat' with another user.

    talk user (talk to a user)
    talk user@tty3 (talk to a user on a certain login account... if the person is running more than one connections. You can see tty numbers on who. Tty3, ttyp2, are all examples of possible tty numbers. They could be a number of things, so it's not just tty3)

    talk (talk to a user on another system)

    Of course, the target user must "answer" the call before the session is engaged. Once inside a talk session, anything typed in is immediately shown on the other persons screen, without the need for return presses.

    - ping -

    Ping sends a network signal to a server which is bounced back. The point of a ping is to determine latency (lag, lack of speed) from a server.

    ping serveraddress

    - whois -

    Whois can do a lookup on an IP or DNS name to get special information on a sitename.

    There is no one whois server. There are different whois servers which contain databases of certain IPs. is for American IP addresses. You can get a list of servers by just typing whois.

    whois IP/DNS@serverhost
    (i.e., whois

    - passwd -

    Change your password. Just type passwd and it will tell you the rest to do.


    - pine -

    Pine is a wonderful e-mail program. Consult your system administrator on how to configure pine to work with your e-mail on the system.


    (It's an easy to use menu system, don't worry.)

    - ps -

    ps shows you a list of processes you are running. A process is a command, or a program.

    ps alone shows you basic programs you are running
    ps ux shows you all the programs you are running
    ps aux shows you every program running on the system.

    ps (basic programs you're running)
    ps ux (all programs you're running)
    ps aux (all programs on the machine)

    ps shows you the PID number of programs. The PID number is used in some commands like kill (terminate the program).

    - kill -

    kill terminates a program

    Usage: kill PID (remember the PID number of a program from the ps command? Use ps to find a programs PID number, and then kill it)

    kill -9 PID (some programs ignore the kill signal. Almost nothing escapes the mighty -9)

    NOTE: Every program except for one may be killed by kill or kill - 9. This all powerful program is called a zombie process. A zombie process is like a frozen program. It cannot be killed by a command. To remove a zombie process, the system requires a full reboot, or the process must time out on it's own. You can see a zombie process on ps ux. If a program name has next to it, it's a zombie process.

    - programs -

    If you have a program in your directory, typing it's name will run it if you have sufficient access privileges. Some systems require you to put a ./ before a custom program's name.

    - cc, gcc, perl -

    These are all programming compilers. CC is a c compiler, gcc is a gnu version of cc (almost exactly the same), and perl is a perl syntax checker. There are other programming commands, but we'll just do three for now.

    A c file must be written using the c language, and the perl must be written in the perl language.

    For c files: Make a .c file with pico, put in code, and type gcc filename.c or cc filename.c

    For perl files: Make a .cgi or .perl file with pico, put in code, and type perl filename.cgi or perl filename.perl

    As seen above

    For more detailed documentation, consult man file or gcc --help (or perl --help, etc). For a list of all programming languages supported, consult info command.

    That's basically it for now. This tutorial only briefly explains some commands most commonly used.

    - Brief List Of Commands -

    This isn't a complete list, but rather a basic overview of some commands you might want to try on your own:

    Executes command file after a given time.

    Displays content of files.

    C language compiler.

    Change directories.

    Change file access permission for a file.

    Copy a file.

    Displays the current date and clock time.

    Shows amount of free disk space available on the system.

    Shows the amount of disk space used for a directory.

    Echoes a message back to terminal.

    The standard UNIX editor.

    Determines what kind of file a file is.

    Locates a file or files of a particular kind.

    Fortran 77 compiler.

    Terminates a currently running process.

    Lists contents of directories.

    Mail program.

    UNIX Manual; Information for many commands and programs.

    Stop incoming messages from coming.

    Makes a new directory.

    Move a file or rename it.

    Run a task with a specifically lower priority.

    Text formatting utility.

    Password changer.

    Berkeley Pascal compiler.

    Print a file.

    Process list.

    Translates FORTRAN to f77.

    Delete a file.

    Delete a directory. rm -r accomplishes the same thing.

    Show the size of a file.

    Performs spell checking on a file.

    Sets expected terminal characteristics.

    Times the execution of a command.

    Text formatter for phototypesetting.

    Displays the name of the terminal

    Screen text editor.

    wc Displays a count for words, letters, lines, etc. of a file.

    who Shows who is on the system.

    write Displays a message to a user.


    This information modified from an unknown source. If it is copywritten please contact for removal or Credit.