Está en la página 1de 12

INGRESO A LINUX

Login ó su

SALIR

Logout o exit (ctrl+d )

clear (limpia pantalla)

COMANDO SIMPLES DE LINUX

cal, date, head, tail, sort, cmp, wc, grep, pr, cut

cal:
cal -m (muestra completo el año actual)
cal 12 2006

mkdir (crear carpeta)


touch (crea archivo)

rm (borrar archivos)
rm -r (borrar carpetas)
rmdir
cd
pwd
ls (editar el contenido del disco)
cp (copiar)
mv (mover un directorio a otro)
chmod 751 carpeta ó archivo.xx (permisología)
posición (7) para el usuario
posición (5) para el grupo
posición (4) para los otros

0 --- ni lectura, ni escritura, ni permiso de ejecución


1 –x sólo ejecución
2 -w- sólo escritura
3 -wr escritura y ejecución
4 r-- sólo lectura
5 r-x sólo lectura, ejecición
6 rw- sólo lectura, escritura
7 rwx lectura, escritura, ejecución

ren (renombrar)
cat (edita el contenido de un archivo)

Opciones Significado Función


ps Sin opciones Muestra la información de los procesos del usuario
que hace la llamada en el shell activo.

ps -e Every Muestra la información de todos los procesos en el


sistema.
ps -f Full Genera una lista amplia de los procesos activos

ps –u Usuario Presenta los procesos del usuario indicado


userid

Value Description
UID El ID del usuario que ha iniciado el proceso.

PID El número de identificación del proceso (PID), Este número se usa


para cancelar los procesos.

PPID El número de identificación del proceso padre.

C La prioridad del proceso.

STIME Momento en el cual el proceso se inicia.

TTY Terminal al cual se encuentra enlazado el proceso.

TIME Tiempo de CPU usado por el proceso.

CMD Nombre del programa

El editor VI

Luís Meléndez, cc0luism@uco.es

Introducción al editor de textos más usado en Linux

Introducción

Comandos e introducción de texto

Entrada al editor vi

Primeros comandos

Otros comandos para pasar al modo edición


Borrar y copiar

Rangos de líneas

Búsqueda y sustitución

Otras posibilidades

Introducción

Se aconseja la lectura previa del documento Manejo de terminales en LINUX para mejor entender
el funcionamiento del vi.

Es un EDITOR, no un PROCESADOR DE TEXTOS. Está hecho para escribir y modificar archivos


de texto sencillos, programas, etc. No permite justificar párrafos, utilizar distintos tipos de letra,
escribir a varias columnas, insertar gráficos, etc. No hay ningún programa de estas características
que se proporcione con LINUX. Normalmente, es necesario adquirirlos por separado.

El editor vi es el más utilizado en ordenadores que utilicen el sistema operativo LINUX. Los
usuarios no informáticos lo consideran demasiado complicado, sobre todo acostumbrados a los
editores del sistema operativo DOS. Por eso se tiende a considerarlo muy atrasado, sin embargo es
realmente potente. Su dificultad de manejo se justifica por las características de los terminales que
había cuando fue diseñado y porque un objetivo primordial de su diseñador fue que pudiera ser
utilizado en casi cualquier tipo de terminal por lo que no requiere el uso de teclas especiales, como
las de movimiento del cursor o las de función (aunque en la mayoría de los terminales, las teclas de
flechas sí se pueden utilizar, si se desea). Claro, esto es a costa de su sencillez de manejo. Es más
sencillo para un usuario pulsar, por ejemplo, la tecla F10 para grabar el archivo que :w.

Comandos e introducción de texto

Por tanto, queda claro que no se pueden usar las teclas de función. En el vi a muchas funciones
(como grabar archivo, borrar líneas, etc) se accede de dos formas posibles:

Usando la tecla Ctrl

Pulsar esa tecla (también llamada Control) junto con otra tecla alfabética. Por
ejemplo, si dejo pulsada la tecla Ctrl mientras pulso f, avanzaré una página en mi
documento. Hay que hacer notar que esto es posible porque todos los terminales
generan el mismo código numérico al pulsar Ctrl junto con una letra, por tanto no
hay problema de incompatibilidad entre fabricantes,

