You are on page 1of 23

E.U.

de Informtica-UPM Sistemas Operativos IC Curso 15/16

PRCTICA 1

Toma de contacto con MINIX

Pgina - 0
E.U. de Informtica-UPM Sistemas Operativos IC Curso 15/16

NDICE

1 OBJETIVOS......................................................................................................................................................2

2 BREVE DESCRIPCIN DEL EMULADOR QEMU ARRANCANDO MINIX3..........................................2


2.1 Arranque de la mquina virtual QEMU con MINIX3..............................................................................2
2.2 Intercambio de archivos con fichero imagen de disquete.........................................................................8

3 MODIFICACIN DEL CDIGO FUENTE DEL NCLEO DE MINIX.....................................................11

4 RESUMEN DE CONOCIMIENTOS.............................................................................................................14

5 PARA SABER MS.......................................................................................................................................14

6 ANEXOS.........................................................................................................................................................15
6.1 Manual del editor elvis........................................................................................................................15
6.2 Manual del editor mined......................................................................................................................18

Pgina - 1
E.U. de Informtica-UPM Sistemas Operativos IC Curso 15/16

1 OBJETIVOS

Los principales objetivos de esta prctica son:


Familiarizarse con los aspectos bsicos del emulador QEMU.
Recompilar MINIX introduciendo un cambio muy simple en el cdigo fuente del ncleo.

2 BREVE DESCRIPCIN DEL EMULADOR QEMU ARRANCANDO MINIX3

El emulador QEMU permite simular una mquina virtual tipo PC con arquitectura IA32 (x86)
y ejecutar cdigo 8086 directamente sobre la CPU del computador. Sobre esta mquina virtual
se pueden arrancar diversos sistemas operativos como: Linux, MINIX, Microsoft Windows,
etc. En este sentido, es similar a otros entornos como VMware Workstations.

Una forma de arrancar un sistema operativo, sea MINIX, sobre una mquina virtual QEMU es
utilizar una imagen de disco un fichero preparado especialmente como si de un disco de
arranque se tratase- de tal forma que si algo va mal, los errores quedan circunscritos al
contenido de dicho fichero sin afectar al resto del sistema.

2.1 Arranque de la mquina virtual QEMU con MINIX3

Encender el puesto de trabajo y seleccionar la opcin Arrancar Linux.


Aparecer una ventana de captura de datos con Username (indicar alumno) y
Password. Teclear alumno como Password. Aparecer lo siguiente:

Pgina - 2
E.U. de Informtica-UPM Sistemas Operativos IC Curso 15/16

Para poder utilizar el entorno de prcticas, tenemos que traernos unos archivos a
nuestro PC. Estos archivos, as como una cuenta privada para cada grupo de prcticas,
reside en un servidor del departamento. Para poder traernos archivos desde el servidor
a nuestro PC, utilizaremos el protocolo Samba (una herramienta que permite compartir
archivos e interoperar entre Windows y Linux). Para acceder al servidor necesitaremos
un Nombre de usuario y una Contrasea. Solicitrsela al profesor de prcticas:

Nombre de usuario:

Contrasea:

Arrancar el navegador Konqueror para acceder a travs de l al servidor. Para ello,


hacer click en el icono rotulado como Konqueror tal y como aparece en la figura
siguiente:

En la barra de Direccin del navegador teclear: smb://ac.eui.upm.es/sisope.


Aparecer una ventana como la siguiente donde nos pedir nuestro Nombre de
usuario y Contrasea. Teclear los datos que hemos apuntado en el paso anterior.

Pgina - 3
E.U. de Informtica-UPM Sistemas Operativos IC Curso 15/16

Si suministramos correctamente nuestro Nombre de usuario y Contrasea, nos


aparecer una ventana como la siguiente donde veremos las carpetas privadas de todos
los grupos de prcticas as como una especial del usuario sisope00.

Pgina - 4
E.U. de Informtica-UPM Sistemas Operativos IC Curso 15/16

Hacer click en la carpeta sisope00 y nos aparecer lo siguiente:

Esta carpeta tiene derechos de lectura para todos los grupos de prcticas y es donde se
dejar toda la informacin que se considere conveniente para el desarrollo de las
prcticas. De momento est el archivo Minix-qemu.img que es una imagen de disco
con MINIX para poder arrancar sobre el emulador QEMU, as como el archivo
disquete.img que es una imagen de disquete vaco y del que hablaremos ms adelante.

Seleccionar los dos archivos mencionados en el punto anterior y copiarlos en nuestro


escritorio tal y como se refleja en la figura de la pgina siguiente.

Arrancar un terminal para trabajar en modo comando, para ello, hacer click en el icono
rotulado Terminal.

Teclear cd Desktop para ubicarnos en el directorio donde tenemos la imagen de


MINIX y del disquete vaco. Comprobarlo tecleando ls.

Pgina - 5
E.U. de Informtica-UPM Sistemas Operativos IC Curso 15/16

Ahora ya podemos arrancar una mquina virtual QEMU con una imagen de disco con
MINIX. Para ello, teclear qemu fda disquete.img Minix-qemu.img. Al
principio del arranque, durante unos pocos segundos, tendremos una ventana con un
aspecto como el siguiente:

Pgina - 6
E.U. de Informtica-UPM Sistemas Operativos IC Curso 15/16

Las opciones que figuran al final nos permiten seleccionar la imagen del ncleo de
MINIX que deseamos arrancar. En nuestro caso, en tanto en cuanto no modifiquemos
el ncleo, slo tenemos una imagen, la original, que es la que arrancar sin necesidad
de indicar nada. Finalmente, acaba quedando una ventana con el aspecto siguiente:

Entrar como el usuario root. No pedir palabra clave.


Una vez dentro del sistema, podr comprobarse que estamos en un sistema tipo UNIX
tecleando comandos como: pwd, para ver el directorio en el que se est; ls, para ver el
contenido del directorio; who, para saber quin est en el sistema; cd, para moverse
por la jerarqua de directorios; ps, para ver qu procesos estn ejecutndose, etc.
Ubicado en el directorio de entrada, /root, vamos a crear un fichero de texto que
denominaremos nombres y cuyo contenido sern dos lneas, cada una de ellas con el
nombre y apellidos de uno de los miembros del grupo (si se trata de una nica persona,
repetir el nombre en la segunda lnea). Para crear el fichero, puede utilizarse un editor
tipo vi llamado elvis o un editor tipo Windows denominado mined (consultar
los anexos para ver una breve descripcin de ambos editores).
Comprobar que se ha creado el fichero correctamente. Para ello, mostrarlo por pantalla
con el comando: cat nombres.
Ahora vamos a salir del sistema y comprobar que no hemos perdido los cambios que
hemos realizado. Para ello, teclear el comando halt. Nos aparecer un prompt nuevo
indicando d0p0s0> que hace referencia al monitor sobre el que se ejecuta MINIX.
Teclear el comando off para dar por terminada la sesin QEMU.
Si nos fijamos en el escritorio, seguimos teniendo el fichero Minix-qemu.img que
contendr la imagen de disco original con la que habamos arrancado, pero modificada
por las acciones que acabamos de realizar. En concreto, esta imagen tendr el fichero
nombres que acabamos de crear. Cuando estemos trabajando en las prcticas, si
queremos llevarnos el trabajo realizado, debemos copiarnos esta imagen en una
memoria USB, ya que cuando nos salgamos del puesto de trabajo esta imagen debera
borrarse. Desde luego, otra opcin es guardarlo en nuestra carpeta privada del

Pgina - 7
E.U. de Informtica-UPM Sistemas Operativos IC Curso 15/16

servidor. Si en otra sesin posterior queremos seguir trabajando a partir de donde lo


habamos dejado, antes de arrancar QEMU, debemos copiar la imagen de la sesin
anterior en el escritorio.
Este proceso queda reflejado grficamente en la figura siguiente:

2.2 Intercambio de archivos con fichero imagen de disquete

Si queremos trabajar en casa con un PC y no tenemos QEMU instalado, la imagen Minix-


