You are on page 1of 7

Sistemas Operativos y Administracin

LABORATORIO 01
Linux: Editor vi y Calculadora bc
Objetivos:
-

Conocer un editor que maneja el sistema operativo Linux.


Manejar la interfaz del editor vi, utilizar los modos vi, utilizar las ordenes
vi para la elaboracin y manipulacin de la informacin contenida en un
archivo.
- Buscar y reemplazar palabras (patrones) en un archivo.
- Usar el lenguaje d la calculadora bc. Clave ce-2014
A. El Editor vi.
Vi es un editor en ambiente Linux, el cual permite realizar una serie de
operaciones como visualizar, buscar caracteres, modificar o adicionar.
Como usar vi?
En un terminal escriba:
vi <nombre del archivo>
Vi

Crear, editar el archivo


Crear archivo annimo

Modos de vi
1. Mandato u orden, puede utilizar cualquier comando vi, pero no aadir
informacin.
2. Adicin o insercin, puede aadir informacin.
Al entrar a vi, ste se encuentra en modo orden por lo tanto no se puede
ingresar texto. Se debe pasar a modo adicin (introducir texto) para aadir
texto. Para pasar a modo mandato presione la tecla ESCAPE.
Ordenes vi
i
Inserta texto antes del cursor
I
Inserta texto al principio de la lnea
a
Aade texto despus del cursor
A
Aade texto al final del la lnea
o
Abre la lnea posterior de donde se encuentra actualmente el cursor
O
Abre la lnea anterior de donde se encuentra actualmente el cursor
e
Avanza una palabra y el cursor queda colocado al final de la misma
b
Se mueve hacia atrs, hasta el principio de la palabra
d
Borra una palabra
dd
Borra la lnea en la que est situada el cursor
p
Copiar lnea
u
Deshace el ltimo cambio
.
Repite la ltima operacin efectuada
x
Borra un carcter
X
Borra caracteres hacia atrs
R
Reemplaza un carcter
ZZ
Sale del editor guardando los cambios
Ing. Mayenka Fernndez Chambi

Sistemas Operativos y Administracin


w

Avanza una palabra hasta el comienzo de la otra

Ejemplos:
Avanzar una palabra: w
Borrar una palabra: d
Avanzar tres palabras: 3w
Borrar tres palabras: 3dw
Movimientos del Cursor:
h
Cursor hacia la izquierda
l (ele)
Cursor hacia la derecha
j
Cursor hacia abajo
k
Cursor hacia arriba
$
Mover cursor al final de la lnea
H
Mover cursor al principio del texto de la ventana de texto
M
Mover cursor a la mitad del texto de la ventana de texto
L
Mover cursor al final del texto de la ventana de texto
Ctrl + F Avanza una pgina
Ctrl + B Retrocede una pgina
Salir de vi.
Estando en modo orden:
:q!
salir sin grabar
:wq salir grabando
:x
salir grabando
:w
grabar
Buscar Patrones
/patrn
?patrn
:1,$ s/palabra-antigua/palabranueva
:m,n s/palabraantigua/palabra-nueva

Busca el patrn en el texto a partir de la


posicin del cursor hacia adelante.
Busca el patrn en el texto a partir de la
posicin del cursor hacia atrs.
Busca una palabra y la reemplaza por una
nueva
Cambia la primera ocurrencia de la palabraantigua por la palabra-nueva desde la lnea
m hasta la lnea n.

Mover bloques
Para mover un bloque de un lugar a otro, coloque el cursor en la primera lnea
del bloque que desea mover y a continuacin borre con la orden dd el nmero
de lneas que desea mover. Esas lneas no son eliminadas definitivamente, sino
que vi las lleva a un buffer. Luego coloque el cursor en el mugar donde quiera
colocar el texto borrado y pulse p.
Copiar bloques
Ing. Mayenka Fernndez Chambi

Sistemas Operativos y Administracin


Si desea copiar 5 lneas desde la posicin actual del cursor, teclee 5yy. Luego
mueva el cursor al lugar deseado y pulse p.
B. La Calculadora bc (basic calculator)
Opera interactivamente con archivos que se le pasen como argumentos. Cada
uno de estos archivos contiene ordenes que ejecuten la calculadora.
Como usar bc?
Para ingresar en un terminal escriba:
>bc (enter)
Para salir escriba quit
Lenguaje de la calculadora bc
Identificadores
Carcter simple en minsculas desde la a la z.
Ejemplo:
x
variable x
x(a,b) funcin x con parmetros a y b
Condicin if
if(expresin){
sentencias
}
Iterador while
while(expresin){
sentencias
}
Iterador for
for(var = exp;condicin;prog_con){
sentencias
}
break
Se utiliza para finalizar cualquier bucle aunque no se
haya cumplido la condicin de terminacin.
Funciones
define f(x){
cuerpo de la funcin
}
Return
Retorna valores desde la funcin
Operadores
Aritmticos: +, - , * / %, ^
De Asignacin =+, =-, =*, =/, =%, =
Relacionales <, <=, >, >=, =, ==
C. DESARROLLO DE LA PRCTICA
1. En una versin de Linux, con el terminal use $vi sistema (enter)

