Mecanismos de reenvío de paquetes (6)

 Mecanismos de reenvío de paquetes

Los routers admiten tres mecanismos de reenvío de paquetes:

  • Switching de procesos: es un mecanismo de reenvío de paquetes más antiguo que todavía está disponible para los routers Cisco. Cuando un paquete llega a una interfaz, se reenvía al plano de control, donde la CPU hace coincidir la dirección de destino con una entrada de la tabla de routing y, a continuación, determina la interfaz de salida y reenvía el paquete. Es importante comprender que el router hace esto con cada paquete, incluso si el destino es el mismo para un flujo de paquetes. Este mecanismo de switching de procesos es muy lento y rara vez se implementa en las redes modernas.
  • Switching rápido: este es un mecanismo frecuente de reenvío de paquetes que usa una memoria caché de switching rápido para almacenar la información de siguiente salto. Cuando un paquete llega a una interfaz, se reenvía al plano de control, donde la CPU busca una coincidencia en la caché de switching rápido. Si no encuentra ninguna, se aplica el switching de procesos al paquete, y este se reenvía a la interfaz de salida. La información de flujo del paquete también se almacena en la caché de switching rápido. Si otro paquete con el mismo destino llega a una interfaz, se vuelve a utilizar la información de siguiente salto de la caché sin intervención de la CPU.
  • Cisco Express Forwarding (CEF): CEF es el mecanismo de reenvío de paquetes más reciente y más utilizado del IOS de Cisco. Al igual que el switching rápido, CEF arma una base de información de reenvío (FIB) y una tabla de adyacencia. Sin embargo, las entradas de la tabla no se activan por los paquetes como en el switching rápido, sino que se activan por los cambios, como cuando se modifica un elemento en la topología de la red. Por lo tanto, cuando se converge una red, la FIB y las tablas de adyacencia contienen toda la información que el router debe tener en cuenta al reenviar un paquete. La FIB contiene búsquedas inversas calculadas previamente, información de siguiente salto para las rutas, incluida la información de interfaz y de capa 2. Cisco Express Forwarding es el mecanismo de reenvío más rápido y la opción más utilizada en los routers Cisco.

En las figuras 1 a 3, se muestran las diferencias entre los tres mecanismos de reenvío de paquetes. Suponga que hay un flujo de tráfico que consta de cinco paquetes que van hacia el mismo destino. Como se muestra en la figura 1, con el switching de procesos, la CPU debe procesar cada paquete en forma individual. Compare esto con el switching rápido, el cual se muestra en la figura 2. Con el switching rápido, observe que el switching de procesos se aplica solo al primer paquete de un flujo, el cual se agrega a la caché de switching rápido. Los cuatro paquetes siguientes se procesan rápidamente según la información de la caché de switching rápido. Por último, en la figura 3, se observa que CEF crea la FIB y las tablas de adyacencia una vez que se converge la red. Los cinco paquetes se procesan rápidamente en el plano de datos.

Una analogía frecuente que se usa para describir los tres mecanismos de reenvío de paquetes es la siguiente:

  • El switching de procesos resuelve un problema realizando todos los cálculos matemáticos, incluso si los problemas son idénticos.
  • El switching rápido resuelve un problema realizando todos los cálculos matemáticos una vez y recuerda la respuesta para los problemas posteriores idénticos.
  • CEF soluciona todos los problemas posibles antes de tiempo en una hoja de cálculo.

Figura 1

Figura 2

 Figura 3

Los routers eligen las mejores rutas( 5)

Los routers eligen las mejores rutas

Las funciones principales de un router son las siguientes:

  • Determinar la mejor ruta para enviar paquetes.
  • Reenviar paquetes a su destino.

El router usa su tabla de routing para encontrar la mejor ruta para reenviar un paquete. Cuando el router recibe un paquete, analiza la dirección de destino del paquete y usa la tabla de routing para buscar la mejor ruta hacia esa red. La tabla de routing también incluye la interfaz que se debe usar para reenviar los paquetes a cada red conocida. Cuando se encuentra una coincidencia, el router encapsula el paquete en la trama de enlace de datos de la interfaz de salida, y el paquete se reenvía hacia el destino.