qemu.img que nos hemos podido traer del laboratorio no nos es de gran utilidad. Para
permitir, al menos, poder editar los ficheros sobre los que estemos trabajando, lo ideal es
podrselos llevar y traer en un formato compatible con Windows dado que la gran mayora de
los alumnos que tiene ordenador dispone de dicho sistema operativo.

Lamentablemente, la versin de MINIX que utilizamos reconoce la disquetera como medio


para el intercambio de archivos con el exterior, pero no el USB. Como hoy en da la mayora
de los porttiles ya no llevan disquetera, vamos a utilizar un fichero configurado como una
imagen de disquete vaco. Esta imagen puede manipularse en Windows con una utilidad de
drive virtual de disquete como la que puede obtenerse en la pgina web de la asignatura,
aunque, en general, ni siquiera necesitaremos esta utilidad.

El archivo disquete.img es, precisamente, una imagen de disquete vaco que nos permitir
llevarnos ficheros especficos a casa en vez de toda la imagen de disco MINIX.

Para poder manipular esta imagen de disquete desde MINIX, utilizaremos el comando mtools
como veremos ms adelante- que permitir leer ficheros Windows desde el disquete as
como grabar ficheros de MINIX al disquete en formato Windows.

Al salir de MINIX-QEMU, como veremos ms adelante, podremos montar el fichero


disquete.img y copiar los ficheros que queramos en una memoria USB para podrnoslos
llevar con nosotros, tal y como se muestra en la figura siguiente:

Pgina - 8
E.U. de Informtica-UPM Sistemas Operativos IC Curso 15/16

Posteriormente, podremos traer los ficheros modificados en la memoria USB y transferirlos a


la imagen de disquete para tenerlos accesibles cuando arranquemos MINIX-QEMU.

Si nuestro PC tiene Linux, basta con llevarse el fichero con la imagen de disquete
disquete.img y montarla, para poder editar los ficheros que contenga.

Ahora vamos a probar todo esto que acabamos de contar.

Comprobar que tenemos en el escritorio los ficheros Minix-qemu.img y disquete.img.


Abrir un terminal y situarse en el escritorio tecleando: cd Desktop.
Arrancar QEMU con el comando:
qemu -fda disquete.img Minix-qemu.img
Entrar al sistema MINIX.
El comando mtools permite realizar operaciones sobre un disquete formateado con
DOS o Windows en formato FAT. Para ver los comandos disponibles, teclear: mtools.
Para comprobar que el disquete est vaco, teclear: mtools dir a:
Para grabar en el disquete el fichero nombres, teclear: mtools copy nombres a:
Para comprobar que ahora tenemos el fichero en el disquete, teclear: mtools dir a:
Para comprobar que el contenido del fichero grabado en el disquete es el correcto,
teclear: mtools type a:nombres
Salir del sistema (halt + off)
Ahora, desde Linux, podremos ver el contenido de la imagen de disquete
disquete.img montndolo previamente con el comando:
sudo mount disquete.img /mnt -t msdos -o loop=/dev/loop0,umask=000
Si pidiese clave, volver a indicar alumno.

Pgina - 9
E.U. de Informtica-UPM Sistemas Operativos IC Curso 15/16

Desde el terminal podemos situarnos en /mnt y ver que tenemos el fichero nombres
con el contenido correcto. Tambin podemos abrir la carpeta /mnt desde el entorno
grfico si nos es ms cmodo.

Editar el fichero /mnt/nombres (usando el vi o un editor grfico como kwrite) y


escribir una tercera lnea con el nombre la asignatura.

Igual que modificamos un fichero existente en el disquete.img (nombres), podemos


incorporar otro archivo. Teclear cp /etc/hosts /mnt/hosts.

Ahora intentaremos ver que accedemos a los cambios realizados en el disquete.img


desde MINIX. Para ello, antes de arrancar MINIX debemos desmontar el fichero
imagen de disquete tecleando:

sudo umount /mnt


Arrancar MINIX y comprobar (comando mtools) que tenemos accesibles los cambios
hechos en LINUX en el entorno MINIX sobre QEMU.

