INTRODUCCIÓN CONCEPTOS

Anuncio
VI
EN
UNIX/LINUX
•
Introducción
•
Conceptos
•
Comenzando con vi
•
Insertando texto
•
Borrando texto
•
Grabando el archivo y terminando vi
•
Incluyendo otros archivos
•
Comandos desde el prompt del sistema
•
Modos de trabajo en la creación del archivo
INTRODUCCIÓN
Unix y Linux son sistemas operativos multi-usuarios, los cuales reconocen de manera diferente los
caracteres en mayúsculas y minúsculas, por ejemplo: Un archivo con el nombre de tarea1.c será
totalmente diferente a un archivo llamado Tarea1.c debido a que el primer caracter de ambos archivos
difiere por la mayúscula, por lo cual se deberá tener cuidado en el uso de mayúsculas y minúsculas.
Un editor de texto es un programa usado para editar (es decir, crear o modificar) archivos que contienen
texto, tales como una carta, un programa en Pascal, Fortran entre otros, o un archivo de configuración del
sistema. Existen muchos editores disponibles para Unix y Linux, pero el único del que se estará seguro de
encontrar en cualquiera de estos sistemas es vi : el "editor visual".
CONCEPTOS
Cuando se use vi, en cualquier momento te encontrarás en uno de los tres modos de operación:
Modo de comandos
Modo de inserción
Modo de última línea
Al iniciar vi, el editor se encuentra en modo de comandos. Este modo permite usar ciertos comandos para
cambiar con los otros modos de comando o alterar el archivo. por ejemplo, pulsando la tecla "x" estando
en el modo de comandos se borrará el caracter bajo el cursor. Las teclas de flechas mueven el cursor a
través del archivo que se esté editando. Generalmente, los comandos usados en este modo son de uno o
dos caracteres de largo, y no es necesario presionar [Enter] después de darlos, ya que su efecto es
inmediato.
Mientras se estés en modo de comandos, se pueden usar las teclas:
h desplaza el cursor a la izquierda
l desplaza el cursor a la derecha
j desplaza el cursor hacia abajo
k desplaza el cursor hacia arriba
en ocaciones también se puede hacer uso de las flechas del teclado para moverse por todo el archivo.
Desde el modo de comando se puede pasar al modo de inserción para insertar o editar texto, por lo que
se debe pulsar la tecla “i” (“insert”) para insertar texto a la izquierda del cursor, existen otras teclas para
insertar texto, pero por el momento es suficiente con que se recuerde ésta tecla. Mientras se esté en modo
de inserción, se estará escribiendo texto y para terminar de hacerlo y volver al modo de comandos, se
pulsará [esc].
Desde el modo de comandos se puede pasar al modo de última línea es un modo especial usado para
dar ciertos comandos extendidos a vi, el cual se habilitará al pulsar las teclas “shift” y “:” simultaneamente.
Al escribir los comandos en este modo, estos aparecerán en la última línea de la pantalla (de ahí su
nombre), y para ejecutarlos se deberá presionar [Enter]. Por ejemplo, pasar al modo de última línea y
escribir el comando "wq" para guardar el archivo y salir de vi, o "q!" para salir de vi sin guardar los cambios.
El modo de última línea es usado generalmente para comandos que son más largos de un caracter.
Más adelante se dará una lista de algunos comandos que pueden ser útiles en cada uno de los modos.
COMENZANDO CON VI
La mejor forma de entender estos conceptos es simplemente usando vi para editar un archivo de prueba.
La sintaxis es la siguiente:
$ vi archivo
donde archivo es el nombre del archivo que se quiere editar.
Iniciemos vi escribiendo en el prompt del sistema lo siguiente: $ vi prueba
Si se observa, al final de la pantalla aparece lo
siguiente: "prueba" [New File] lo cual indica que es
un archivo nuevo al que se le ha puesto el
nombre de prueba. En caso de editar un archivo
ya existente, dicho mensaje cambiará indicando
el número de líneas y el nombre del archivo.
La columna con caracteres "~" indica que ya no
se tienen más líneas que editar.
INSERTANDO TEXTO
Ahora pasemos al modo de insercción de texto pulsando la tecla i y escribamos:
Esta es la primera vez que escribo con vi
Espero que no sea la ultima vez que lo utilice
Si se desea escribir en una línea distinta se debe
presionar [Enter] al final de cada línea, y se
pueden corregir los errores usando la tecla
"backspace". Nota por lo general los caracteres
borrados de esta manera son sustituidos por otros.
Si no se desea realizar en este momento, se podrá
realizar al finalizar la captura en el modo de
comandos (se verá más adelante).
Para finalizar el modo de edición, y volver al modo
de comandos, presionar [esc] y utilizar los
comandos respectivos a este modo de acuerdo a lo que se desee. Por ejemplo, desplazarse sobre el
archivo, usandor las flechas para subir y bajar sobre el texto.
BORRANDO TEXTO
Este proceso se realizará en el modo de última línea. Por lo tanto se debe pulsar la tecla [esc],
El comando x borra el caracter bajo el cursor. Si se pulsa la tecla x cuatro veces, se eliminarán cuatro
caracteres. Por ejemplo colocar el cursor al inicio del texto de la primer líneay presionar 1 vez la tecla x, lo
que eliminará la letra "E" del inicio del texto
Para borrar la palabra en la cual se encuentra el cursor, se usará el comando dw. Por ejemplo colocar el
cursor al inicio de la palabra "primera", y pulsar las teclas dw.
Se pueden borrar líneas enteras usando el comando dd (es decir, pulsando la tecla [d] dos veces). Por
ejemplo, estando en la primer línea del texto, presionar la tecla d 2 veces seguidas.
GRABANDO EL ARCHIVO Y TERMINANDO VI
Antes que nada se deberá estar en el modo de última línea, si se desea asegurar, presionar la tecla [esc],
[shift] y [:] Después de ello utilizar alguno de los siguientes comandos:
:q! Sale de vi sin guardar los cambios en el archivo (mantener el archivo original).
:wq Guarda el archivo y sale de vi. El comando ZZ (desde el modo de comandos, sin los ":") es equivalente
a :wq.
:w Guarda el archivo sin salir de vi.
Como ejemplo, pasar al modo de última línea
( esc shift : ) y pulsar las teclas w y enter, lo que
mostrará lo siguiente en la pantalla:
INCLUYENDO OTROS ARCHIVOS
Estando en el modo de última línea se puede utilizar el comando :r puedes incluir el contenido de otro
archivo en el actual. La sintaxis es:
:r archivo_incluir
COMANDOS DESDE EL PROMPT DEL SISTEMA
Unix/Linux.-
Generalmente los comandos se escriben con minúsculas.
MAYÚSCULAS ≠ minúsculas
Entrar al Sistema.
login:
password:
(clave/nombre de usuario)
(contraseña no se visualiza en pantalla).
Prompt del Sistema.-
$
Listar el contenido de la cuenta.$ls
$ls –l
muestra en 5 columnas los archivos/directorios.
muestra detalles de los archivos/directorios, es decir:
-rwxrwxrwx 1 dueño gpo t_bytes fecha/hr nombre
d
r
archivo normal
directorio
lectura
w
x
1º rwx
2º rwx
3º rwx
escritura
executable
permisos del dueño = #d
permisos del grupo = #g
permisos de otros usuarios = #o
NOTA: La existencia del caracter dá el permiso.
Modificar los permisos.-
$ chmod #d#g#o archivo
Visualizar el contenido de los archivos.cat
pg
more
visualiza en forma contínua s/parar.
visualiza página x página.
visualiza pantalla x pantalla.
Borrar archivos.-
rm archivo
Copiar archivos.-
cp a_origen a_destino
Renombrar archivos.-
mv a_actual a_nuevo
Imprimir un archivo.-
lp archivo (exepto archivos ejecutables)
NOTA:
•
•
Los comandos anteriores aceptan uno o más nombres de archivos, siempre y cuando esten
separados por un espacio.
Aceptan el uso de caracteres máscara, los cuales son: * (representa una cadena de caracteres),
?(representa un solo carácter).
Tipos de archivos según su extensión.•
•
•
•
•
•
txt
c
p
f
dat
out
texto
lenguage c
lenguage pascal
lenguaje fortran
datos
ejecutables
Nombre del archivo.- No exceder de 8 caracteres
Emulación de la terminal.-
$ export TERM
$ TERM=vt100
Creación de Archivos.$ vi
$ vi archivo.extensión
Modos de Trabajo en la Creación del Archivo:
Modo de Comandos.Esc
Cada tecla realiza una función especial para corregir el archivo.
Activa el modo de comandos en caso de no estar activado.
Movimiento en la pantalla:
mueve el cursor a la izquierda.
←
h o backspace
mueve el cursor a la derecha.
→
l o barra espaciadora
mueve el cursor hacia arriba.
↑
k
mueve el cursor hacia abajo.
↓
j
mueve el cursor arriba de la pantalla.
H
⌠
mueve el cursor debajo de la pantalla.
L
⌡
mueve el cursor en medio de la pantalla.
M
┼
mueve el cursor a la pantalla siguiente.
<ctrl><f>
mueve el cursor a la pantalla anterior.
<ctrl><b>
Correción sobre el texto:
r
remplaza el carácter sobre el cursor por el que se teclee después.
R
Remplaza a partir del cursor por lo que se teclee después hasta dar un <esc>
dd
Borra la línea donde esta el cursor, puede teclearse un número antes.
x
Borra el carácter del cursor, puede teclearse un número antes.
y
Almacena la línea entera en un buffer, puede ser también y y
p
Pone después del cursor el texto almacenado con y
u
Anula el último cambio realizado (undone)
s
Sustituye el carácter donde está el cursor por lo que se teclee hasta dar un <esc>
Grabar el archivo.[esc] [shift] [z] [z] Graba y sale de vi
Editor de línea.-ESC + SHIFT + :
w (nombre opcional del archivo)
x
Guarda y sale de vi
q!
Sale de vi sin guardar
Guarda sin salir de vi
se nu Numera las líneas del archivo
se nonu Quita la numeración
! comando
Ejecuta un comando del shell
#r archivo
Agrega un archivo después de la línea indicada
l_ini,l_fin co lin
Copia un intervalo de líneas después de la línea indicada.
l_ini,l_fin m lin Mueve un intervalo de líneas después de la línea indicada
Borra el intervalo de líneas
l_ini,l_fin d
l_ini,l_fin s/text1/text2/g
Sustitución de texto
NOTA: En los comandos que solicitan límites se puede utilizar lo siguiente:
$
es sinónimo de la línea final y
%
es la abreviatura de “1,$”, esto es todo el archivo
ejemplos:
:3,$ s/fjp/FJP/g
:%s/lsm/LSM/g
Modo de Inserción.- Insertar o agregar texto.
Para habilitar este modo tecleamos cualquiera de las siguientes opciones:
a
Derecha del cursor
A
Al final de la línea actual
i
Izquierda del cursor
I
Al inicio de la línea actual
o
Abrir una línea debajo de la actual
O
Abrir una línea arriba de la actual
Compilación
Lenguaje C:
$cc archivo.c
Lenguaje Pascal:
$svspascal archivo.p
o
$pc archvio.p
Lenguaje Fortran 77:
$svsf77 archivo.f
o
$f77 archivo.f
Archvio ejecutable.- Si no existe error en la compilación se creará un archivo “a.out” que es el ejecutable,
y se corre de la forma:
$./a.out
Donde a es el nombre del archivo. En algunos compiladores no es necesario colocar los caracteres ./
Imprimir el ejecutable.$./a.out | tee archivo.dat
$lp archivo.dat
(dar las entradas que pide el archivo ejecutable para crear una
corrida)
Descargar