Un router puede recibir un paquete encapsulado en un tipo de trama de enlace de datos y reenviarlo por una interfaz que usa otro tipo de trama de enlace de datos. Por ejemplo, un router puede recibir un paquete en una interfaz Ethernet, pero debe reenviarlo por una interfaz configurada con el protocolo punto a punto (PPP). La encapsulación de enlace de datos depende del tipo de interfaz en el router y del tipo de medio al que se conecta. Las distintas tecnologías de enlace de datos a las que se puede conectar un router incluyen Ethernet, PPP, Frame Relay, DSL, tecnología de cable y tecnología inalámbrica (802.11, Bluetooth, etc.).

En la animación de la ilustración, se sigue un paquete desde la computadora de origen hasta la computadora de destino. Debe observarse que el router es responsable de encontrar la red de destino en su tabla de enrutamiento y reenviar el paquete hacia su destino. En este ejemplo, el router R1 recibe el paquete encapsulado en una trama de Ethernet. Después de desencapsular el paquete, el R1 usa la dirección IP de destino del paquete para buscar una dirección de red que coincida en su tabla de routing. Luego de encontrar una dirección de red de destino en la tabla de enrutamiento, R1 encapsula el paquete dentro de una trama PPP y reenvía el paquete a R2. El R2 realiza un proceso similar.

Nota: los routers usan rutas estáticas y protocolos de routing dinámico para descubrir redes remotas y crear sus tablas de routing.

Los routers interconectan redes Lectura 4

Figura 1

La mayoría de los usuarios desconocen la presencia de varios routers en su propia red o en Internet. Los usuarios esperan poder acceder a páginas web, enviar correo electrónico y descargar música, sin importar si el servidor al que acceden está en su propia red o en otra. Los profesionales de redes saben que es el router el que se encarga del reenvío de paquetes de una red a otra, desde el origen inicial hasta el destino final.

Un router conecta varias redes, lo que significa que posee varias interfaces, cada una de las cuales pertenece una red IP diferente. Cuando un router recibe un paquete IP en una interfaz, determina qué interfaz debe usar para reenviar el paquete hacia el destino. La interfaz que usa el router para reenviar el paquete puede ser el destino final o una red conectada a otro router que se usa para llegar a la red de destino.

En la animación de la figura 1, se observa que el R1 y el R2 son responsables de recibir el paquete en una red y reenviarlo desde otra red hacia la red de destino.

Generalmente, cada red a la que se conecta un router requiere una interfaz separada. Estas interfaces se usan para conectar una combinación de redes de área local (LAN) y redes de área extensa (WAN). Por lo general, las LAN son redes Ethernet que contienen dispositivos como computadoras, impresoras y servidores. Las WAN se usan para conectar redes a través de un área geográfica extensa. Por ejemplo, las conexiones WAN suelen utilizarse para conectar una LAN a la red del proveedor de servicios de Internet (ISP).

Observe que cada sitio de la figura 2 requiere el uso de un router para interconectarse a otros sitios. Incluso la oficina doméstica requiere un router. En esta topología, el router ubicado en la oficina doméstica es un dispositivo especializado que lleva a cabo varios servicios para la red doméstica.

Figura 2

Los routers son computadoras (3)

 Lectura complementaría 3

Para que la mayoría de los dispositivos con capacidad de red funcionen (por ejemplo, las computadoras, las tabletas y los smartphones), estos requieren los siguientes componentes, como se muestra en la Figura 1:

  • Unidad central de procesamiento (CPU)
  • Sistema operativo (OS)
  • Memoria y almacenamiento (RAM, ROM, NVRAM, flash, disco duro)

Básicamente, los routers son computadoras especializadas. Estos requieren una CPU y una memoria para almacenar datos de forma temporal y permanente a fin de ejecutar las instrucciones del sistema operativo, como la inicialización del sistema, las funciones de routing y de switching.