El fichero disquete.img o cualquiera de los ficheros que contenga el mismo,


podremos copirnoslo a una memoria USB si queremos llevrnoslo a nuestro PC de
casa.

Para desmontar una memoria USB, acceder al Men del sistema y la opcin de
Dispositivos de almacenamiento tal y como se muestra a continuacin:

Pgina - 10
E.U. de Informtica-UPM Sistemas Operativos IC Curso 15/16

Seleccionar nuestra memoria USB y dar Extraccin segura tal y como se ve a


continuacin:

Pgina - 11
E.U. de Informtica-UPM Sistemas Operativos IC Curso 15/16

Si nos llevamos el fichero disquete.img y lo modificamos, recordar que luego


podremos incorporarlo a nuestro entorno MINIX con el comando: mtools copy
a:nombres nombres

3 MODIFICACIN DEL CDIGO FUENTE DEL NCLEO DE MINIX

Lo primero que necesitamos para recompilar MINIX son los ficheros fuente del sistema.
Dichos ficheros fuente se encuentran bajo el directorio /usr/src. En particular, los ficheros
correspondientes al ncleo (kernel), se encuentran en el directorio /usr/src/kernel.

El cambio que queremos introducir en el proceso de recompilacin es aadir un mensaje que


aparecer en el arranque del sistema MINIX. El mensaje incluir el nombre de los alumnos en
maysculas para que sea fcil de identificar en el arranque. El mensaje a escribir ser:
KERNEL DE NMAT1-NOMBRE1, NMAT2-NOMBRE2.

Para realizar esta parte de la prctica, hacer lo siguiente:

Arrancar QEMU con la imagen MINIX, da igual que sea la original o la modificada en
la parte anterior. Fijarse bien en algn mensaje que se muestre antes de pedir al
usuario su login de entrada al sistema, ya que este mensaje puede servir para
localizar el punto del cdigo donde hay que escribir el nuevo mensaje.

Pgina - 12
E.U. de Informtica-UPM Sistemas Operativos IC Curso 15/16

Entrar al sistema como root y situarse en el directorio que contiene el cdigo fuente
del kernel /usr/src/kernel.

Ejecutar el comando ls para ver el contenido del directorio y anotar las extensiones
de todos los ficheros que se vean y explicar qu tipo de ficheros son (basta con indicar
los que se reconozcan).

Editar el fichero main.c para incluir el nuevo mensaje. La sentencia que se utiliza para
mostrar los mensajes del kernel es kprintf.

Indicar en qu funcin se ha localizado la sentencia kprintf que escribe el mensaje


identificado en el arranque y que nos ha servido de gua:

Escribir a continuacin la sentencia incluida en el cdigo para mostrar el nuevo


mensaje que debe aparecer durante el arranque del sistema:

Una vez modificado el fichero fuente, tenemos que dar la orden de compilacin. Para
ello, situarse en el directorio /usr/src/tools. En este directorio existe un fichero
llamado Makefile que contiene las reglas para compilar, construir nuevas imgenes
del sistema, etc. Gracias al contenido de este fichero, no hay que preocuparse de qu
ficheros hay que recompilar y en qu orden, ni de dnde deben quedar los ficheros
generados, ya que toda esta informacin est previamente especificada en forma de
reglas. Teclear: make install [Nota: La primera vez tarda bastante]

Indicar qu saludo (prompt) muestra MINIX tras la recompilacin:

Si la compilacin ha ido bien, el prompt del sistema ser #, en caso contrario ser
*.

Las imgenes del ncleo, tanto la original como la que acabamos de generar, se
guardan en el directorio /boot/image. Listar ls -l /boot/image el contenido de

Pgina - 13
E.U. de Informtica-UPM Sistemas Operativos IC Curso 15/16

dicho directorio para comprobar que tenemos dos imgenes. Recordar que cuando
arrancamos MINIX, la opcin 1 del men de arranque coge la imagen original y la
opcin 3 la ltima imagen generada.

Si la recompilacin ha ido bien, salir del sistema y reiniciar con la nueva imagen
tecleando los comandos:

o halt // Para detener el sistema MINIX


