This is what you absolutely need to know before logging in the first time. Relax, it's not much.
filename.extension;version
. Under Linux, the version number doesn't exist (big limitation, but see Section Numbered Backups Under Linux); the filename has normally a limit of 255 characters and can have as many dots as you like. Example of filename: This.is_a_FILEname.txt
.FILENAME.txt
and filename.txt
are two different files; ls
is a command, LS
is not.~
' represent backup files.Now, a table to sum up how to translate commands from VMS to Linux:
VMS Linux --------------------------------------------------------------------- $ COPY file1.txt file2.txt $ cp file1.txt file2.txt $ COPY [.dir]file.txt [] $ cp dir/file.txt . $ COPY [.dir]file.txt [-] $ cp dir/file.txt .. $ DELETE *.dat;* $ rm *dat $ DIFF file1 file2 $ diff -c file1 file2 $ PRINT file $ lpr file $ PRINT/queue=queuename file $ lpr -Pprintername file $ SEARCH *.tex;* "geology" $ grep geology *tex
For other examples involving directories, see below; for details about protections, ownership, and advanced topics, see Section Advanced Topics.
[top.dir.subdir]
; under Linux, /top/dir/subdir/
. On the top of the directory tree lies the so--called `root directory' called /
; underneath there are other directories like /bin
, /usr
, /tmp
, /etc
, and others./home
contains the so--called users' `home directories': e.g. /home/guido
, /home/warner
, and so on. When a user logs in, they start working in their home dir; it's the equivalent of SYS$LOGIN
. There's a shortcut for the home directory: the tilde '~
'. So, cd ~/tmp
is the same as, say, cd /home/guido/tmp
..
and refers to the directory itself (like []
), and ..
that refers to the parent directory (like [-]
).And now for some other examples:
VMS Linux --------------------------------------------------------------------- $ CREATE/DIR [.dirname] $ mkdir dirname $ CREATE/DIR [.dir1.dir2.dir3] $ mkdirhier dir1/dir2/dir3 n/a $ rmdir dirname (if dirname is empty) $ rm -R dirname $ DIRECTORY $ ls $ DIRECTORY [...]file.*;* $ find . -name "file*" $ SET DEF SYS$LOGIN $ cd $ SET DEF [-] $ cd .. $ SET DEF [top.dir.subdir] $ cd /top/dir/subdir $ SET DEF [.dir.subdir] $ cd dir/subdir $ SHOW DEF $ pwd
For protections, ownership, and advanced topics, see Section Advanced Topics.
.EXE
or .COM
and can be called whatever you like. Executable files are marked by an asterisk '*
' when you issue ls -F
.RUN PROGRAM.EXE
or @COMMAND
). Caveat: it's essential that the file be located in a directory included in the path of executables, which is a list of directories. Typically, the path includes dirs like /bin
, /usr/bin
, /usr/X11R6/bin
, and others. If you write your own programs, put them in a directory you have included in the path (see how in Section Configuring). As an alternative, you may run a program specifying its complete path: e.g., /home/guido/data/myprog
; or ./myprog
, if the current directory isn't in the path./OPTION=
under VMS, and with -switch
or --switch
under Linux, where switch
is a letter, more letters combined, or a word. In particular, the switch -R
(recursive) of many Linux commands performs the same action as [...]
under VMS;
$ command1 ; command2 ; ... ; commandn
/OUTPUT=
of many commands), or a fastidious process, like:
which has the simple Linux (UNIX) equivalent:
$ DEFINE /USER SYS$OUTPUT OUT $ DEFINE /USER SYS$INPUT IN $ RUN PROG
Piping is not readily available under VMS, but has a key role under UNIX. A typical example:
$ prog < in > out
which means: the program
$ myprog < datafile | filter_1 | filter_2 >> result.dat 2> errors.log &
myprog
gets its input from the file datafile
(via <
), its output is piped (via |
) to the program filter_1
that takes it as input and processes it, the resulting output is piped again to filter_2
for further processing, the final output is appended (via >>
) to the file result.dat
, and error messages are redirected (via 2>
) onto the file errors.log
. All this in background (&
at the end of the command line). More about this in Section Examples.
For multitasking, `queues', and the like, see Section Advanced Topics.
Now you are ready to try Linux out. Enter your login name and password exactly as they are. For example, if your login name and password are john
and My_PassWd
, don't type John
or my_passwd
. Remember, UNIX distinguishes between capital and small letters.
Once you've logged in, you'll see a prompt; chances are it'll be something like machinename:$
. If you want to change the prompt or make some programs start automatically, you'll have to edit a `hidden' file called .profile
or .bash_profile
(see example in Section Configuring). This is the equivalent of LOGIN.COM
.
Pressing ALT--F1, ALT--F2, ... ALT--F6 switches between `virtual consoles'. When one VC is busy with a full--screen application, you can flip over to another and continue to work. Try and log in to another VC.
Now you may want to start X Window System (from now on, X). X is a graphic environment very similar to DECWindows---actually, the latter derives from the former. Type the command startx
and wait a few seconds; most likely you'll see an open xterm
or equivalent terminal emulator, and possibly a button bar. (It depends on how your sysadm configured your Linux box.) Click on the desktop (try both mouse buttons) to see a menu.
While in X, to access the text mode (`console') sessions press CTRL--ALT--F1 ... CTRL--ALT--F6. Try it. When in console, go back to X pressing ALT--F7. To quit X, follow the menu instructions or press CTRL--ALT--BS.
Type the following command to list your home dir contents, including the hidden files:
$ ls -al
Press SHIFT--PAG UP to back-scroll. Now get help about the ls
command typing:
$ man ls
pressing 'q' to exit. To end the tour, type exit
to quit your session. If now you want to turn off your PC, press CTRL--ALT--DEL and wait a few seconds (never switch off the PC while in Linux! You could damage the filesystem.)
If you think you're ready to work, go ahead, but if I were you I'd jump to Section Advanced Topics.