Nota: los dispositivos de Cisco utilizan el sistema operativo Internetwork (IOS) de Cisco como software de sistema.

La memoria del router se clasifica como volátil o no volátil. La memoria volátil pierde su contenido cuando se apaga el dispositivo, mientras que la memoria no volátil no pierde su contenido cuando se apaga el dispositivo.

En la tabla de la figura 2, se resumen los tipos de memoria de router, la volatilidad, y se proporcionan ejemplos de lo que se almacena en cada una.

                                                                     Figura 2

A diferencia de las computadoras, los routers no tienen adaptadores de video o de tarjeta de sonido. En cambio, los routers cuentan con tarjetas de interfaz de red y puertos especializados para interconectar los dispositivos a otras redes. En la figura 3, se identifican algunos de estos puertos e interfaces.

                                                                             Figura 3

¿Por qué es necesario el routing? (2)

¿Por qué es necesario el routing?

¿Cómo es que se logra acceder a la información deseada en pocos segundos haciendo clic en un enlace en un navegador web? Si bien existen muchos dispositivos y tecnologías que trabajan juntos de forma colaborativa para lograr esto, el dispositivo principal es el router. En pocas palabras, un router conecta una red con otra red.

La comunicación entre redes no sería posible sin un router que determine la mejor ruta hacia el destino y que reenvíe el tráfico al router siguiente en esa ruta. El router es responsable del routing del tráfico entre redes.

En la topología de la figura, los routers interconectan las redes en los diferentes sitios. Cuando un paquete llega a una interfaz del router, este utiliza la tabla de routing para determinar cómo llegar a la red de destino. El destino de un paquete IP puede ser un servidor web en otro país o un servidor de correo electrónico en la red de área local. Es responsabilidad de los routers entregar esos paquetes de forma eficaz. La efectividad de las comunicaciones de internetwork depende, en gran medida, de la capacidad de los routers de reenviar paquetes de la manera más eficiente posible.

Características de una red (1)

Las redes tuvieron un impacto considerable en nuestras vidas. Estas cambiaron la forma en que vivimos, trabajamos y jugamos.

Las redes nos permiten comunicarnos, colaborar e interactuar como nunca antes. Utilizamos la red de distintas formas, entre ellas las aplicaciones web, la telefonía IP, la videoconferencia, los juegos interactivos, el comercio electrónico, la educación y más.

Como se muestra en la ilustración, existen muchas características clave relacionadas con las estructuras y el rendimiento a las cuales nos referimos cuando hablamos de redes:

  • Topología: existen topologías físicas y lógicas. La topología física es la disposición de los cables, los dispositivos de red y los sistemas finales. Esta describe la forma en que los dispositivos de red se interconectan con los hilos y cables. La topología lógica es la ruta por la cual se transfieren los datos en una red. Describe cómo aparecen conectados los dispositivos de red a los usuarios de la red.
  • Velocidad: la velocidad mide la velocidad de datos de un enlace dado en la red en bits por segundo (b/s).
  • Costo: el costo indica el gasto general de la adquisición de componentes de red, así como de la instalación y el mantenimiento de la red.
  • Seguridad: la seguridad indica el nivel de protección de la red, incluida la información que se transmite a través de esta. El tema de la seguridad es importante, y las técnicas y las prácticas están en constante evolución. Siempre tenga en cuenta la seguridad cuando se tomen medidas que afecten la red.
  • Disponibilidad: la disponibilidad es la probabilidad de que la red esté disponible para ser utilizada cuando resulte necesario.
  • Escalabilidad: la escalabilidad indica la facilidad con la que la red puede admitir más usuarios y requisitos de transmisión de datos. Si un diseño de red está optimizado para cumplir solo con los requisitos actuales, puede resultar muy difícil y costoso satisfacer nuevas necesidades cuando la red crezca.
  • Confiabilidad: la confiabilidad indica la fiabilidad de los componentes que crean la red, como los routers, los switches, las computadoras y los servidores. A menudo, la confiabilidad se mide como la probabilidad de fallas o como el tiempo medio entre fallas (MTBF).