o main // Para arrancar el sistema MINIX desde el monitor

En principio no hace falta teclear ninguna opcin en el men de arranque ya que por
defecto se toma la opcin 3 que es la que arranca la imagen recin modificada, pero es
mejor indicar la opcin deseada. Si todo se ha hecho bien, deber verse el mensaje
introducido antes de la peticin de login. En caso contrario, arrancar con la imagen
original opcin 1 del men de arranque del monitor- y repetir todo el proceso.

Pgina - 14
E.U. de Informtica-UPM Sistemas Operativos IC Curso 15/16

4 RESUMEN DE CONOCIMIENTOS

Cuestiones relativas a QEMU


Para arrancar una sesin QEMU hacer doble click en el icono Minix QEmu.
Se arranca con la imagen Minix-qemu.img del escritorio o en su defecto de una
imagen guardada en un servidor.
En el men de arranque: la opcin 1 carga la imagen original y la opcin 3 carga la
ltima imagen generada.
Comandos tiles del monitor de mquina virtual (prompt d0p0s0>):
o main // Para arrancar MINIX
o off // Para terminar la sesin QEMU

Si nos desaparece el cursor, probar a teclear <Ctrl><Alt>

Algunos comandos bsicos de MINIX


cat Muestra el contenido de un fichero
cd Cambio de directorio
elvis Editor tipo vi para realizar cambios en los ficheros fuente
halt Para detener el sistema MINIX
ls Listado de ficheros existentes en un directorio
make Para construir una imagen nueva del sistema segn las reglas de un fichero
Makefile
mined Editor tipo Windows para realizar cambios en los ficheros fuente
ps Para ver qu procesos estn ejecutndose
pwd Directorio actual
who Para saber quin est en el sistema

Algunas opciones del comando mtools para trabajar con el disquete


mtools // Comandos mtools disponibles
mtools dir a: // Contenido del disquete
mtools type a:<fichero> // Muestra contenido fichero de disquete
mtools copy <fichero> a: // Copiar de MINIX a disquete
mtools copy a:<fichero> <fichero> // Copiar de disquete a MINIX

5 PARA SABER MS

http://www.minix3.org/ Pgina oficial de MINIX 3


http://wiki.qemu.org/Index.html Pgina oficial de QEMU
http://www.samba.org Pgina oficial de Samba

Pgina - 15
E.U. de Informtica-UPM Sistemas Operativos IC Curso 15/16

Pgina oficial de la asignatura para instalar QEMU y MINIX 3 sobre Windows

6 ANEXOS

6.1 Manual del editor elvis

NAME
elvis, ex, vi - The editor

SYNOPSIS
elvis [flags] [+cmd] [files...]

DESCRIPTION
Elvis is a text editor which emulates vi/ex.

On systems which pass the program name as an argument, such


as UNIX and MINIX 3, you may also install elvis under the
names "ex", "vi", "view", and "input". These extra names
would normally be links to elvis; see the "ln" shell com-
mand.

When elvis is invoked as "vi", it behaves exactly as though


it was invoked as "elvis". However, if you invoke elvis as
"view", then the readonly option is set as though you had
given it the "-R" flag. If you invoke elvis as "ex", then
elvis will start up in the colon command mode instead of the
visual command mode, as though you had given it the "-e"
flag. If you invoke elvis as "input" or "edit", then elvis
will start up in input mode, as though the "-i" flag was
given.

OPTIONS
-r To the real vi, this flag means that a previous edit
should be recovered. Elvis, though, has a separate
program, called elvrec(1), for recovering files. When
you invoke elvis with -r, elvis will tell you to run
elvrec.

-R This sets the "readonly" option, so you won't acciden-


tally overwrite a file.

-t tag
This causes elvis to start editing at the given tag.

-m [file]
Elvis will search through file for something that looks
like an error message from a compiler. It will then
begin editing the source file that caused the error,
with the cursor sitting on the line where the error was
detected. If you don't explicitly name a file, then
"errlist" is assumed.

-e Elvis will start up in colon command mode.

-v Elvis will start up in visual command mode.