Usando comandos compuestos de teclas normales

Estos últimos requieren una explicación. A base de utilizar sólo comandos


compuestos por la tecla Ctrl y otra letra alfabética, tengo sólo 26 posibilidades (a...z)
ya que Ctrl-a genera el mismo código que Ctrl-A (aquí no hay diferencia entre
minúsculas y mayúsculas). Si no puedo usar las teclas de función ni otras especiales
(por incompatibilidad entre fabricantes), ¿cómo puedo acceder a las muchas
funciones que tiene el editor? Pues mediante teclas normales. Pero si me dicen que el
símbolo $ significa ir al final de la línea, esto no parece lógico, porque si pulso ese
carácter, aparecerá en la pantalla tal como lo escribo.

Por eso el vi tiene dos modos de funcionamiento, entre los cuales el usuario debe alternar
continuamente durante una sesión de edición:
Modo edición

Todo lo que escribo, aparece en pantalla, como es habitual en todos los editores.

Modo comando

Lo que escribo estando en este modo (al cual se accede pulsando la tecla ESC,
llamada también escape), las teclas tienen un significado especial. Por ejemplo, $
mueve el cursor hasta el final de la línea, j lo mueve una línea hacia abajo, :w graba
el archivo, :q es para salir del editor.

Del modo edición se pasa al modo comando usando la tecla ESC. Del modo comando se pasa al
modo edición con alguna de las siguientes teclas: i,I,a,A,o,O (y alguna otra).

Hay que tener presente que al entrar en el editor vi, el modo inicial es el MODO COMANDO.

Entrada al editor vi

Si estamos en un terminal trabajando con un ordenador central que funcione con el sistema
operativo LINUX (en cualquiera de sus muchas variantes), usaremos el programa vi para editar un
archivo con el siguiente comando:

vi archivo
Tras ejecutar ese comando, se borra la pantalla y, si el archivo ya existía previamente, aparece su
contenido. Si no existía, quedan todas las líneas de la pantalla vacías pero con una tilde (~) al
principio. Con esa tilde representa el vi las líneas que están vacías.

Si no ocurre de esta forma y la pantalla queda desencajada, el problema puede estar relacionado con
la variable TERM. Véase Manejo de terminales en LINUX para saber cómo solucionarlo.

Como dijimos antes, nada más entrar en el vi, estamos en el MODO COMANDO. Podemos usar
aquí cualquiera de los comandos que veremos más adelante aplicables en este modo (y que están
resumidos al final de este documento). Si queremos escribir algo en el archivo, iremos (en el modo
comando) al lugar donde deseamos empezar a escribir y pulsaremos una de las teclas que nos pasan
al MODO EDICION. En ese momento, todo lo que escribamos aparecerá en la pantalla.

Una cosa que hay que tener en cuenta en el manejo del vi es que conviene estar el máximo tiempo
posible en el modo COMANDO, pues así las modificaciones no deseadas en el texto son menores.
En cuanto terminemos de escribir, debemos pulsar ESC para ir al modo comando. Si queremos
editar en otra parte del archivo, iremos a esa parte en este modo y en ahí pasaremos de nuevo al
modo edición.

Primeros comandos

Antes que nada, tendremos que empezar a escribir algo en un archivo. Si vamos a llamar a este con
el nombre primero, ejecutamos desde LINUX:

vi primero

Al pulsar la tecla INTRO aparece la pantalla vacía con una tilde al principio de cada línea. Estamos
en modo comando, por lo que para comenzar a escribir hay que pasar al modo edición. La forma
más habitual de hacer esto es con el comando i. Al pulsar esa letra, no ocurre nada, no vemos
ningún cambio en la pantalla, pero el modo ha cambiado al de EDICION.

Comenzamos ahora a escribir y el texto va apareciendo en la pantalla. Si escribimos más letras de


las que caben en el ancho de la misma (normalmente 80 caracteres), continuarán por la línea
siguiente.