Estas características y atributos proporcionan un medio para comparar distintas soluciones de redes.

Nota: si bien el término “velocidad” se utiliza comúnmente para referirse al ancho de banda de red, no es del todo preciso. La velocidad propiamente dicha a la que se transmiten los bits no varía en el mismo medio. La diferencia en el ancho de banda se debe a la cantidad de bits transmitidos por segundo, no a la velocidad a la que se trasladan a través del medio cableado o inalámbrico.

Redirección

Section header image

Redirección 20

Agregar contenido a archivos en Linux puede hacerse de varias maneras. Linux posee algunos editores de texto que pueden usarse para agregar contenido a un archivo. Sin embargo, este método requiere cierta familiaridad con los comandos del editor de texto de Linux.

Nota

Los editores de texto de Linux están cubiertos en la siguiente sección de este curso.

En Linux, se puede agregar contenido a un archivo rápidamente usando una función de línea de comandos llamada redirección de entrada/salida (E/S) (input/output; I/O). La redirección E/S (I/O) permite enviar la información de la línea de comandos a archivos, dispositivos y otros comandos. La entrada o salida de un comando se redirige desde su destino predeterminado a una ubicación diferente. La redirección E/S es como una serie de vías de tren, donde se puede habilitar un conmutador para dirigir la salida de un comando a una vía diferente que vaya a otro lugar en el shell. En esta sección, escribiremos a archivos a través de la redirección de la salida de un comando hacia otro archivo.

Cuando se trata de comandos de entrada y salida, existen tres rutas, o “vías”. Estas rutas se denominan descriptores de archivos. El primer descriptor de archivo es la entrada estándar, abreviada como STDIN (standard input). La entrada estándar es la información que el comando recibe y procesa cuando se ejecuta, esencialmente lo que un usuario escribe en el teclado. El segundo descriptor de archivo es la salida estándar, abreviada como STDOUT (standard output). La salida estándar es la información que muestra el comando, la salida del comando. El último descriptor de archivo es el error estándar, abreviado como STDERR (standard error). STDERR, son los mensajes de error generados por comandos que no se ejecutan correctamente. Los siguientes son ejemplos de cómo aparecerán los descriptores de archivos en la terminal:

Entrada estándar (STDIN)

sysadmin@localhost:~$ ls ~/Documents

Salida estándar (STDOUT)

sysadmin@localhost:~$ ls                                                        
Desktop  Documents  Downloads  Music  Pictures  Public  Templates  Videos

Error estándar (STDERR)

sysadmin@localhost:~$ ls fakefile                                               
ls: cannot access fakefile: No such file or directory

Esta sección cubrirá uno de los tres descriptores de archivos, STDOUT, y cómo redirigir STDOUT desde donde normalmente aparece en el terminal, a un archivo en el sistema de archivos. Para ejecutar la redirección, simplemente use el símbolo “mayor que” > junto al nombre del archivo:

[COMANDO] > [ARCHIVO]

Para demostrar cómo funciona la redirección, usaremos la salida del comando cat. Sin redirección, la salida del comando cat se mostrará en el terminal:

Siga leyendo

Utilice el siguiente comando para cambiar al directorio Documents:

sysadmin@localhost:~$ cd ~/Documents
sysadmin@localhost:~/Documents$ cat food.txt                                    
Food is good.

Ahora utilice el carácter > para redirigir el STDOUT del comando cat food.txt anterior a un nuevo archivo llamado newfile1.txt:

sysadmin@localhost:~/Documents$ cat food.txt > newfile1.txt

Como puede ver, no se muestra ninguna salida ya que el STDOUT se ha redirigido al archivo newfile1.txt. Compruebe que el STDOUT del comando cat food.txt se encuentra en newfile1.txt:

sysadmin@localhost:~/Documents$ cat newfile1.txt                     
Food is good.