Pgina - 16
E.U. de Informtica-UPM Sistemas Operativos IC Curso 15/16

-i Elvis will start up in input mode.

-w winsize
Sets the "window" option's value to winsize.

+command or -c command
If you use the +command parameter, then after the first
file is loaded command is executed as an EX command. A
typical example would be "elvis +237 foo", which would
cause elvis to start editing foo and then move directly
to line 237. The "-c command" variant was added for
UNIX SysV compatibility.

FILES
/tmp/elv*
During editing, elvis stores text in a temporary file.
For UNIX, this file will usually be stored in the /tmp
directory, and the first three characters will be
"elv". For other systems, the temporary files may be
stored someplace else; see the version-specific section
of the documentation.

tags This is the database used by the :tags command and the
-t option. It is usually created by the ctags(1) pro-
gram.

.exrc or elvis.rc
On UNIX-like systems, a file called ".exrc" in your
home directory is executed as a series of ex commands.
A file by the same name may be executed in the current
directory, too. On non-UNIX systems, ".exrc" is usu-
ally an invalid file name; there, the initialization
file is called "elvis.rc" instead.

SEE ALSO
ctags(1), ref(1), elvrec(1), elvis(9).

Elvis - A Clone of Vi/Ex, the complete elvis documentation.

BUGS
There is no LISP support. Certain other features are miss-
ing, too.

Auto-indent mode is not quite compatible with the real vi.


Among other things, 0^D and ^^D don't do what you might
expect.

Long lines are displayed differently. The real vi wraps


long lines onto multiple rows of the screen, but elvis
scrolls sideways.

AUTHOR
Steve Kirkendall
kirkenda@cs.pdx.edu
Many other people have worked to port elvis to various

Pgina - 17
E.U. de Informtica-UPM Sistemas Operativos IC Curso 15/16

operating systems. To see who deserves credit, run the


:version command from within elvis, or look in the system-
specific section of the complete documentation.
Algunos comandos tiles del vi:

i Pasar a modo insercin


o Pasa a modo insercin abriendo una lnea nueva debajo de la actual
a Pasa a modo insercin aadiendo a la derecha de la letra actual
<Esc> Salir del modo insercin
k Mover cursor hacia arriba
j Mover cursor hacia abajo
l Mover cursor hacia la derecha
h Mover cursor hacia la izquierda
r Reemplaza un caracter
R Reemplaza caracteres hasta pulsar <Esc>
d< > Borra un caracter. < > significa espacio
dw Borra una palabra
dd Borra una lnea
3dd Borra tres lneas
. Repite la accin anterior
u Deshace la accin anterior
/cadena Buscar la cadena de caracteres indicada
n Repetir la bsqueda anterior
Y Copia una lnea al buffer
3Y Copia tres lneas al buffer
p Pega el contenido del buffer
:q! Salir sin salvar
:w Guardar los cambios realizados hasta el momento
ZZ Salir salvando

Pgina - 18
E.U. de Informtica-UPM Sistemas Operativos IC Curso 15/16

6.2 Manual del editor mined


Command: mined - MINIX editor
Syntax: mined [file]
Flags: (none)
Examples: mined /user/ast/book.3 # Edit an existing file
mined # Call editor to create a new file
ls -l | mined # Use mined as a pager to inspect
listing

Mined is a simple screen editor. At any instant, a window of 24


lines is visible on the screen. The current position in the file is
shown by the cursor. Ordinary characters typed in are inserted at the
cursor. Control characters and keys on the numeric keypad (at the
right-hand side of the keyboard) are used to move the cursor and perform
other functions.

Commands exist to move forward and backward a word, and delete


words either in front of the cursor or behind it. A word in this
context is a sequence of characters delimited on both ends by white
space (space, tab, line feed, start of file, or end of file). The
commands for deleting characters and words also work on line feeds,
making it possible to join two consecutive lines by deleting the line
feed between them.

The editor maintains one save buffer (not displayed). Commands are
present to move text from the file to the buffer, from the buffer to the
file, and to write the buffer onto a new file. If the edited text
cannot be written out due to a full disk, it may still be possible to
copy the whole text to the save buffer and then write it to a different
file on a different disk with CTRL-Q. It may also be possible to escape
from the editor with CTRL-S and remove some files.