Si nos equivocamos en una letra, podemos usar la tecla de borrado (normalmente tiene la
inscripción <- o Backspace) para eliminar la última letra escrita. Si seguimos pulsando la tecla,
borraremos las letras anteriores. Pero sólo podemos borrar así las últimas que hayamos escrito. Si
escribimos un texto, luego pasamos al modo comando para hacer algo, y luego otra vez al modo
edición, la tecla de borrado no me sirve para borrar lo que escribí antes. Habrá que moverse al sitio
donde quiero borrar y usar el comando para ello. Algunos de los comandos que usaremos para estas
operaciones (todos ellos se utilizan en MODO COMANDO) son (atención a la diferencia entre
mayúsculas y minúsculas):

i Pasar a modo EDICION (ya se ha explicado)


h Desplaza el cursor una posición a la izquierda
j Ídem a la línea inferior
k Ídem a la línea superior
l Ídem una posición a la derecha
^f Desplaza el cursor una pantalla hacia adelante (unas 24 líneas)
^b Ídem hacia atrás
^g
Nos informa del nombre del archivo que estamos editando, del número de la línea
en la que estamos, y del número total de líneas del archivo.
G Ir al final del archivo.
1G Ir al principio del archivo.
x Borra el carácter sobre el que está el cursor
dd Borra la línea sobre la que está el cursor
^ Desplaza el cursor al principio de la línea actual
$ Ídem al final de la línea
:w! Graba el archivo (y seguimos dentro del vi)
:q! Salir del editor, sin grabarlo previamente
:wq! Salir del editor, grabando previamente el archivo

En la mayoría de terminales, se pueden usar las teclas de flechas en lugar de h, j, k, l. Hay que
aclarar dos cosas en esta lista:

En primer lugar, usaremos la nomenclatura ^f para indicar que se mantiene pulsada la tecla Ctrl
mientras pulsamos f.

En segundo lugar, el comando 1G es especial porque lleva un número al comienzo. Cuando ocurre
esto, se considera como si dijéramos ejecuta el comando G con el argumento 1. Casi todos los
comandos pueden llevar un número delante. En el caso del comando G, el número indica a qué
línea del archivo queremos ir. Así, 1G significa ir a la línea 1, 20G es ir a la línea 20. Una sola G
indica ir a la última línea.

En la mayoría de los comandos, un número precediendo al comando significa ejecuta n veces este
comando. Así, si dd significa borrar una línea, 5dd significa borrar 5 líneas (la actual y las cuatro
siguientes).

Los comandos que se ejecutan en modo comando no aparecen por pantalla, a excepción de los que
empiezan por /,? o :

Otros comandos para pasar al modo edición

Ya hemos mencionado que para entrar en el modo edición se usa el comando i (de insertar). Al
pulsarlo, lo que escribamos se añade justo donde está el cursor. A veces, debemos usar otro
comando. Este es el caso de tener que añadir texto al final de una línea. Si tenemos una línea tal
como la siguiente:

En un lugar de la Mancha

Si nos desplazamos al final para añadir lo que falta, el cursor no pasará más allá de la última a
(nunca se puede mover el cursor después del último carácter de una línea). Si ahora pulsamos i y
escribimos un texto, éste se insertará entra la h y la a. Lo que queremos en este caso no es
INSERTAR, sino AÑADIR. Para ello se usa el comando a. Al introducirlo, el cursor -que estaba,
recordemos, encima de la o- se sitúa después de esta letra, permitiéndonos escribir ahí.

Otro caso que se puede presentar es la necesidad de escribir texto ANTES de la primera línea.
¿Cómo podemos hacerlo?. Si pulsamos i, insertamos texto en la línea actual. Se podría hacer lo
siguiente:
 Situar el cursor al principio de la primera línea
 Pulsar i para insertar
 Pulsar INTRO para insertar una línea en blanco
 Pulsar ESC para pasar al modo comando
 Pulsar k (o flecha arriba) para subir a la línea anterior
 Pulsar i para insertar

Ya hemos abierto una línea y podemos escribir. Pulsando INTRO podemos abrir más líneas si
queremos. Para evitar esa secuencia tan tediosa, hay otro comando significa abrir una línea antes
de la que está el cursor y pasar en ella al modo edición. Este comando es O (o mayúscula).

