I will try to make this as quick and painless as possible. Most info, least time. GI training manual.

If you need info and can't find it, here are the places to look...
KDE has its own unified help system, the lifesaver on the panel...
Most window apps will have their own help file...
If it a KDE app, use the unified KDE help system...
There are doc files in /usr/doc (/usr/share/doc in newer Linuxes)
There are usually man and info commands in the shell...
(Try man man or info info to check them out)

Main differences...
Disk drives have two different names, physical names and logical names. On Dos\Win the physical drives are called 0 and 1 etc. and the logical name for the first (or only) partiton on your first physical drive is always C. The operating system must always reside on that partition. In Linux the physical names are different and much more specific. For standard IDE hard drives, hda is your first physical hard drive, hdb is your second physical hard drive, etc. If you have scsi hard drives they are sda and sdb etc. hda1 through hda4 are primary partitions on your first drive, and hda5 to hda8 are secondary partitions on your first drive (newer version allow more).  Your second drive would be hdb and the partitons hdb1 through hdb8.  This is different than Dos\Win where D could be the second partition on the first drive or your first partition on your second drive.  Dos or Windows can only have 1 primary partition (C there, hda1 here) and a second partition under Dos\Win (D) is always hda5 here.  Dos\Win puts everything after C on an extended partition, so if you have C, D and E on your first hard drive in Dos\Win they will be hda1, hda5, hda6 here. Since everything in Linux is a file, and all hardware is seen as a device, all such things are found under /dev and hda is /dev/hda and hda1 is /dev/hda1.

As far as the logical names go, Linux is much more flexible. There has to be a base partition that is / and called the root partition. Unlike Dos\Win, this doesn't have to be the first partition on your first physical drive, it can be anywhere. Other directories can be anything you like, either the name, or the device it points to. Directories, partitions, drives, machines or whole networks can be subdirectories of / even if / is on your machine on a floppy.  The entire General Electric Network System could be /GE for you.  Your Dos\Win partitions are usually /mnt/Dos_hda1 or /mnt/windows.  My Dos partitions are named /C and /D (make them whatever you want, They could just as easily be /MyDosC or /apple_fritters)   / could be on your first hard drive (C), /home could be on your second hard drive, /usr could be on a network drive in LA.  It will all look like one single file tree to you.  Linux hard links and symbolic links allow about anything.  Everything other than the / partiton can be mounted (connected) at bootup or not, or you can mount them yourself later. (mount hooks a physical device to a logical name, you could mount /dev/cdrom to /mnt/cdrom or to /home/cddrive or to /cdrom, whatever, freedom)