Se encuentra en modo orden.


2. Pase a modo insercin pulsando la tecla i.
Ing. Mayenka Fernndez Chambi

Sistemas Operativos y Administracin


3. Y escriba el texto:
Hola esta es un prueba de vi
Linux es un sistema operativo
multiusuario
y funciona en muchas computadoras
~
~
~
4. Presione Escape para pasar a modo orden, luego escriba :x (enter).
As saldr grabando.
5. Verifique con un ls que el archivo sistema ha sido creado.
Edicin de documentos:
6. Edite el archivo sistema creado anteriormente.
7. Escriba $vi sistema (enter)
8. Escriba :set number (enter) Para ver el numero de lnea de cada
sentencia

9. Si quiere volver al estado anterior sin numeracin, escriba :set


nonumber (enter)
10.Cambie la palabra multiusuario por multitarea:
a. Borre primero la palabra multiusuario: ubquese en la tercera lnea y
en la posicin de pantalla referencial al primer carcter de la palabra
multiusuario presione x. (La orden x borra caracteres).
b. Para escribir el nuevo texto, ponga al editor en modo adicin con la
orden i y escriba multitarea.
c. Si decide dejar el texto como estaba antes de las modificaciones,
entonces, establezca el editor a modo orden pulsando Escape, y
luego escriba : q! (enter). Vi devolver al prompt de su Shell
manteniendo el archivo como si nada hubiera pasado.
d. Vuelva a editar el archivo sistema y realice el cambio anterior, pero
salga grabando de vi. [:x (enter)]

11.Nuevamente edite el archivo sistema y adicione a su contenido el


siguiente texto:
Ing. Mayenka Fernndez Chambi

Sistemas Operativos y Administracin

12.Guarde las modificaciones pero no salga del editor.


13.Adicione sus datos personales al inicio del contenido del archivo.
(Primera lnea)
14.Elimine la cuarta lnea.
15.Inserte UNAP entre la quinta y sexta lnea.

16.Salga de vi guardando las modificaciones.


17.Verifique el tamao del archivo del sistema.
18.Vuelva a editar el archivo sistema, y copie la primera lnea al final
del contenido.
19.Mueva la lnea que contiene la palabra UNAP al final del contenido.
20.Busque la palabra LINUX y remplcela por linux.
21.Busque su nombre en las ltimas lneas y remplcela por
@sunombre.

22.Muvase:
a. Al inicio del archivo
b. Al final del archivo
c. Y a la mitad del archivo
23.Salga de vi guardando las modificaciones.
24.Observe el tamao del archivo sistema.
25.Los siguientes ejercicios son cdigo en lenguaje bc, los que deben de
ser editados con vi y ejecutados con bc.

Ing. Mayenka Fernndez Chambi

Sistemas Operativos y Administracin


Ejercicio 1: Halla la solucin de una ecuacin de segundo grado en el
archivo ecuacion1.
/*Resolucion de una ecuacion de segundo grado*/
print "Ecuacion de Segundo Grado\n" /*visualiza este mensaje*/
a=1
b=7
c=12
r=b^2-4*a*c
s=sqrt(r)
y=(-b+s)/(2*a)
z=(-b-s)/(2*a)
print "Solucion 1:"
y
print "Solucion 2:"
z
print "\n"
Ejecute el archivo ecuacion1 con bc:
$bc ecuacion1 (enter)

Para salir de bc, escriba quit


Ejercicio 2: Halla las soluciones de una ecuacin de segundo grado
utilizando funciones en el archivo ecuacion2.
define seg(a,b,c){
r = b^2-4*a*c
s = sqrt(r)
y = (-b+s)/(2*a)
z = (-b-s)/(2*a)
print "Solucion 1:"
y
print "Solucion 2:"
z
}
Ejecute el archivo ecuacion2 con bc:
$bc ecuacion2 (enter)

Ing. Mayenka Fernndez Chambi

Sistemas Operativos y Administracin

Ejercicio 3: Halla el cuadrado de un nmero en el archivo cuadrado.


define cuadrado(x){
auto a
a=x^2
return a
}
Ejecute el archivo cuadrado con bc:
$bc cuadrado (enter)

Para mostrar el valor de n, escriba n y presione enter.


Referencias.
[1] Guevara Puente de la Vega K. y Rosas Paredes K., Laboratorio de
Sistemas Operativos, Sesin 3, UCSM, 2012.

Ing. Mayenka Fernndez Chambi

You might also like