Esta función es útil si necesita copiar contenido de un archivo importante a otro archivo para editar su contenido sin modificar el archivo original. Sin embargo, ¿qué sucede si desea agregar un comentario o una nota a un archivo ya existente? Para hacer esto, puede usar el comando echo. El comando echo se utiliza para imprimir una salida en la terminal:

sysadmin@localhost:~/Documents$ echo "Hello"           
Hello                                                                   

Imprimir comentarios en la pantalla es una función curiosa, pero el comando echo puede ser más útil cuando se usa con la redirección. Mediante el comando echo, puede agregar contenido al archivo newfile1.txt:

sysadmin@localhost:~/Documents$ cat newfile1.txt         
Food is good.     
sysadmin@localhost:~/Documents$ echo "I like food." > newfile1.txt
sysadmin@localhost:~/Documents$ cat newfile1.txt             
I like food.                                           

Observe que el STDOUT del comando echo ha reemplazado el contenido original del archivo. Esto se debe a que el carácter > sobrescribe cualquier contenido de un archivo existente. Para añadir contenido a un archivo, en lugar de sobrescribir, utilice el símbolo “mayor que” dos veces >>:

sysadmin@localhost:~/Documents$ echo "This food is good." >> newfile1.txt
sysadmin@localhost:~/Documents$ cat newfile1.txt              
I like food.                                                      
This food is good.                                 

Importante

Para redirigir la información a un archivo existente, el usuario debe tener permisos de escritura para ese archivo.

 
 

Editor de texto

Section header image

Editor de texto 21

El principal editor de texto para Linux y UNIX es un programa llamado vi. Si bien hay numerosos editores disponibles para Linux incluyendo desde el pequeño editor nano hasta el editor masivo emacs, el editor vi tiene varias ventajas:

  • El editor vi está disponible en todas las distribuciones Linux del mundo. Esto no ocurre con ningún otro editor.

  • El editor vi se puede ejecutar tanto en una CLI (interfaz de línea de comandos) como en una GUI (interfaz gráfica de usuario).

  • Aunque se han añadido nuevas características al editor vi, las funciones principales han existido durante décadas. Esto significa que si alguien aprendió a usar el editor vi en la década de 1970, podrá usar la versión moderna sin ningún problema. Aunque eso pueda parecer trivial, puede que dentro de veinte años no sea tan trivial.

A tener en cuenta

La forma correcta de pronunciar el nombre del editor vi es vi-ay. Las letras vi representan visual, pero nunca se pronunció de esta manera. En su lugar se pronuncia la letra v (vi) seguida de la letra i (ay) en inglés.

En realidad, la mayoría de los sistemas Linux no incluyen el editor vi original, sino una versión mejorada del mismo conocida como vim (vi mejorada) (vi improved). Este hecho puede estar oculto en la mayoría de las distribuciones de Linux. En su mayor parte, vim funciona igual que vi, pero presenta funciones adicionales. Para los temas que se tratan en este curso, tanto vi como vim funcionarán perfectamente

Para comenzar a usar vi, simplemente escriba el comando seguido del nombre de ruta del archivo que quiere editar o crear:

sysadmin@localhost:~$ vi newfile.txt

Los tres modos utilizados en vi son los siguientes: modo de comando, modo de inserción y modo ex.

Modo de comando: Movimiento

Inicialmente, el programa empieza en modo de comando. El modo de comando se utiliza para escribir comandos, como los utilizados para desplazarse por un documento, manipular texto o acceder a los otros dos modos. Para volver al modo de comando en cualquier momento, presione la tecla Esc.

Una vez haya agregado texto a un documento, deberá presionar la tecla Esc para volver al modo de comando y realizar acciones como mover el cursor. Esto parece que sea mucho trabajo, pero recuerde que vi funciona en un entorno terminal en el cual un mouse es inservible.

Los comandos de movimiento en vi tienen dos aspectos, el movimiento (motion) y un prefijo numérico opcional (count) que indica cuántas veces se debe repetir ese movimiento. El formato general es el siguiente:

[número] movimento

En la siguiente tabla se resumen las teclas de movimiento disponibles:

Movimiento Resultado
h Un carácter a la izquierda
j A la línea siguiente
k A la línea anterior
l Un carácter a la derecha
w Una palabra adelante
b Una palabra hacia atrás
^ Al principio de la línea
$ Al final de la línea

Nota

En la actualización vim también es posible usar las teclas de flecha     en lugar de los caracteres h j k l respectivamente.

Estos movimientos se pueden anteponer con un número para indicar cuántas veces se debe realizar el movimiento. Por ejemplo, 5h moverá el cursor cinco caracteres a la izquierda y 3w moverá el cursor tres palabras a la derecha.

Para mover el cursor a un número de línea específico, escriba ese número de línea seguido del carácter G. Por ejemplo, para llegar a la quinta línea del archivo, escriba 5G. Puede usar 1G o gg para moverse a la primera línea del archivo, mientras que una G única le llevará a la última línea. Para averiguar en qué línea se encuentra el cursor, utilice CTRL+G.

Modo de comando: Acciones

La convención estándar para editar contenido con procesadores de texto es usando copiar, cortar y pegar. El programa vi no tiene ninguno de estos. En su lugar, vi utiliza los tres comandos siguientes:

Estándar Vi Significado
cortar d eliminar (delete)
copiar y sacar (yank)
pegar P | p poner (put)

Los movimientos aprendidos en la página anterior se utilizan para especificar dónde se llevará a cabo la acción, comenzando siempre con la ubicación actual del cursor. Cualquiera de los siguientes formatos generales es aceptable para comandos de acción:

acción [número] movimento
[número] acción movimento

Eliminar

Eliminar (delete) suprime el texto indicado de la página y lo guarda en el búfer, siendo el búfer el equivalente al “portapapeles” (clipboard) utilizado en Windows o Mac OSX. En la siguiente tabla se proporcionan algunos ejemplos de uso comunes:

Acción Resultado
dd Elimina la línea actual
3dd Elimina las tres líneas siguientes
dw Elimina la palabra actual
d3w Elimina las tres palabras siguientes
d4h Elimina cuatro caracteres hacia la izquierda

Cambiar

La función cambiar (change) es muy similar a la de eliminar; el texto se elimina y se guarda en el búfer. Sin embargo, el programa cambia a modo de inserción y permite la introducción de cambios inmediatos en el texto. En la siguiente tabla se proporcionan algunos ejemplos de uso comunes:

Acción Resultado
cc Cambiar la línea actual
cw Cambiar la palabra actual
c3w Cambiar las tres palabras siguientess
c5h Cambiar cinco caracteres hacia la izquierda

Sacar

Sacar (yank) coloca el contenido en el búfer sin eliminarlo. En la siguiente tabla se proporcionan algunos ejemplos de uso comunes:

Acción Resultado
yy Sacar la línea actual
3yy Sacar las tres líneas siguientes
yw Sacar la palabra actual
y$ Sacar el fragmento desde el cursor hasta el final de la línea actual

Poner

Poner (put) coloca el texto guardado en el búfer antes o después de la posición del cursor. Tenga en cuenta que estas son las dos únicas opciones, poner no utiliza movimientos como los comandos de acción anteriores.

Acción Resultado
p Poner o pegar después del cursor
P Poner antes del cursor

Buscar en vi

Otra función estándar que ofrecen los procesadores de texto es la función de búsqueda (find). A menudo, las personas usan CTRL+F o miran en el menú de edición. El programa vi utiliza la búsqueda. La función de búsqueda es más potente que la función find porque admite patrones de texto literales y expresiones regulares.

Para buscar hacia adelante desde la posición actual del cursor, use la / para iniciar la búsqueda, escriba un término de búsqueda y, a continuación, presione la tecla Enter para iniciar la búsqueda. El cursor se moverá al primer resultado que coincida con su término de búsqueda.

Para proceder al siguiente resultado coincidente usando el mismo patrón, presione la tecla n. Para volver al resultado anterior, presione la tecla N. Si se alcanza el final o el comienzo del documento, la búsqueda se ajustará automáticamente para continuar con el resto del documento.