Standard directories under Linux are /bin (standard user command line executables), /boot (where the kernel, lilo, and other boot stuff resides), /dev (where the hardware is hooked to the filesystem), /etc (where system configuration information and files are stored), /home (where all the users private file space resides), /lib (where the system libraries reside [.o and .so files, like .dll files in Win] which is the same as c:\windows\system in Windows), \mnt (where you connect devices that aren't mounted at boot time, but later, like cd and floppy drives), /proc (things that can be read and written about the operating system), /root (home directory for the superuser), /sbin (simply System BINaries, executables the system uses), /tmp (temporary files), /usr (the X11 windowing system and most user applications, plus the supporting files for them reside here, important subdirectories are doc, share [where your icons, backgrounds, sounds, etc. reside], and games), /var (where the log files and such things reside)

cd (change directory) works here just like in Dos.
The separators are different here, / instead of \ so...
You type cd / to go to the root directory.
(not to be confused with the /root subdirectory which will be...
... your home directory when logged on as root, the superuser,
... and who would want to be anything else? : )
cd.. still means up one level, and if you are in the mydir directory,
cd subdir still means the new directory will be mydir/subdir

Copy is shortened to cp here and move is shortened to mv...
However, you have to use the long mkdir and rmdir commands here.
(At least until I show you some tricks here in a minute : )

Although dir works here, it is the brief version of dir.
Use ls (small L small S) for a directory listing and...
Add the l (small L) switch (ls -l)
To get a listing that will look fairly familiar to you.

drwxr-xr-x    3 root     root         4096 Jul 26 23:09 ./
drwxr-xr-x   21 root     root         4096 Jul 25 17:58 ../
lrwxrwxrwx    1 root     root           22 Jul 26 23:09 Sbsp; 22 Jul 26 23:09 System.map -> System.map-2.2.15-4mdk
-rw-r--r--    1 root     root       193266 May 10 10:00 System.map-2.2.15-4mdk
-rw-r--r--    1 root     root          512 Jul 25 18:08 boot.0300
-rw-r--r--    1 root     root         4592 May  8 11:01 boot.b
-rw-r--r--    1 root     root          612 May  8 11:01 chain.b
drwxr-xr-x    2 root     root         4096 Jul 25 18:08 grub/
-rw-r--r--    1 root     root       425009 Jul 25 18:07 initrd-2.2.15-4mdk.img
lrwxrwxrwx    1 root     root           22 Jul 25 18:07 initrd.img -> initrd-2.2.15-4mdk.img
-rw-r--r--    1 root     root          431 Jul 26 23:09 kernel.h
-rw-------    1 root     root      &nbs;    31744 Jul 25 18:08 map
-rw-r--r--    1 root     root          182 Jul 25 18:08 message
-rw-r--r--    1 root     root          644 May  8 11:01 os2_d.b
-rw-r--r--    1 root     root          256 Jul 25 18:08 us.klt
lrwxrwxrwx    1 root     root           19 Jul 25 18:07 vmlinuz -> vmlinuz-2.2.15-4mdk
-rw-r--r--    1 root     root       677157 May 10 10:00 vmlinuz-2.2.15-4mdk

The funny stuff at the beginning of the line means...
The first character equals d if it is a directory, l if it is a link, - if a regular file.
The next 9 characters are really three groups of three characters each meaning...
Read, Write, eXecute permissions (or - if not) for each of the Owner, Group, Users,
(You make it you Own it, Group is your group, Users means all users)
Another handy switch for ls is -a which means ALL (i.e. show hidden files)
(Any file that starts with a period is hidden, so MyFile wouldn't be hidden but .MyFile would)
So you will usually do ls-al (I will show you a way to make that easier in a minute)
Another handy one is -R (capital this time) which means Recursive, do subdirectories too.
(If you want to see all the other seemingly hundreds of switches, do man ls)

The -> after some files show the "links" to other files (notice the l as the first file attribute)
initrd.img is not really a file but simply a link to initrd-2.2.15-4mdk.img.
Links shown like this are "symbolic" links which are very flexible.
If these were "hard" links you wouldn't see them at all here...
Both files would simple be the same file with two names.

With this or any command that spews long lists, our old friend more is here (ls-l | more)
But Linux has a much better one, named, with dry humor, less : )

Now comes a few tricky ones for Dos users...
First, the current directory is NOT in the path...
So if you are in /root and there is an executable file app in /root...
And you type app and hit return, the shell will say it can't find it.
You would have to type ./app to tell the shell that app is in the current directory.
Strange but true. It is for security reasons. I will show you how to fix that in a sec.
(p.s. you also need to have the executable bit set or you won't be allowed to run it : )

The next thing... although a command window or screen looks like dos...
It isn't, it is Linux, a multi-user, multi-tasking, multi-console, multi-everything OS.
If you type dothis it will set there and wait for dothis to complete, just like Dos...
Which is ok for quick things and interactive applications, but not a good idea usually.
Much better to do dothis& in which case the console says something like...
"Ok, I started dothis as process 519, what else you want me to do?"
Makes it real handy to do other things while the first is processing...
Also makes it cool as you can do kill 519 if it takes too long or doesn't act right.

etc. etc. etc...
Use cat instead of type to print a file on the screen...
... (or to combine files with it cat file1 file2 >filenew)
Use clean instead of cls to clear the screen in a console or xterm...
Use df to get disk used space and free space specs...
Use du to get disk space usage information...
Use free to get memory used and free specs...
Use lpr instead of print to print a file to the printer...
Use rm instead of del to delete a file...
Use startx to start X windows.

Now, the really cool stuff, the reason most Unix folks still like the command line...
There is a file to configure your shell. Most Linuxes uses bash for their shell.
There will be a file in your home directory (/root for most of us) called .bashrc
You can edit this to do almost anything you want to do.
You don't want to mess with those new Linux commands?
No problem, open .bashrc and simply add the lines...
alias cls='clear'
alias copy='cp'
alias del='rm'
alias dir='ls -al'
alias move='mv'
alias md='mkdir'
alias rd='rmdir'
alias ren='mv'
etc., etc., etc., to your hearts content.
Now you can use copy and move and dir...
There is a companion file called .bash_profile
Where you can fix that path thing and such, have it your way.
Then just type bash to restart the shell, no shutting down, etc.

If you have ever used doskey and find it handy...
Linux shells have it built in, no need to do anything.
Hit the up arrow key to pop up the last command you typed.
If you want to see the last couple hundred things you typed...
Simply open the .bash_history file in your home directory.

Say you start a job on the command line...
You start a backup or something that will take a while...
And you forgot to use the & to background the process.
Now you don't feel like setting here doing nothing till it is done...
But you don't want to hit Ctrl+C to kill it now that it has started...
What to do?
Simple. Press Alt+Ctrl+F2 which will bring up the logon console...
Log in again to start a new session on this console and go to work.
Linux will notify you when that other job on the other console is done.
(The logon console will generously move to Alt+Ctrl+F3 for you...
... In case you do something else dumb that locks up this console.)
Way cool.

Last trick...
You sometimes need to find files, there a a lot of them in Linux. There is a find command in Linux to find files and directories, but a much better way is the slocate command. Faster. However, the slocate command uses a database that Linux rebuilds every day, unless of course you are new to Linux and still dual-booting back to Dos or Win and are not running Linux at 2 in the morning when Linux normally does this kind of thing. Type /etc/cron.daily/slocate.cron & (definitely need the & here, it'll take a while)... To make sure the database is built so that slocate can work.

 Back to the Wonderful World of Windows...


This site designed and built by Solutions