Un comando relacionado es o (o minúscula) que significa abrir una línea después de la actual y
pasar en ella al modo edición. La usaremos por ejemplo para añadir líneas al final del archivo.

Resumimos los comandos para pasar al modo edición (hay alguno más pero estos son los más
habituales):

i Insertar texto delante de donde está el cursor


a Añadir texto a continuación de donde está el cursor
O Abrir una línea antes de la actual y editar en ella
o Abrir una línea después de la actual y editar en ella

Practiquemos con un ejemplo. Tenemos el texto:

Con diez cañones por banda,


No cruza el mar sino vuela,
un velero bergantín.

Evidentemente, falta el segundo verso. Si queremos escribirlo ahora, vamos a indicar tres formas de
hacerlo (suponemos que estamos en modo comando):

Forma 1

1. Ir a la primera línea.
2. Ir al final de ella (con $ o pulsando l hasta llegar al final)
3. Pulsar a para añadir
4. Pulsar INTRO. Esto inserta un salto de línea, o sea, una línea nueva y deja el
cursor al principio de la misma. Ya podemos escribir

Forma 2

1. Ir a la primera línea
2. Pulsa o. Esto inserta una línea debajo y pone el cursor en ella. Ya podemos
escribir.

Forma 3

1. Ir a la segunda línea
2. Pulsar O. Esto inserta una línea encima de la actual y pone el cursor en ella.
Ya podemos escribir.
Borrar y copiar

En cualquier editor, las operaciones de borrado y copiado de texto son muy importantes, pues se
usan muy a menudo. Ya mencionamos en el apartado 3 algunos comandos para borrar. Damos aquí
una lista más amplia:

x Borra el carácter sobre el que está el cursor.


dd Borra la línea en la que está el cursor.
d$ Borra desde el cursor hasta el final de la línea.
J Une, al final de la línea actual, la siguiente (borra la separación entre ambas).
:1,10d Borra las líneas 1 a la 10.
:10,$d Borra las líneas desde la número 10 hasta la última.
:,$d Borra las líneas comprendidas entre la actual y la última.

Para copiar texto de un sitio del archivo a otro, primero hay que marcar el texto que vamos a copiar,
luego ir al sitio donde queremos copiarlo, y dar la orden de copia. Esta orden de copia es el
comando p. Hay varia formas de marcar el texto que queremos copiar. Por ejemplo:

Y Marca la línea actual.


3Y Marca tres líneas (la actual y las dos siguientes).
:1,y Marca desde la primera línea hasta la actual.
:,$y Marca desde la línea actual hasta el final.

Por ejemplo, si tenemos el texto:

Con diez cañones por banda,


viento an popa a toda vela.
No cruza el mar sino vuela,
un velero bergantin.

Queremos copiar las dos primeras líneas al final del texto. Para ello, situamos el cursor en la
primera línea (se supone que estamos en modo comando; para asegurarnos, no está de más pulsa la
tecla ESC) y usamos el comando 2Y (marcar dos líneas). A continuación, movemos el cursor hasta
la última línea y usamos el comando p (este comando añade las líneas marcadas en la línea
SIGUIENTE a la que está el cursor).

Si queremos copiar de la línea actual sólo lo que hay desde el cursor hasta el final, marcamos eso
con y$. Para marcar desde el principio de la línea hasta el cursor: y^. Luego vamos al sitio donde
queramos pegarlo y usamos el comando p.

Rangos de líneas

En algunos comandos, como vimos por ejemplo en el caso de dd, podemos indicar el rango de
líneas en que hay que aplicarlo. Por ejemplo, 10dd significa borrar 10 líneas (la actual y las 9
siguientes). ¿Y si queremos borrar todas las líneas desde donde estamos hasta el final del archivo?
No es necesario contar cuántas son, pues podemos hacer :,$d
El comando :d también sirve para borrar líneas. A la mayoría de los comandos que comienzan
por :,/,? podemos aplicar un rango de líneas a las que queremos aplicar el comando. Ese rango
puede ser o un número de línea o un par de ellas separadas por coma. Si dejamos una sin número,
indica la línea actual. Un signo $ indica la última línea. Ejemplos:

:1,d Borra desde la primera línea hasta la actual


:1,$d Borra todo el archivo
:,$d Borra desde la línea actual al final
:1,10d Borra las 10 primeras líneas

Puede haber un problema si queremos borrar un tango de líneas pero no sabemos cuáles son sus
números. Para ello el vi tiene un comando que hace que todas las líneas aparezcan en pantalla
numeradas:

:set number

vi tiene unos cuantos comandos para activar y desactivar determinadas características. Una lista
exhaustiva se da al final de este manual. Si se desea usar siempre el vi con las líneas numeradas, en
vez de escribir siempre el comando, se puede añadir esa línea al archivo .exrc de nuestro directorio
actual.

Hemos visto cómo referirnos a la primera línea, a la última, la actual y a cualquier línea por su
número. También podemos indicar líneas por su posición relativa a la actual:

:,+5d Borrar la línea actual y las cinco siguientes.


:-2,+2y Marca desde dos líneas antes de la actual hasta dos después

Búsqueda y sustitución

El editor vi es bastante potente en lo que se refiere a búsqueda y sustitución de texto, pues no se


limita a palabras exactas, sino que puede tratar con patrones. Podemos pedirle, por ejemplo, que
busque las líneas que comienzan por un número, o las palabras que tienen 7 caracteres, etc. La
sintaxis de estos patrones es algo complicada, pero no está de más aprenderla si se va a trabajar
frecuentemente con LINUX, pues muchos otros programas utilizan una sintaxis muy semejante. Los
comandos para buscar son:

/ Buscar hacia adelante (desde el cursor hasta el final del archivo)


? Buscar hacia atrás (desde el cursor al principio del archivo)

Al usar cualquiera de estos comandos, aparece en la última línea de la pantalla dicho comando (sea /
o ?) y el cursor a continuación. Ahí debemos introducir lo que queremos buscar, e INTRO a
continuación. Si el texto o patrón es encontrado, el cursor se posicionará en él. Pulsando
sucesivamente / o ? seguidos de INTRO (es decir, sin introducir texto de búsqueda), se localizará la
siguiente (en caso de /) o anterior (en caso de ?) ocurrencia del texto buscado.

La explicación de los patrones de búsqueda está más allá de este texto (está explicada en la página
de manual LINUX del comando ed; se puede ver con la orden man ed), pero debemos explicar
algunas cosas. Por ejemplo, el patrón
^[0-9]:
buscará las líneas que comiencen (esto se indica con ^) por un dígito (indicado por [0-9]) y luego el
carácter :. otro ejemplo:
^.. ...$
Busca las líneas compuestas únicamente por dos caracteres, un espacio y 3 caracteres más. El
carácter ^ indica el comienzo de línea; el $ indica el final de línea y el punto un carácter cualquiera.
Así estamos indicando que entre el principio y el final sólo debe haber dos caracteres cualesquiera,
un espacio y otros tres caracteres.

El problema que se plantea es cuando queremos buscar el texto

100$
Si lo buscamos con /100$, el signo $ se interpretará como fin de línea. Nosotros no queremos que
sea así, sino buscar en el texto ese carácter. El mismo problema tenemos con los signos que tienen
un sentido especial (como ^,[,],.). Estos caracteres deben ir con el signo [bsol ] delante para que se
tomen literalmente, sin su sentido especial. Así para buscar 100$ sería:
/100\$
Esto se aplica a los siguientes caracteres:
^ $ . [ ] / \
Para SUSTITUIR texto, se usa el comando:
:s/texto a buscar/texto sustituto/
Al introducir :s, el cursor va a la última línea de la pantalla y ahí escribimos el resto del comando.
Eso sustituirá en la línea actual el texto a buscar por texto sustituido. Si queremos hacer esta
operación en todo el archivo, haremos:
:1,$s/texto a buscar/texto sustituto/
Vemos que entre el carácter :y la letra s podemos indicar el rango de líneas.

El comando s sustituye, como hemos dicho, un texto por otro, pero sólo la primera vez que aparezca
el texto a buscar en cada línea. Si queremos sustituir todas las veces que aparezca, añadimos al final
g:

:1,$s/texto a buscar/texto sustituto/g

Como ya hemos dicho, en la página del manual del comando ed se explica todo esto en más
profundidad.

Otras posibilidades

Algunas de las muchas posibilidades adicionales que permite el vi, pero que no vamos a detallar
son:

Registros

Los registros son como zonas de memoria donde podemos guardar trozos de texto
para pegarlos en otros lugares. Ya vimos cómo hacer esto con los comandos Y, y y
p, pero sólo con un trozo a la vez.

Marcar lugares del texto

Podemos marcar puntos determinados del texto y movernos de unos a otros de forma
sencilla.
Macros

Si hay secuencias de teclas que repetimos muy a menudo, podemos definir un


comando especial que realice todos ellos con sólo dar ese comando.

Por último, en la siguiente tabla mencionamos algunos comandos útiles (atención a la mayúsculas y
minúsculas, ya que al no ser comandos que se usan con la tecla Ctrl esto es importante):
. Repite el último comando.
u Deshacer el último cambio (undo).
J Pega la línea siguiente al final de la actual.
Si usamos este comando cuando el cursor está situado sobre alguno de estos
%
caracteres: (,{,[ o sus correspondiente cerrados, el cursor se va hacia el lugar
del documento donde esté el que lo cierra (o abre). Esto es muy interesante
cuando se están editando programas.
Abandonar el documento actual y cargar el otro archivo. Si no hemos
:earchivo grabado el actual, no nos lo permitirá a menos que usemos el comando :e!
archivo.
Carga el contenido del archivo en el lugar del documento actual donde esté
:rarchivo
el cursor.
:w Grabar el documento con el nombre archivo (que puede no coincidir con el
archivo nombre de que estamos editando).
:,$w
archivo Grabar desde la línea actual hasta el final en el archivo.
Si hemos ejecutado el vi con varios nombres, por ejemplo: vi *.c, con este
:n comando abandonamos el actual y pasamos a editar el siguiente. Si no hemos
grabado el actual no nos lo permitirá a menos que usemos :n!.
^l
Si aparecen mensajes por la pantalla o ésta se queda desajustada, con este
comando la refrescamos.
Cambiar hasta el final de la línea. Tras escribir este comando, todo lo que
c$ escribamos a continuación hasta que pulsemos ESC sustituirá a lo que había
desde el cursor hasta el final de la línea.
c^
Lo mismo pero sustituirá a lo que hay desde el principio de la línea hasta el
cursor.
cw Lo mismo pero sustituirá a la palabra sobre la que está el cursor.
:!sh
Ejecutar una subshell donde podemos escribir comandos del sistema
operativo. Cuando la abandonemos (con exit) volvemos al vi.

Para terminar, admitir que a pesar de su potencia es difícil dominar todo lo que hemos visto, y
difícil es explicarlo, pero creo que se entiende fácilmente la lógica de sus comandos, y a veces
aunque no se sepa qué comando existe para hacer algo, se puede deducir. Por ejemplo, ¿cómo
marco la palabra actual y las tres siguientes para pegarlas en otro lado? No es difícil pensar que será
el mismo comando para marcar una palabra, yw repetida tres veces, por tanto: 3yw.

Paso 6. Montaje de directorios y dispositivos extraíbles.


Un mecanismo importante de administración y expansión del sistema de archivos en LINUX/UNIX
esta constituido por el montaje de sistemas de archivos, bien sea que estos se localicen en
dispositivos extraíbles (Cds o floppys) o en particiones de otros discos tanto locales (en el mismo
equipo) como en equipos remotos.
Las operaciones de montado y desmontado las llevan a cabo los comandos mount y umount, por
ejemplo:

# mount /dev/hdc /cdrom

montaría el dispositivo de CD–ROM situado en /dev/hdc en el directorio /cdrom. Antes del


montado, el directorio /cdrom debe estar creado. Tras el montado, el contenido del dispositivo
montado “aparece” en /cdrom como si se tratara de un directorio más del sistema. De la misma
forma de haría para un diskette:

# mount /dev/fd0 /floppy

y el contenido del diskette aparecerá en /floppy.

También podría gustarte