Para empezar a buscar desde la posición del cursor hacia atrás, empiece por escribir ?, entonces escriba el patrón de búsqueda y presione la tecla Enter.

Modo Insertar

El modo Insertar se utiliza para agregar texto a un documento. Hay algunas maneras de entrar en el modo de inserción desde el modo de comando, cada una diferenciada por donde comienza la inserción de texto. La siguiente tabla presenta los más comunes:

Entrada Función
a Comenzar a insertar justo después del cursor
A Comenzar a insertar al final de la línea
I Comenzar a insertar justo antes del cursor
I Comenzar a insertar al principio de la línea
o Comenzar a insertar en una nueva línea después del cursor
O Comenzar a insertar en una nueva línea antes del cursor

Modo Ex

Originalmente, el editor vi se llamaba editor ex. El nombre vi era la abreviatura del comando visual en el editor ex que cambiaba el editor al modo “visual”.

En el modo normal original, el editor ex sólo permitía a los usuarios ver y modificar una línea cada vez. En el modo visual, los usuarios podían ver la mayor parte del documento que podía caber en la pantalla. Dado que la mayoría de los usuarios preferían el modo visual al modo de edición por línea, el archivo de programa ex se vinculó a un archivo vi. De este modo los usuarios podían iniciar ex directamente en modo visual al ejecutar el enlace vi.

Eventualmente, el archivo de programa fue renombrado vi y el editor ex se convirtió en un enlace que apuntaba al editor vi.

Cuando se utiliza el modo ex del editor vi, es posible ver o cambiar su configuración, así como ejecutar comandos de archivo como abrir, guardar o cancelar cambios en un documento. Para acceder al modo ex, escriba el carácter : en el modo de comando. En la tabla siguiente se enumeran algunas acciones comunes realizadas en modo ex:

Entrada Función
:w Escribir el documento actual al sistema de archivos
:w nombre_del_archivo Guardar una copia del documento actual bajo el nombre nombre_del_archivo
:w! Forzar escritura al documento actual
:1 Ir a la primera línea (o otra línea indicada por el número)
:e nombre_del_archivo Abrir nombre_del_archivo
:q Suspender (salir) (quit) si no se han realizado cambios al documento
:q! Suspender sin guardar los cambios realizados al documento

Un análisis rápido de la tabla anterior revela que cuando un signo de exclamación, ! , se agrega a un comando, se intentará forzar la operación. Por ejemplo, imagine que realiza cambios a un archivo en el editor vi y luego intenta salir usando :q, solo para descubrir que el comando falla. En este caso, el editor vi no quiere salir del documento sin guardar los cambios realizados, pero usted puede forzar la salida con el comando ex :q!.

A tener en cuenta

Aunque el modo ex ofrece varias maneras de guardar y salir, también está disponible el comando ZZ; éste es el equivalente a :wq. Hay muchas más funciones que se solapan entre el modo ex y el modo de comando. Por ejemplo, el modo ex se puede utilizar para navegar a cualquier línea del documento escribiendo : seguido del número de línea, mientras que G se puede utilizar en modo de comando como se ha demostrado anteriormente.

Siga leyendo

Si tiene un archivo de texto abierto, salga ejecutando el comando :q!. Esto lo cerrará sin guardar cambios.

~
~
:q!_
 
 

Apagar

Section header image

Apagar 15

El comando shutdown prepara el sistema para un apagado seguro. Todos los usuarios que han iniciado una sesión reciben la notificación de que el sistema se está apagando y se evitan nuevos inicios de sesión en los cinco minutos previos al apagado completo del sistema.

shutdown [OPCIONES] HORA [MENSAJE]

Siga leyendo

El comando shutdown requiere acceso administrativo, cambie a la cuenta root para esta sección utilizando el siguiente comando. Use netlab123 como contraseña.

sysadmin@localhost:~$ su -                                                   
Password:                                                                       
root@localhost:~#

¡En realidad nuestras máquinas virtuales no se apagan! Use el comando pero tenga en cuenta que, en lugar de apagar el sistema, solamente regresará a la línea de comandos. Quizás tenga que presionar Enter o Ctrl+C para volver a ver la línea de comandos.