Some of the commands prompt for arguments (file names, search


patterns, etc.). All commands that might result in loss of the file
being edited prompt to ask for confirmation.

A key (command or ordinary character) can be repeated n times by


typing ESC n key where ESC is the 'escape' key.

Forward and backward searching requires a regular expression as the


search pattern. Regular expressions follow the same rules as in the
UNIX editor, ed. These rules can be stated as:

Any displayable character matches itself.

. (period) matches any character except line feed.

^ (circumflex) matches the start of the line.

$ (dollar sign) matches the end of the line.

\c matches the character c (including period, circumflex, etc).

[string] matches any of the characters in the string.

[^string] matches any of the characters except those in the


string.

Pgina - 19
E.U. de Informtica-UPM Sistemas Operativos IC Curso 15/16

[x-y] matches any characters between x and y (e.g., [a-z]).

Pattern* matches any number of occurrences of pattern.

Some examples of regular expressions are:

The boy matches the string 'The boy'


^$ matches any empty line.
^.$ matches any line containing exactly 1 character
^A.*\.$ matches any line starting with an A, ending with a
period.
^[A-Z]*$ matches any line containing only capital letters (or
empty).
[A-Z0-9] matches any line containing either a capital letter or a
digit.
.*X$ matches any line ending in 'X'
A.*B matches any line containing an 'A' and then a 'B'

Control characters cannot be entered into a file simply by typing


them because all of them are editor commands. To enter a control
character, depress the ALT key, and then while holding it down, hit the
ESC key. Release both ALT and ESC and type the control character.
Control characters are displayed in reverse video.

The mined commands are as follows.

CURSOR MOTION
arrows Move the cursor in the indicated direction
CTRL-A Move cursor to start of current line
CTRL-Z Move cursor to end of current line
CTRL-^ Move cursor to top of screen
CTRL-_ Move cursor to end of screen
CTRL-F Move cursor forward to start of next word
CTRL-B Move cursor backward to start of previous word

SCREEN MOTION
Home key Move to first character of the file
End key Move to last character of the file
PgUp key Scroll window up 23 lines (closer to start of the file)
PgDn key Scroll window down 23 lines (closer to end of the file)
CTRL-U Scroll window up 1 line
CTRL-D Scroll window down 1 line

MODIFYING TEXT
Del key Delete the character under the cursor
Backspace Delete the character to left of the cursor
CTRL-N Delete the next word
CTRL-P Delete the previous word
CTRL-T Delete tail of line (all characters from cursor to end of
line)
CTRL-O Open up the line (insert line feed and back up)
CTRL-G Get and insert a file at the cursor position

Pgina - 20
E.U. de Informtica-UPM Sistemas Operativos IC Curso 15/16

BUFFER OPERATIONS
CTRL-@ Set mark at current position for use with CTRL-C and
CTRL-K
CTRL-C Copy the text between the mark and the cursor into the
buffer
CTRL-K Delete text between mark and cursor; also copy it to the
buffer
CTRL-Y Yank contents of the buffer out and insert it at the
cursor
CTRL-Q Write the contents of the buffer onto a file

MISCELLANEOUS
numeric + Search forward (prompts for regular expression)
numeric - Search backward (prompts for regular expression)
numeric 5 Display the file status
CTRL-] Go to specific line
CTRL-R Global replace pattern with string (from cursor to end)
CTRL-L Line replace pattern with string
CTRL-W Write the edited file back to the disk
CTRL-X Exit the editor
CTRL-S Fork off a shell (use CTRL-D to get back to the editor)
CTRL-\ Abort whatever the editor was doing and wait for command
CTRL-E Erase screen and redraw it
CTRL-V Visit (edit) a new file

Author

Mined was designed by Andy Tanenbaum and written by Michiel


Huisjes.

Pgina - 21
E.U. de Informtica-UPM Sistemas Operativos IC Curso 15/16

Pgina - 22

You might also like