home *** CD-ROM | disk | FTP | other *** search
Text File | 1998-05-09 | 55.2 KB | 1,981 lines | [TEXT/hscd] |
- From DOS/Windows to Linux HOWTO
- By Guido Gonzato, guido@ibogfs.cineca.it
- v1.3.0, 15 April 1998
-
- This HOWTO is dedicated to all the (soon to be former?) DOS and Win≠
- dows users who have decided to switch to Linux, the free UNIX clone.
- The purpose of this document is to help the reader translate his or
- her knowledge of DOS and Windows into the Linux environment, as well
- as providing hints on exchanging files and resources between the two
- OSes.
- ______________________________________________________________________
-
- Table of Contents
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 1. Introduction
-
- 1.1 Is Linux Right for You?
- 1.2 It Is. Tell Me More
- 1.2.1 Introductory Concepts
- 1.2.2 Getting Help
- 1.3 Conventions
-
- 2. For the Impatient
-
- 3. Files and Programs
-
- 3.1 Files: Preliminary Notions
- 3.2 Symbolic Links
- 3.3 Permissions and Ownership
- 3.4 Files: Translating Commands
- 3.4.1 Examples
- 3.5 Running Programs: Multitasking and Sessions
- 3.6 Running Programs on Remote Computers
-
- 4. Using Directories
-
- 4.1 Directories: Preliminary Notions
- 4.2 Directories Permissions
- 4.3 Directories: Translating Commands
- 4.3.1 Examples
-
- 5. Floppies, Hard Disks, and the Like
-
- 5.1 Managing Devices the DOS Way
- 5.2 Managing Devices the UNIX Way
- 5.3 Backing Up
-
- 6. What About Windows?
-
- 7. Tailoring the System
-
- 7.1 System Initialisation Files
- 7.2 Program Initialisation Files
-
- 8. A Bit of Programming
-
- 8.1 Shell Scripts: .BAT Files on Steroids
- 8.2 C for Yourself
-
- 9. The Remaining 1%
-
- 9.1 Using tar & gzip
- 9.2 Installing Applications
- 9.3 Tips You Can't Do Without
- 9.4 Where to Find Applications
- 9.5 A Few Things You Couldn't Do
- 9.6 Common Extensions and Related Programs
- 9.7 Converting Files
-
- 10. The End, for Now
-
- 10.1 Copyright
- 10.2 Disclaimer
-
-
- ______________________________________________________________________
-
-
-
-
- 1. Introduction
-
-
-
- 1.1. Is Linux Right for You?
-
-
- You want to switch from DOS/Windows to Linux? Good idea: Linux is
- technically superior to DOS, Windows 95 and even Windows NT. But
- beware: it might not be useful for you if you are not the right type
- of user. In fact, DOS and Windows are mostly employed for games and
- office productivity, while Linux gives its best at networking,
- development, and scientific computing. Linux is incredibly powerful,
- but learning how to harness that power takes time. Thus, if mostly
- need commercial sw, or if you don't feel like learning new commands
- and concepts, you had better look elsewhere.
-
- Work is underway to make Linux simpler to use, but don't expect to be
- proficient with it unless you read a lot of documentation and use it
- at least for a few months. Linux won't give you instant results. In
- spite of these warnings, I'm 100% confident that if you are the right
- user type you'll find in Linux your computer Nirvana, and never want
- to use DOS or Windows again. By the way, Linux + DOS/Win can coexist
- happily on the same machine.
-
- Prerequisites for this howto: I'll assume that
-
-
- ∑ you know the basic DOS commands and concepts;
-
- ∑ Linux, possibly with X Window System, is properly installed on your
- PC;
-
- ∑ your shell---the equivalent of COMMAND.COM---is bash.
-
- Unless specified, all information in this work is aimed at bad ol'
- DOS. There is information about Windows here and there, but bear in
- mind that Windows and Linux are totally different, unlike DOS that is
- sort of a UNIX poor relation. Please also note that this work is
- neither a complete primer nor a configuration guide!
-
-
-
- 1.2. It Is. Tell Me More
-
-
- You installed Linux and the programs you needed on the PC. You gave
- yourself an account (if not, type adduser now!) and Linux is running.
- You've just entered your name and password, and now you are looking at
- the screen thinking: ``Well, now what?''
-
- Now, don't despair. You're almost ready to do the same things you used
- to do with DOS/Win, and many more. If you were running DOS/Win instead
- of Linux, you would be doing some of the following tasks:
-
-
- ∑ running programs and creating, copying, viewing, deleting,
- printing, renaming files;
-
- ∑ CD'ing, MD'ing, RD'ing, and DIR'ring your directories;
-
- ∑ formatting floppies and copying files from/to them;
-
- ∑ tailoring the system;
-
-
- ∑ writing .BAT files and programs in your favourite language;
-
- ∑ the remaining 1%.
-
- You'll be glad to know that these tasks can be accomplished under
- Linux in a fashion similar to DOS. Under DOS, the average user uses
- very few of the 100+ commands available: the same, up to a point,
- applies to Linux.
-
-
-
- 1.2.1. Introductory Concepts
-
-
- The best way to learn something new is to get your feet wet. You are
- strongly encouraged to experiment and play with Linux: you can't
- damage the system that way. A few points:
-
-
- ∑ first of all, how to quit Linux safely. If you see a text mode
- screen, press <CTRL-ALT-DEL>, wait for the system to reboot, then
- switch off the PC. If you are working under X Window System, press
- <CTRL-ALT-BACKSPACE> first, then <CTRL-ALT-DEL>. Never switch off
- or reset the PC directly: this could damage the file system;
-
- ∑ unlike DOS, Linux has built-in security mechanisms. Files and
- directories have permissions associated to them; as a result, some
- cannot be accessed by the normal user; (see Section ``Permissions
- and Ownership''). DOS, on the contrary, will let you wipe out the
- entire contents of your hard disk;
-
- ∑ there's a special user called ``root'': the system administrator,
- with full power of life and death on the machine. If you work on
- your own PC, you'll be root as well. Working as root is dangerous:
- any mistake can seriously damage or destroy the system just like
- with DOS/Win. Don't work as root unless absolutely necessary;
-
- ∑ much of the complexity of Linux comes from its extreme
- configurability: virtually every feature and every application can
- be tailored through one or more configuration files. Complexity is
- the price to pay for power;
-
- ∑ redirection and piping are a side DOS feature, a very inportant one
- and much more powerful under Linux. Simple commands can be strung
- together to accomplish complex tasks. I strongly suggest that you
- learn how to use them.
-
-
-
- 1.2.2. Getting Help
-
-
- There are many ways to get help with Linux. The most important are:
-
-
- ∑ reading the documentation---I mean it. Although the HOWTO you are
- reading may serve as an introduction to Linux, there are several
- books that you really should read: Matt Welsh's ``Linux
- Installation and Getting Started'' (
- <http://sunsite.unc.edu/mdw/LDP/gs/gs.html> ), Larry Greenfield's
- ``Linux User Guide'' (
- <ftp://sunsite.unc.edu/pub/Linux/docs/linux-doc-project/users-
- guide>), and the Linux FAQ ( <http://sunsite.unc.edu/mdw/FAQ/Linux-
- FAQ.html>). Feel a guilty conscience until you have read at least
- one of them;
-
- ∑ the documentation of the packages installed on the machine is often
- found in subdirectories under /usr/doc/;
-
- ∑ to get some help about the ``internal commands'' of the shell, type
- help or, better, man bash or info bash;
-
- ∑ to get help on a command, type man command that invokes the manual
- (``man'') page pertinent to command. Alternatively, type info
- command that invokes, if available, the info page pertinent to
- command. Info is a hypertext-based documentation system, perhaps
- not intuitive to use at first. Finally, you may try apropos command
- or whatis command. With all of these commands, press `q' to exit.
-
-
-
- 1.3. Conventions
-
-
- Throughout this work, examples will often follow the following format:
- <...> is a required argument, while [...] an optional one. Example:
-
-
-
- $ tar -tf <file.tar> [> redir_file]
-
-
-
-
- file.tar must be indicated, but redirection to redir_file is optional.
-
- ``RMP'' means ``please Read the Man Pages for further information''.
- I can't stress enough how important reading the documentation is.
-
- When the prompt of a command example is `#', the command can only be
- performed by root.
-
-
-
- 2. For the Impatient
-
-
- Want to strike out? Have a look at this table:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- DOS Linux Notes
- ------------------------------------------------------------------------------
-
- ATTRIB (+-)attr file chmod <mode> file completely different
- BACKUP tar -Mcvf device dir/ ditto
- CD dirname\ cd dirname/ almost the same syntax
- COPY file1 file2 cp file1 file2 ditto
- DEL file rm file beware - no undelete
- DELTREE dirname rm -R dirname/ ditto
- DIR ls not exactly the same syntax
- DIR file /S find . -name file completely different
- EDIT file vi file I think you won't like it
- jstar file feels like dos' edit
- FORMAT fdformat,
- mount, umount quite different syntax
- HELP command man command, same philosophy
- info command
- MD dirname mkdir dirname/ almost the same syntax
- MOVE file1 file2 mv file1 file2 ditto
- NUL /dev/null ditto
- PRINT file lpr file ditto
- PRN /dev/lp0,
- /dev/lp1 ditto
- RD dirname rmdir dirname/ almost the same syntax
- REN file1 file2 mv file1 file2 not for multiple files
- RESTORE tar -Mxpvf device different syntax
- TYPE file less file much better
- WIN startx poles apart!
-
-
-
-
- If you need more than a table of commands, please refer to the
- following sections.
-
-
-
- 3. Files and Programs
-
-
-
-
- 3.1. Files: Preliminary Notions
-
-
- Linux has a structure of directories and files very similar to
- DOS/Win's. Files have filenames that obey special rules, are stored
- in directories, some are executable, and among these most have command
- switches. Moreover, you can use wildcard characters, redirection, and
- piping. There are only a few minor differences:
-
-
- ∑ under DOS, file names are in the so-called 8.3 form; e.g.
- NOTENOUG.TXT. Under Linux we can do better. If you installed Linux
- using a file system like ext2 or umsdos, you can use longer
- filenames (up to 255 characters), and with more than one dot: for
- example, This_is.a.VERY_long.filename. Please note that I used both
- upper and lower case characters: in fact...
-
- ∑ upper and lower case characters in file names or commands are
- different. Therefore, FILENAME.tar.gz and filename.tar.gz are two
- different files. ls is a command, LS is a mistake;
-
- ∑ Windows 95 users, beware when using long file names under Linux.
- If a file name contains spaces (not recommended but possible), you
- must enclose the file name in double quotes whenever you refer to
- it. For example:
-
-
-
- $ # the following command makes a directory called "My old files"
- $ mkdir "My old files"
- $ ls
- My old files bin tmp
-
-
-
-
-
- Further, some characters shouldn't be used: some are !*$&.
-
- ∑ there are no compulsory extensions like .COM and .EXE for programs,
- or .BAT for batch files. Executable files are marked by an asterisk
- `*' at the end of their name when you issue the ls -F command. For
- example:
-
-
-
- $ ls -F
- I_am_a_dir/ cindy.jpg cjpg* letter_to_Joe my_1st_script* old~
-
-
-
-
-
- The files cjpg* and my_1st_script* are executables, that is ``pro≠
- grams''. Under DOS, backup files end in .BAK, while under Linux they
- end with a tilde `~'. Further, a file whose name starts with a dot is
- considered as hidden. Example: the file .I.am.a.hidden.file won't show
- up after the ls command;
-
- ∑ DOS program switches are obtained with /switch, Linux switches with
- -switch or --switch. Example: dir /s becomes ls -R. Note that many
- DOS programs, like PKZIP or ARJ, use UNIX-style switches.
-
- You can now jump to Section ``Translating Commands from DOS to
- Linux'', but if I were you I'd read on.
-
-
-
- 3.2. Symbolic Links
-
-
- UNIX has a type of file that doesn't exist under DOS: the symbolic
- link. This can be thought of as a pointer to a file or to a
- directory, and can be used instead of the file or directory it points
- to; it's similar to Windows 95 shortcuts. Examples of symbolic links
- are /usr/X11, which points to /usr/X11R6; /dev/modem, which points to
- either /dev/cua0 or /dev/cua1.
-
- To make a symbolic link:
-
-
-
- $ ln -s <file_or_dir> <linkname>
-
-
-
-
- Example:
-
-
- $ ln -s /usr/doc/g77/DOC g77manual.txt
-
-
-
-
- Now you can refer to g77manual.txt instead of /usr/doc/g77/DOC. Links
- appear like this in directory listings:
-
-
-
- $ ls -F
- g77manual.txt@
- $ ls -l
- (various things...) g77manual.txt -> /usr/doc/g77/DOC
-
-
-
-
-
-
- 3.3. Permissions and Ownership
-
-
- DOS files and directories have the following attributes: A (archive),
- H (hidden), R (read-only), and S (system). Only H and R make sense
- under Linux: hidden files start with a dot, and for the R attribute,
- read on.
-
- Under UNIX a file has ``permissions'' and an owner, who in turn
- belongs to a ``group''. Look at this example:
-
-
-
- $ ls -l /bin/ls
- -rwxr-xr-x 1 root bin 27281 Aug 15 1995 /bin/ls*
-
-
-
-
- The first field contains the permissions of the file /bin/ls, which
- belongs to root, group bin. Leaving the remaining information aside,
- remember that -rwxr-xr-x means, from left to right:
-
- - is the file type (- = ordinary file, d = directory, l = link, etc);
- rwx are the permissions for the file owner (read, write, execute); r-x
- are the permissions for the group of the file owner (read, execute);
- (I won't cover the concept of group, you can survive without it as
- long as you're a beginner ;-) r-x are the permissions for all other
- users (read, execute).
-
- The directory /bin has permissions, too: see Section ``Directories
- Permissions'' for further details. This is why you can't delete the
- file /bin/ls unless you are root: you don't have the permission to do
- so. To change a file's permissions, the command is:
-
-
-
- $ chmod <whoXperm> <file>
-
-
-
-
- where who is u (user, that is owner), g (group), o (other), X is
- either + or -, perm is r (read), w (write), or x (execute). Common
- examples of chmod use are the following:
-
- $ chmod +x file
-
-
-
-
- this sets the execute permission for the file.
-
-
-
- $ chmod go-rw file
-
-
-
-
- this removes read and write permission for everyone but the owner.
-
-
-
- $ chmod ugo+rwx file
-
-
-
-
- this gives everyone read, write, and execute permission.
-
-
-
- # chmod +s file
-
-
-
-
- this makes a so-called ``setuid'' or ``suid'' file---a file that
- everyone can execute with its owner's privileges. Typically, you'll
- come across root suid files; these are often important system files,
- like the X server.
-
- A shorter way to refer to permissions is with digits: rwxr-xr-x can be
- expressed as 755 (every letter corresponds to a bit: --- is 0, --x is
- 1, -w- is 2, -wx is 3...). It looks difficult, but with a bit of
- practice you'll understand the concept.
-
- root, being the superuser, can change everyone's file permissions.
- RMP.
-
-
-
- 3.4. Files: Translating Commands
-
-
- On the left, the DOS commands; on the right, their Linux counterpart.
-
-
-
- ATTRIB: chmod
- COPY: cp
- DEL: rm
- MOVE: mv
- REN: mv
- TYPE: more, less, cat
-
-
-
-
- Redirection and plumbing operators: < > >> |
-
- Wildcards: * ?
-
- nul: /dev/null
-
- prn, lpt1: /dev/lp0 or /dev/lp1; lpr
-
-
- 3.4.1. Examples
-
-
-
-
-
- DOS Linux
- ---------------------------------------------------------------------
-
- C:\GUIDO>ATTRIB +R FILE.TXT $ chmod 400 file.txt
- C:\GUIDO>COPY JOE.TXT JOE.DOC $ cp joe.txt joe.doc
- C:\GUIDO>COPY *.* TOTAL $ cat * > total
- C:\GUIDO>COPY FRACTALS.DOC PRN $ lpr fractals.doc
- C:\GUIDO>DEL TEMP $ rm temp
- C:\GUIDO>DEL *.BAK $ rm *~
- C:\GUIDO>MOVE PAPER.TXT TMP\ $ mv paper.txt tmp/
- C:\GUIDO>REN PAPER.TXT PAPER.ASC $ mv paper.txt paper.asc
- C:\GUIDO>PRINT LETTER.TXT $ lpr letter.txt
- C:\GUIDO>TYPE LETTER.TXT $ more letter.txt
- C:\GUIDO>TYPE LETTER.TXT $ less letter.txt
- C:\GUIDO>TYPE LETTER.TXT > NUL $ cat letter.txt > /dev/null
- n/a $ more *.txt *.asc
- n/a $ cat section*.txt | less
-
-
-
-
- Notes:
-
-
- ∑ * is smarter under Linux: * matches all files except the hidden
- ones; .* matches all hidden files (but also the current directory
- `.' and parent directory `..': beware!); *.* matches only those
- that have a '.' in the middle or that end with a dot; p*r matches
- both `peter' and `piper'; *c* matches both `picked' and `peck';
-
- ∑ when using more, press <SPACE> to read through the file, `q' to
- exit. less is more intuitive and lets you use the arrow keys;
-
- ∑ there is no UNDELETE, so think twice before deleting anything;
-
- ∑ in addition to DOS' < > >>, Linux has 2> to redirect error messages
- (stderr); moreover, 2>&1 redirects stderr to stdout, while 1>&2
- redirects stdout to stderr;
-
- ∑ Linux has another wildcard: the []. Use: [abc]* matches files
- starting with a, b, c; *[I-N1-3] matches files ending with I, J, K,
- L, M, N, 1, 2, 3;
-
- ∑ lpr <file> prints a file in background. To check the status of the
- print queue, use lpq; to remove a file from the print queue, use
- lprm;
-
- ∑ there is no DOS-like RENAME; that is, mv *.xxx *.yyy won't work.
- You could try this simple script; see Section ``Shell Scripts: .BAT
- Files on Steroids'' for details.
-
-
-
- ___________________________________________________________________
- #!/bin/sh
- # ren: rename multiple files according to several rules
-
- if [ $# -lt 3 ] ; then
- echo "usage: ren \"pattern\" \"replacement\" files..."
- exit 1
- fi
-
- OLD=$1 ; NEW=$2 ; shift ; shift
-
- for file in $*
- do
- new=`echo ${file} | sed s/${OLD}/${NEW}/g`
- mv ${file} $new
- done
- ___________________________________________________________________
-
-
-
- Beware: it doesn't behave like DOS' REN, as it uses ``regular expres≠
- sions'' that you still don't know. Shortly, if you simply want to
- change file extensions, use it as in: ren "htm$" "html" *htm. Don't
- forget the $ sign.
-
- ∑ use cp -i and mv -i to be warned when a file is going to be
- overwritten.
-
-
-
- 3.5. Running Programs: Multitasking and Sessions
-
-
- To run a program, type its name as you would do under DOS. If the
- directory (Section ``Using Directories'') where the program is stored
- is included in the PATH (Section ``System Initialisation Files''), the
- program will start. Exception: unlike DOS, under Linux a program
- located in the current directory won't run unless the directory is
- included in the PATH. Escamotage: being prog your program, type
- ./prog.
-
- This is what the typical command line looks like:
-
-
-
- $ command [-s1 [-s2] ... [-sn]] [par1 [par2] ... [parn]] [< input] [> output]
-
-
-
-
- where -s1, ..., -sn are the program switches, par1, ..., parn are the
- program parameters. You can issue several commands on the command
- line:
-
-
-
- $ command1 ; command2 ; ... ; commandn
-
-
-
-
- That's all about running programs, but it's easy to go a step beyond.
- One of the main reasons for using Linux is that it is a multitasking
- os---it can run several programs (from now on, processes) at the same
- time. You can launch processes in background and continue working
- straight away. Moreover, Linux lets you have several sessions: it's
- like having many computers to work on at once!
-
-
- ∑ To switch to session 1..6 on the virtual consoles, press <ALT-F1>
- ... <ALT-F6>
-
- ∑ To start a new session in the same v.c. without leaving the current
- one, type su - <loginname>. Example: su - root. This is useful, for
- instance, when you need to perform a task that only root can do.
-
- ∑ To end a session, type exit. If there are stopped jobs (see later),
- you'll be warned.
-
- ∑ To launch a process in background, add an ampersand '&' at the end
- of the command line:
-
-
-
- $ progname [-switches] [parameters] [< input] [> output] &
- [1] 123
-
-
-
-
-
- the shell identifies the process with a job number (e.g. [1]; see
- below), and with a PID (Process Identification Number; 123 in our
- example).
-
- ∑ To see how many processes there are, type ps -ax. This will output
- a list of currently running processes.
-
- ∑ To kill a process, type kill <PID>. You may need to kill a process
- when you don't know how to quit it the right way.... Unless you're
- root, you can't kill other people's processes. Sometimes, a process
- will only be killed by kill -SIGKILL <PID>.
-
- In addition, the shell allows you to stop or temporarily suspend a
- process, send a process to background, and bring a process from
- background to foreground. In this context, processes are called
- ``jobs''.
-
- ∑ To see how many jobs there are, type jobs. Here the jobs are
- identified by their job number, not by their PID.
-
- ∑ To stop a process running in foreground, press <CTRL-C> (it won't
- always work).
-
- ∑ To suspend a process running in foreground, press <CTRL-Z> (ditto).
-
- ∑ To send a suspended process into background, type bg <job> (it
- becomes a job).
-
- ∑ To bring a job to foreground, type fg <job>. To foreground the last
- backgrounded (is my English weird?) job, simply type fg.
-
- ∑ To kill a job, type kill <%job> where <job> may be 1, 2, 3,...
-
- Using these commands you can format a disk, zip a bunch of files,
- compile a program, and unzip an archive all at the same time, and
- still have the prompt at your disposal. Try this with DOS! And try
- with Windows, just to see the difference in performance (if it doesn't
- crash, of course).
-
-
-
- 3.6. Running Programs on Remote Computers
-
-
- To run a program on a remote machine whose IP address is
- remote.machine.edu, you do:
-
-
-
- $ telnet remote.machine.edu
-
-
-
-
- After logging in, start your favourite program. Needless to say, you
- must have a shell account on the remote machine.
-
- If you have X11, you can even run an X application on a remote
- computer, displaying it on your X screen. Let remote.machine.edu be
- the remote X computer and let local.linux.box be your Linux machine.
- To run from local.linux.box an X program that resides on
- remote.machine.edu, do the following:
-
-
- ∑ fire up X11, start an xterm or equivalent terminal emulator, then
- type:
-
-
-
- $ xhost +remote.machine.edu
- $ telnet remote.machine.edu
-
-
-
-
-
- ∑ after logging in, type:
-
-
-
- remote:$ DISPLAY=local.linux.box:0.0
- remote:$ progname &
-
-
-
-
-
- (instead of DISPLAY..., you may have to write: setenv DISPLAY
- local.linux.box:0.0. It depends on the remote shell.)
-
- Et voila! Now progname will start on remote.machine.edu and will be
- displayed on your machine. Don't try this over the modem though, for
- it's too slow to be usable.
-
-
-
- 4. Using Directories
-
-
-
- 4.1. Directories: Preliminary Notions
-
-
- We have seen the differences between files under DOS and Linux. As for
- directories, under DOS the root directory is \, under Linux / is.
- Similarly, nested directories are separated by \ under DOS, by / under
- Linux. Example of file paths:
- DOS: C:\PAPERS\GEOLOGY\MID_EOC.TEX
- Linux: /home/guido/papers/geology/middle_eocene.tex
-
-
-
-
- As usual, .. is the parent directory and . is the current directory.
- Remember that the system won't let you cd, rd, or md everywhere you
- want. Each user starts from his or her own directory called 'home',
- given by the system administrator; for instance, on my PC my home dir
- is /home/guido.
-
-
-
- 4.2. Directories Permissions
-
-
- Directories, too, have permissions. What we have seen in Section
- ``Permissions and Ownership'' applies to directories as well (user,
- group, and other). For a directory, rx means you can cd to that
- directory, and w means that you can delete a file in the directory
- (according to the file's permissions, of course), or the directory
- itself.
-
- For example, to prevent other users from snooping in /home/guido/text:
-
-
-
- $ chmod o-rwx /home/guido/text
-
-
-
-
-
-
- 4.3. Directories: Translating Commands
-
-
-
-
- DIR: ls, find, du
- CD: cd, pwd
- MD: mkdir
- RD: rmdir
- DELTREE: rm -R
- MOVE: mv
-
-
-
-
-
- 4.3.1. Examples
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- DOS Linux
- ---------------------------------------------------------------------
-
- C:\GUIDO>DIR $ ls
- C:\GUIDO>DIR FILE.TXT $ ls file.txt
- C:\GUIDO>DIR *.H *.C $ ls *.h *.c
- C:\GUIDO>DIR/P $ ls | more
- C:\GUIDO>DIR/A $ ls -l
- C:\GUIDO>DIR *.TMP /S $ find / -name "*.tmp"
- C:\GUIDO>CD $ pwd
- n/a - see note $ cd
- ditto $ cd ~
- ditto $ cd ~/temp
- C:\GUIDO>CD \OTHER $ cd /other
- C:\GUIDO>CD ..\TEMP\TRASH $ cd ../temp/trash
- C:\GUIDO>MD NEWPROGS $ mkdir newprogs
- C:\GUIDO>MOVE PROG .. $ mv prog ..
- C:\GUIDO>MD \PROGS\TURBO $ mkdir /progs/turbo
- C:\GUIDO>DELTREE TEMP\TRASH $ rm -R temp/trash
- C:\GUIDO>RD NEWPROGS $ rmdir newprogs
- C:\GUIDO>RD \PROGS\TURBO $ rmdir /progs/turbo
-
-
-
-
- Notes:
-
-
- 1. when using rmdir, the directory to remove must be empty. To delete
- a directory and all of its contents, use rm -R (at your own risk).
-
- 2. the character '~' is a shortcut for the name of your home
- directory. The commands cd or cd ~ will take you to your home
- directory from wherever you are; the command cd ~/tmp will take you
- to /home/your_home/tmp.
-
- 3. cd - ``undoes'' the last cd.
-
-
-
- 5. Floppies, Hard Disks, and the Like
-
-
- There are two ways to manage devices under Linux: the DOS way and the
- UNIX way. Take your pick.
-
-
- 5.1. Managing Devices the DOS Way
-
-
- Most Linux distributions include the Mtools suite, a set of commands
- that are perfectly equivalent to their DOS counterpart, but start with
- an `m': i.e., mformat, mdir, mdel, mmd, and so on. They can even
- preserve long file names, but not file permissions. If you configure
- Mtools editing a file called /etc/mtools.conf (a sample is provided),
- you can also access the DOS/Win partition, the CD-ROM, and the Zip
- drive.
-
- To format a fresh disk though, the mformat command won't do. As root,
- you'll have to issue this command beforehand:
-
-
-
- # fdformat /dev/fd0H1440
-
-
- Note: you can't access files on the floppy with a command like, say,
- less a:file.txt! This is the disadvantage of the DOS way of mounting
- disks.
-
-
- 5.2. Managing Devices the UNIX Way
-
-
- UNIX has a different way to handle devices than DOS/Win. There are no
- separate volumes like A: or C:; a disk, be it a floppy or whatever,
- becomes part of the local file system through an operation called
- ``mounting''. When you're done using the disk, before extracting it
- you must ``unmount'' it.
-
- Physically formatting a disk is one thing, making a file system on it
- is another. The DOS command FORMAT A: does both things, but under
- Linux there are separate commands. To format a floppy, see above; to
- create a file system:
-
-
-
- # mkfs -t ext2 -c /dev/fd0H1440
-
-
-
-
- You can use minix, vfat, dos or other formats instead of ext2. Once
- the disk is prepared, mount it with the command
-
-
-
- # mount -t ext2 /dev/fd0 /mnt
-
-
-
-
- specifying the right file system if you don't use ext2. Now you can
- address the files in the floppy. All you used to do with A: or B: is
- now done using /mnt instead. Examples:
-
-
-
- DOS Linux
- ---------------------------------------------------------------------
-
- C:\GUIDO>DIR A: $ ls /mnt
- C:\GUIDO>COPY A:*.* $ cp /mnt/* .
- C:\GUIDO>COPY *.ZIP A: $ cp *.zip /mnt
- C:\GUIDO>EDIT A:FILE.TXT $ jstar /mnt/file.txt
- C:\GUIDO>A: $ cd /mnt
- A:>_ /mnt/$ _
-
-
-
-
- When you've finished, before extracting the disk you must unmount it
- with the command
-
-
-
- # umount /mnt
-
-
-
-
-
- Obviously, you have to fdformat and mkfs only unformatted disks, not
- previously used ones. If you want to use the drive B:, refer to
- fd1H1440 and fd1 instead of fd0H1440 and fd0 in the examples above.
-
- Needless to say, what applies to floppies also applies to other
- devices; for instance, you may want to mount another hard disk or a
- CD-ROM drive. Here's how to mount the CD-ROM:
-
-
-
- # mount -t iso9660 /dev/cdrom /mnt
-
-
-
-
- This was the ``official'' way to mount your disks, but there's a trick
- in store. Since it's a bit of a nuisance having to be root to mount a
- floppy or a CD-ROM, every user can be allowed to mount them this way:
-
-
- ∑ as root, do the following:
-
-
-
- # mkdir /mnt/a: ; mkdir /mnt/a ; mkdir /mnt/cdrom
- # chmod 777 /mnt/a* /mnt/cd*
- # # make sure that the CD-ROM device is right
- # chmod 666 /dev/hdb ; chmod 666 /dev/fd*
-
-
-
-
-
- ∑ add in /etc/fstab the following lines:
-
-
-
- /dev/cdrom /mnt/cdrom iso9660 ro,user,noauto 0 0
- /dev/fd0 /mnt/a: msdos user,noauto 0 0
- /dev/fd0 /mnt/a ext2 user,noauto 0 0
-
-
-
-
-
- Now, to mount a DOS floppy, an ext2 floppy, and a CD-ROM:
-
-
-
- $ mount /mnt/a:
- $ mount /mnt/a
- $ mount /mnt/cdrom
-
-
-
-
- /mnt/a, /mnt/a:, and /mnt/cdrom can now be accessed by every user.
- Remember that allowing everyone to mount disks this way is a gaping
- security hole, if you care.
-
- Two useful commands are df, which gives information on the mounted
- file systems, and du dirname which reports the disk space consumed by
- the directory.
-
-
-
- 5.3. Backing Up
-
-
- There are several packages to help you, but the very least you can do
- for a multi-volume backup is (as root):
-
-
-
- # tar -M -cvf /dev/fd0H1440 dir_to_backup/
-
-
-
-
- Make sure to have a formatted floppy in the drive, and several more
- ready. To restore your stuff, insert the first floppy in the drive
- and do:
-
-
-
- # tar -M -xpvf /dev/fd0H1440
-
-
-
-
-
-
- 6. What About Windows?
-
-
- The ``equivalent'' of Windows is the graphic system X Window System,
- or X11 for short. Unlike Windows or the Mac, X11 wasn't designed for
- ease of use or to look good, but just to provide graphic facilities to
- UNIX workstations. These are the main differences:
-
-
- ∑ while Windows looks and feels the same all over the world, X11 does
- not: it's much more configurable. X11's overall look is given by a
- key component called ``window manager'', of which you have a wide
- choice: fvwm, basic but nice and memory efficient, fvwm2-95,
- Afterstep, and many more. The w.m. is usually invoked by a file
- called .xinitrc;
-
- ∑ your w.m. can be configured so as a window acts as in, er, Windows:
- you click on it and it comes to foreground. Another possibility is
- that it comes to foreground when the mouse moves over it
- (``focus''). Also, the placement of windows on the screen can be
- automatic or interactive: if a strange frame appears instead of
- your program, left click where you want it to appear;
-
- ∑ most actions can be tailored editing one or more configuration
- files. Read the docs of your window manager; the configuration file
- can be .fvwmrc, .fvwm2rc95, .steprc, etc. A sample configuration
- file is typically found in /etc/X11/window-manager-
- name/system.window-manager-name;
-
- ∑ X11 applications are written using special libraries (``widget
- sets''); as several are available, applications look different. The
- most basic ones are those that use the Athena widgets (2--D look;
- xdvi, xman, xcalc); others use Motif (netscape), others still use
- Tcl/Tk, XForms, Qt, Gtk, and what have you. Some---not all---of
- these libraries provide roughly the same look and feel as Windows;
-
- ∑ well, not quite. The feel, unfortunately, can be incoherent. For
- instance, if you select a line of text using the mouse and press
- <BACKSPACE>, you'd expect the line to disappear, right? This
- doesn't work with Athena--based apps, but it does with Motif, Qt,
- Gtk, and Tcl/Tk ones;
-
- ∑ how the scrollbars and resizing work depends on the window manager
- and the widget set. Tip: if you find that the scrollbars don't
- behave as you would expect, try using the central button or the two
- buttons together to move them;
-
- ∑ applications don't have an icon by default, but they can have many.
- Most window managers feature a menu you recall by clicking on the
- desktop (``root window''); needless to say, the menu can be
- tailored. To change the root window appearance, use xsetroot or
- xloadimage;
-
- ∑ the clipboard can only contain text, and behaves strange. Once
- you've selected text, it's already copied to the clipboard: move
- elsewhere and press the central button to paste it. There's an
- application, xclipboard, that provides for multiple clipboard
- buffers;
-
- ∑ drag and drop is an option, and is only available if you use X11
- applications that support it.
-
- To save memory, one should use applications that use the same
- libraries, but this is difficult to do in practice.
-
- The K Desktop Environment project aims at making X11 look and behave
- as coherently as Windows; it's currently in early beta stage but,
- believe me, it's awesome. Point your browser to <http://www.kde.org>.
-
-
-
- 7. Tailoring the System
-
-
-
- 7.1. System Initialisation Files
-
-
- Two important files under DOS are AUTOEXEC.BAT and CONFIG.SYS, which
- are used at boot time to initialise the system, set some environment
- variables like PATH and FILES, and possibly launch a program or batch
- file. Under Linux there are lots of initialisation files, some of
- which you had better not tamper with until you know exactly what you
- are doing. I'll tell you what the most important are, anyway:
-
-
-
- FILES NOTES
-
- /etc/inittab don't touch for now!
- /etc/rc.d/* ditto
-
-
-
-
- If all you need is setting the $PATH and other environment variables,
- or you want to change the login messages or automatically launch a
- program after the login, have a look at the following files:
-
-
-
-
-
-
-
-
- FILES NOTES
-
- /etc/issue sets pre-login message
- /etc/motd sets post-login message
- /etc/profile sets $PATH and other variables, etc.
- /etc/bashrc sets aliases and functions, etc.
- /home/your_home/.bashrc sets your aliases + functions
- /home/your_home/.bash_profile or
- /home/your_home/.profile sets environment + starts your progs
-
-
-
-
- If the latter file exists (note that it is a hidden file), it will be
- read after the login and the commands in it will be executed.
-
- Example---look at this .bash_profile:
-
-
- ______________________________________________________________________
- # I am a comment
- echo Environment:
- printenv | less # equivalent of command SET under DOS
- alias d='ls -l' # easy to understand what an alias is
- alias up='cd ..'
- echo "I remind you that the path is "$PATH
- echo "Today is `date`" # use the output of command 'date'
- echo "Have a good day, "$LOGNAME
- # The following is a "shell function"
- ctgz() # List the contents of a .tar.gz archive.
- {
- for file in $*
- do
- gzip -dc ${file} | tar tf -
- done
- }
- # end of .profile
- ______________________________________________________________________
-
-
-
- $PATH and $LOGNAME, you guessed right, are environment variables.
- There are many others to play with; for instance, RMP for apps like
- less or bash.
-
-
-
- 7.2. Program Initialisation Files
-
-
- Under Linux, virtually everything can be tailored to your needs. Most
- programs have one or more initialisation files you can fiddle with,
- often as a .prognamerc in your home dir. The first ones you'll want to
- modify are:
-
-
- ∑ .inputrc: used by bash to define key bindings;
-
- ∑ .xinitrc: used by startx to initialise X Window System;
-
- ∑ .fvwmrc: used by the window manager fvwm.
-
- ∑ .joerc: used by the editor joe;
-
- ∑ .jedrc: used by the editor jed;
-
- ∑ .pinerc: used by the mail reader pine;
-
- ∑ .Xdefault: used by many X programs.
-
- For all of these and the others you'll come across sooner or later,
- RMP. As a final note, let me suggest that you check out the
- Configuration HOWTO on
- <http://sunsite.unc.edu/mdw/HOWTO/Config-HOWTO.html> .
-
-
-
- 8. A Bit of Programming
-
-
-
-
- 8.1. Shell Scripts: .BAT Files on Steroids
-
-
- If you used .BAT files to create shortcuts of long command lines (I
- did a lot), this goal can be attained by inserting appropriate alias
- lines (see example above) in profile or .profile. But if your .BATs
- were more complicated, then you'll love the scripting language made
- available by the shell: it's as powerful as QBasic, if not more. It
- has variables, structures like while, for, case, if... then... else,
- and lots of other features: it can be a good alternative to a ``real''
- programming language.
-
- To write a script---the equivalent of a .BAT file under DOS---all you
- have to do is write a standard ASCII file containing the instructions,
- save it, then make it executable with the command chmod +x
- <scriptfile>. To execute it, type its name.
-
- A word of warning. The system editor is called vi, and in my
- experience most new users find it very difficult to use. I'm not going
- to explain how to use it, because I don't like it and don't use it, so
- there. Suffice it here to say that:
-
-
- ∑ to insert some text, type `i' then your text;
-
- ∑ to delete characters, type <ESC> then `x';
-
- ∑ to quit vi whithout saving, type <ESC> then :q!
-
- ∑ to save and quit, type <ESC> then :wq.
-
- A good beginner editor is joe: invoking it by typing jstar you'll get
- the same key bindings as the DOS editor. jed in WordStar or IDE mode
- is even better. Please consult Section ``Where to Find Applications''
- to see where to get these editors.
-
- Writing scripts under bash is such a vast subject it would require a
- book by itself, and I will not delve into the topic any further. I'll
- just give you an example of shell script, from which you can extract
- some basic rules:
-
-
-
-
-
-
-
-
-
-
- ______________________________________________________________________
- #!/bin/sh
- # sample.sh
- # I am a comment
- # don't change the first line, it must be there
- echo "This system is: `uname -a`" # use the output of the command
- echo "My name is $0" # built-in variables
- echo "You gave me the following $# parameters: "$*
- echo "The first parameter is: "$1
- echo -n "What's your name? " ; read your_name
- echo notice the difference: "hi $your_name" # quoting with "
- echo notice the difference: 'hi $your_name' # quoting with '
- DIRS=0 ; FILES=0
- for file in `ls .` ; do
- if [ -d ${file} ] ; then # if file is a directory
- DIRS=`expr $DIRS + 1` # DIRS = DIRS + 1
- elif [ -f ${file} ] ; then
- FILES=`expr $FILES + 1`
- fi
- case ${file} in
- *.gif|*jpg) echo "${file}: graphic file" ;;
- *.txt|*.tex) echo "${file}: text file" ;;
- *.c|*.f|*.for) echo "${file}: source file" ;;
- *) echo "${file}: generic file" ;;
- esac
- done
- echo "there are ${DIRS} directories and ${FILES} files"
- ls | grep "ZxY--!!!WKW"
- if [ $? != 0 ] ; then # exit code of last command
- echo "ZxY--!!!WKW not found"
- fi
- echo "enough... type 'man bash' if you want more info."
- ______________________________________________________________________
-
-
-
-
-
- 8.2. C for Yourself
-
-
- Under UNIX, the system language is C, love it or hate it. Scores of
- other languages (Java, FORTRAN, Pascal, Lisp, Basic, Perl, awk...) are
- also available.
-
- Taken for granted that you know C, here are a couple of guidelines for
- those of you who have been spoilt by Turbo C++ or one of its DOS kin.
- Linux's C compiler is called gcc and lacks all the bells and whistles
- that usually accompany its DOS counterparts: no IDE, on-line help,
- integrated debugger, etc. It's just a rough command-line compiler,
- very powerful and efficient. To compile your standard hello.c you'll
- do:
-
-
-
- $ gcc hello.c
-
-
-
-
- which will create an executable file called a.out. To give the
- executable a different name, do
-
-
-
-
- $ gcc -o hola hello.c
-
-
-
-
- To link a library against a program, add the switch -l<libname>. For
- example, to link in the math library:
-
-
-
- $ gcc -o mathprog mathprog.c -lm
-
-
-
-
- (The -l<libname> switch forces gcc to link the library
- /usr/lib/lib<libname>.a; so -lm links /usr/lib/libm.a).
-
- So far, so good. But when your prog is made of several source files,
- you'll need to use the utility make. Let's suppose you have written an
- expression parser: its source file is called parser.c and #includes
- two header files, parser.h and xy.h. Then you want to use the routines
- in parser.c in a program, say, calc.c, which in turn #includes
- parser.h. What a mess! What do you have to do to compile calc.c?
-
- You'll have to write a so-called makefile, which teaches the compiler
- the dependencies between sources and objects files. In our example:
-
-
- ______________________________________________________________________
- # This is makefile, used to compile calc.c
- # Press the <TAB> key where indicated!
-
- calc: calc.o parser.o
- <TAB>gcc -o calc calc.o parser.o -lm
- # calc depends on two object files: calc.o and parser.o
-
- calc.o: calc.c parser.h
- <TAB>gcc -c calc.c
- # calc.o depends on two source files
-
- parser.o: parser.c parser.h xy.h
- <TAB>gcc -c parser.c
- # parser.o depends on three source files
-
- # end of makefile.
- ______________________________________________________________________
-
-
-
- Save this file as Makefile and type make to compile your program;
- alternatively, save it as calc.mak and type make -f calc.mak, and of
- course RMP. You can invoke some help about the C functions, that are
- covered by man pages, section 3; for example,
-
-
-
- $ man 3 printf
-
-
-
-
- To debug your programs, use gdb. info gdb to learn how to use it.
-
- There are lots of libraries available; among the first you'll want to
- use are ncurses, to handle textmode effects, and svgalib, to do
- graphics. If you feel brave enough to tackle X11 programming, there
- are libraries like the abovementioned XForms, Qt, Gtk and many others,
- which make writing X11 programs a breeze. Have a look at
- <http://www.xnet.com/~blatura/linapp6.html> .
-
- Many editors can act as an IDE; emacs and jed, for instance, also
- feature syntax highlighting, automatic indent and so on.
- Alternatively, get the package rhide from
- <ftp://sunsite.unc.edu:/pub/Linux/devel/debuggers/>. It's a Borland
- IDE clone, and chances are that you'll like it.
-
-
-
- 9. The Remaining 1%
-
-
- More than 1%, actually...
-
-
-
- 9.1. Using tar & gzip
-
-
- Under UNIX there are some widely used applications to archive and
- compress files. tar is used to make archives---it's like PKZIP but it
- doesn't compress, it only archives. To make a new archive:
-
-
-
- $ tar -cvf <archive_name.tar> <file> [file...]
-
-
-
-
- To extract files from an archive:
-
-
-
- $ tar -xpvf <archive_name.tar> [file...]
-
-
-
-
- To list the contents of an archive:
-
-
-
- $ tar -tf <archive_name.tar> | less
-
-
-
-
- You can compress files using compress, which is obsolete and shouldn't
- be used any more, or gzip:
-
-
-
- $ compress <file>
- $ gzip <file>
-
-
-
-
- that creates a compressed file with extension .Z (compress) or .gz
- (gzip). These programs can compress only one file at a time. To
- decompress, use:
- $ compress -d <file.Z>
- $ gzip -d <file.gz>
-
-
-
-
- RMP.
-
- There are also the unarj, zip and unzip (PK??ZIP compatible)
- utilities. Files with extension .tar.gz or .tgz (archived with tar,
- then compressed with gzip) are as common in the UNIX world as .ZIP
- files are under DOS. Here's how to list the contents of a
- .tar.gz archive:
-
-
-
- $ tar -ztf <file.tar.gz> | less
-
-
-
-
-
-
- 9.2. Installing Applications
-
-
- First of all: installing packages is root's work. Most Linux
- applications are distributed as a .tar.gz archive, which typically
- will contain a directory called pkgname/ containing files and/or
- subdirectories. A good rule is to install these packages from
- /usr/local with the command
-
-
-
- # tar -zxf <archive.tar.gz>
-
-
-
-
- reading then the README or INSTALL file. In many cases, the package is
- distributed in source, which you'll have to compile to create the
- binaries; often, typing make then make installwill suffice.
- Obviously, you'll need the gcc or g++ compiler.
-
- Other archives may have to be unpacked from /; this is the case with
- Slackware's .tgz archives. Other archives contain the files but not a
- subdirectory. Always list the contents of the archive before
- installing it.
-
- The Debian and Red Hat distributions have their own archive format;
- respectively, .deb and .rpm. The latter is gaining wide acceptance; to
- install an .rpm package, type
-
-
-
- # rpm -i package.rpm
-
-
-
-
-
-
- 9.3. Tips You Can't Do Without
-
-
-
- Command completion: pressing <TAB> when issuing a command will
- complete the command line for you. Example: you have to type gcc
- this_is_a_long_name.c; typing gcc thi<TAB> will suffice. (If you have
- other files that start with the same characters, supply enough
- characters to resolve any ambiguity.)
-
- Backscrolling: pressing <SHIFT + PAG UP> (the grey key) allows you to
- backscroll a few pages, depending on how much video memory you have.
-
- Resetting the screen: if you happen to more or cat a binary file, your
- screen may end up full of garbage. To fix it, blind type reset or this
- sequence of characters: echo CTRL-V ESC c RETURN.
-
- Pasting text: in console, see below; in X, click and drag to select
- the text in an xterm window, then click the middle button (or the two
- buttons together if you have a two-button mouse) to paste. There is
- also xclipboard (alas, only for text); don't get confused by its very
- slow response.
-
- Using the mouse: if you installed gpm, a mouse driver for the console,
- you can click and drag to select text, then right click to paste the
- selected text. It works across different VCs.
-
- Messages from the kernel: have a look at /var/adm/messages or
- /var/log/messages as root to see what the kernel has to tell you,
- including bootup messages. The command dmesg is also handy.
-
-
-
- 9.4. Where to Find Applications
-
-
- If you're wondering whether there are applications to replace your old
- DOS/Win ones, I suggest that you browse the main Linux software
- repositories:
- <ftp://sunsite.unc.edu/pub/Linux> ,
- <ftp://tsx-11.mit.edu/pub/linux> , and
- <ftp://ftp.funet.fi/pub/Linux> . Another excellent place is the
- ``Linux Applications and Utilities Page'' at
- <http://www.xnet.com/~blatura/linapps.shtml> .
-
-
-
- 9.5. A Few Things You Couldn't Do
-
-
- Linux can do an awful lot of things that were cumbersome, difficult or
- impossible do to with DOS/Win. Here's a short list that may whet your
- appetite:
-
-
- ∑ at allows you to run programs at a specified time;
-
- ∑ awk is a simple yet powerful language to manipulate data files (and
- not only). For example, being data.dat your multi field data file,
-
-
-
- $ awk '$2 ~ "abc" {print $1, "\t", $4}' data.dat
-
-
-
-
-
- prints out fields 1 and 4 of every line in data.dat whose second field
- contains ``abc''.
- ∑ cron is useful to perform tasks periodically, at specified date and
- time. Type man 5 crontab.
-
- ∑ file <filename> tells you what filename is (ASCII text, executable,
- archive, etc.);
-
- ∑ find (see also Section ``Directories: Translating Commands'') is
- one of the most powerful and useful commands. It's used to find
- files that match several characteristics and perform actions on
- them. General use of find is:
-
-
-
- $ find <directory> <expression>
-
-
-
-
-
- where <expression> includes search criteria and actions. Examples:
-
-
-
- $ find . -type l -exec ls -l {} \;
-
-
-
-
-
- finds all the files that are symbolic links and shows what they point
- to.
-
-
-
- $ find / -name "*.old" -ok rm {} \;
-
-
-
-
-
- finds all the files matching the pattern and deletes them, asking for
- your permission first.
-
-
-
- $ find . -perm +111
-
-
-
-
-
- finds all the files whose permissions match 111 (executable).
-
-
-
- $ find . -user root
-
-
-
-
-
- finds all the files that belong to root. Lots of possibilities
- here---RMP.
-
- ∑ grep finds text patterns in files. For example,
-
- $ grep -l "geology" *.tex
-
-
-
-
-
- lists the files *.tex that contain the word ``geology''. The variant
- zgrep works on gzipped files. RMP;
-
- ∑ regular expressions are a complex but darn powerful way of
- performing search operations on text. For example, ^a[^a-
- m]X{4,}txt$ matches a line that starts with `a', followed by any
- character except those in the interval a-m, followed by 4 or more
- `X', and ends in `txt'. You use regular expressions with advanced
- editors, less, and many other applications. man grep for an
- introduction.
-
- ∑ script <script_file> dumps the screen contents on script_file until
- you issue the command exit. Useful for debugging;
-
- ∑ sudo allows users to perform some of root's tasks (e.g. formatting
- and mounting disks; RMP);
-
- ∑ uname -a gives you info about your system;
-
- ∑ The following commands often come in handy: bc, cal, chsh, cmp,
- cut, fmt, head, hexdump, nl, passwd, printf, sort, split, strings,
- tac, tail, tee, touch, uniq, w, wall, wc, whereis, write, xargs,
- znew. RMP.
-
-
-
- 9.6. Common Extensions and Related Programs
-
-
- You may come across scores of file extensions. Excluding the more
- exotic ones (i.e. fonts, etc.), here's a list of who's what:
-
-
- ∑ 1 ... 8: man pages. In the unlikely case you don't yet have it, get
- man.
-
- ∑ arj: archive made with arj.
-
- ∑ dvi: output file produced by TeX (see below). xdvi to visualise it;
- dvips to turn it into a PostScript .ps file.
-
- ∑ gz: archive made with gzip.
-
- ∑ info: info file (sort of alternative to man pages). Get info.
-
- ∑ lsm: Linux Software Map file. It's a plain ASCII file containing
- the description of a package.
-
- ∑ ps: PostScript file. To visualise or print it get gs and,
- optionally, ghostview or gv.
-
- ∑ rpm: Red Hat package. You can install it on any system using the
- package manager rpm.
-
- ∑ taz, tar.Z: archive made with tar and compressed with compress.
-
- ∑ tgz, tar.gz: archive made with tar and compressed with gzip.
-
- ∑ tex: text file to submit to TeX, a powerful typesetting system.
- Get the package tex, available in many distributions; but beware of
- NTeX, which has corrupted fonts and is included in some Slackware
- versions.
-
- ∑ texi: texinfo file, can produce both TeX and info files (cp.
- info). Get texinfo.
-
- ∑ xbm, xpm, xwd: graphic file. Get xpaint.
-
- ∑ Z: archive made with compress.
-
-
-
- 9.7. Converting Files
-
-
- If you need to exchange text files between DOS/Win and Linux, beware
- of the ``end of line'' problem. Under DOS, each line of text ends with
- CR/LF, while under Linux with LF. If you try to edit a DOS text file
- under Linux, each line will likely end with a strange--looking `M'
- character; a Linux text file under DOS will appear as a kilometric
- single line with no paragraphs. There are a couple of tools, dos2unix
- and unix2dos, to convert the files.
-
- If your files contain accented characters, make sure they are made
- under Windows (with Write or Notepad, say) and not under plain DOS;
- otherwise, all accented characters will be screwed up.
-
- To convert Word or WordPerfect files to plain text, the matter is a
- bit trickier but possible. You'll need one of the tools that can be
- found on the CTAN sites; one is <ftp://ftp.tex.ac.uk> . Get the
- package word2x from the directory /pub/tex/tools/', or try one the
- packages available in directory /pub/tex/support/. I've only tried
- word2x, and works quite well.
-
-
-
- 10. The End, for Now
-
-
- Congratulations! You have now grasped a little bit of UNIX and are
- ready to start working. Remember that your knowledge of the system is
- still limited, and that you are expected to do more practice with
- Linux to use it comfortably. But if all you had to do was get a bunch
- of applications and start working with them, what I included here is
- enough.
-
- I'm sure you'll enjoy using Linux and will keep learning more about
- it---everybody does. I bet, too, that you'll never go back to DOS/Win!
- I hope I made myself understood and did a good service to my 3 or 4
- readers.
-
-
-
- 10.1. Copyright
-
-
- Unless otherwise stated, Linux HOWTO documents are copyrighted by
- their respective authors. Linux HOWTO documents may be reproduced and
- distributed in whole or in part, in any medium physical or electronic,
- as long as this copyright notice is retained on all copies. Commercial
- redistribution is allowed and encouraged; however, the author would
- like to be notified of any such distributions.
-
- All translations, derivative works, or aggregate works incorporating
- any Linux HOWTO documents must be covered under this copyright notice.
- That is, you may not produce a derivative work from a HOWTO and impose
- additional restrictions on its distribution. Exceptions to these rules
- may be granted under certain conditions; please contact the Linux
- HOWTO coordinator at the address given below.
-
- In short, we wish to promote dissemination of this information through
- as many channels as possible. However, we do wish to retain copyright
- on the HOWTO documents, and would like to be notified of any plans to
- redistribute the HOWTOs.
-
- If you have questions, please contact Tim Bynum, the Linux HOWTO
- coordinator, at linux-howto@sunsite.unc.edu via email.
-
-
-
- 10.2. Disclaimer
-
-
- ``From DOS to Linux HOWTO'' was written by Guido Gonzato,
- guido@ibogfs.cineca.it. Many thanks to Matt Welsh, the author of
- ``Linux Installation and Getting Started'', to Ian Jackson, the author
- of ``Linux frequently asked questions with answers'', to Giuseppe
- Zanetti, the author of ``Linux'', to all the folks who emailed me
- suggestions, and especially to Linus Torvalds and GNU who gave us
- Linux.
-
- This document is provided ``as is''. I put great effort into writing
- it as accurately as I could, but you use the information contained in
- it at your own risk. In no event shall I be liable for any damages
- resulting from the use of this work.
-
- Feedback is welcome. For any requests, suggestions, flames, etc., feel
- free to contact me.
-
- Enjoy Linux and life,
-
- Guido =8-)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-