root@localhost:~# shutdown now                                         
                                                                                
Broadcast message from sysadmin@localhost                                       
        (/dev/pts/0) at 2:05 ...                                              
                                                                                
The system is going down for maintenance NOW!

A diferencia de otros comandos utilizados para apagar el sistema, el comando shutdown requiere un argumento de tiempo para especificar cuándo debe comenzar el apagado. Los formatos de este argumento de tiempo pueden ser la palabra now (ahora), una hora del día en el formato hh:mm o el número de minutos de retraso utilizando el formato +minutos.

Piense sobre lo siguiente

El reloj de nuestro sistema puede estar configurado en una zona horaria diferente a la que se encuentra usted. Para verificar la hora en la terminal, use el comando date. En nuestras máquinas, el formato predeterminado de la salida del comando date es el siguiente:

dia_de_la_semana  mes  hora:minuto:segundo  UTC  año

o en ingles:

weekday month day hour:minute:second UTC year

Las letras UTC presentes en la salida indican que la hora se muestra de acuerdo con el Horario Coordinado Universal.

root@localhost:~# date                                                      
Sat Oct  3 01:50:07 UTC 2020 
root@localhost:~# shutdown 01:51                                                
                                                                                
Broadcast message from sysadmin@localhost                                       
        (/dev/pts/0) at 1:50 ...                                              
                                                                                
The system is going down for maintenance in 1 minute!

Broadcast message from sysadmin@localhost                                       
        (/dev/pts/0) at 1:51 ...                                              
                                                                                
The system is going down for maintenance NOW! 

El comando shutdown también posee la opción de añadir un mensaje como argumento. Este mensaje aparecerá en las terminales de todos los usuarios. Por ejemplo:

root@localhost:~# shutdown +1 "Goodbye World!"                                  
                                                                                
Broadcast message from sysadmin@localhost                                       
        (/dev/pts/0) at 3:07 ...                                              
                                                                                
The system is going down for maintenance in 1 minute!                           
Goodbye World!                                                                  
shutdown: Unable to shutdown system                                             
root@localhost:~#                                                             
Broadcast message from sysadmin@localhost                                       
        (/dev/pts/0) at 3:08 ...                                              
                                                                                
The system is going down for maintenance NOW!                                   
Goodbye World!
 
 

Filtrado de entradas

Section header image

Filtrado de entradas 14

El comando grep es un filtro de texto que busca líneas en una entrada y devolverá aquellas que coincidan con un patrón determinado.

grep [OPCIONES] PATRÓN [ARCHIVO]

Siga leyendo

Utilice el siguiente comando para cambiar al directorio Documents:

sysadmin@localhost:~$ cd ~/Documents

Si el siguiente ejemplo le devuelve un mensaje de error, repita el ejemplo de la Sección 11:

sysadmin@localhost:~/Documents$ cp /etc/passwd .

Por ejemplo, el archivo passwd que copiamos anteriormente al directorio Documents contiene los detalles de cuentas especiales del sistema y cuentas de usuarios en el sistema. Este archivo puede ser muy grande, sin embargo, el comando grep se puede utilizar para filtrar y obtener información sobre un usuario específico, como por ejemplo el usuario sysadmin. Utilice sysadmin como argumento de patrón y passwd como argumento de archivo:

sysadmin@localhost:~/Documents$ grep sysadmin passwd                               
sysadmin:x:1001:1001:System Administrator,,,,:/home/sysadmin:/bin/bash 

El comando anterior devolvió la línea del passwd que contiene el patrón sysadmin.

Nota

Esta línea es la entrada /etc/passwd que pertenece al usuario sysadmin y proporciona información que está más allá del alcance de este curso. Para obtener más información sobre este archivo, consulte NDG Linux Essentials.

El ejemplo anterior utiliza un término de búsqueda simple como patrón; sin embargo grep es capaz de interpretar patrones de búsqueda mucho más complejos.