Loe raamatut: «Sistema operativo GNU Linux»
Portada
Sistema Operativo GNU/Linux
Un enfoque práctico
Manuel Guillermo Flórez Becerra
Universidad Industrial de Santander
Facultad de Ingenierías Fisicomecánicas
Escuela de Ingeniería de Sistemas e Informática
Bucaramanga, 2021
Página legal
Sistema Operativo GNU/Linux
Un enfoque práctico
Manuel Guillermo Flórez Becerra*
*Profesor, Universidad Industrial de Santander
© Universidad Industrial de Santander
Reservados todos los derechos
Primera edición: noviembre de 2021
ISBN: 978-958-8956-34-3
ISBN ePub: 978-958-5188-11-2
Diseño, diagramación e impresión:
División de Publicaciones UIS
Carrera 27 calle 9, ciudad universitaria
Bucaramanga, Colombia
Tel.: (7) 6344000, ext. 1602
ediciones@uis.edu.co
Prohibida la reproducción parcial o total de esta obra,
por cualquier medio, sin autorización escrita de la UIS.
Impreso en Colombia
Dedicatoria
A mi esposa Jasmín, a mis hijos Manuel David y María Daniela
Agradecimientos
A la Universidad Industrial de Santander y a la Escuela de Ingeniería de Sistemas e Informática.
A los estudiantes del Grupo de Investigación CONUSS, Computación en la Nube Seguridad Servidores y Servicios, de la UIS.
A mis alumnos y exalumnos con los cuales he podido enseñar y aprender.
Al software libre y a todos los que comparten sus conocimientos a través de Internet.
Prólogo
Las ciencias e ingenierías de la computación y la información, lo que conocemos en Colombia como ciencias e ingeniería de sistemas, así como todas las áreas afines a lo computacional e informático, son un vasto conjunto de áreas y subáreas que entrelazan conocimientos científicos, que requieren unas fuertes competencias técnicas; capacidades cognitivas y creativas. Es por esta razón que el conocimiento de base cambia constantemente y nos exige un autoaprendizaje continuo.
Teniendo en cuenta la dinámica del cambio en el contexto y en el conocimiento, un libro de guía en computación, para apoyar procesos de aprendizaje, tanto de estudiantes de ingeniería como de ingenieros profesionales, que se preparan de manera más específica, es, sin duda, un gran reto, que solo puede asumirse desde la experiencia. Entonces, el autor de un libro con ese objetivo debe ser un instructor calificado o un profesor dedicado que pueda asumir exitosamente ese gran desafío.
El libro Sistema operativo GNU/Linux, un enfoque práctico, del profesor Manuel Guillermo Flórez Becerra, es una herramienta que ha sido construida a partir de una amplia experiencia. El profesor Flórez ha trabajado durante años con estudiantes del programa de Ingeniería de Sistemas e informática de la Universidad Industrial de Santander, tanto en los cursos regulares que él imparte como en el desarrollo de proyectos. De modo que no sorprende encontrar en su libro una excelente contribución al estudio de estas áreas, que tiene en cuenta la dinámica tecnológica, los avances en el conocimiento y la posibilidad de autoaprendizaje, tan necesaria en la actualidad.
En los catorce capítulos que contiene el libro no solo se logra introducir teóricamente al lector-estudiante en el sistema operativo GNU Linux, sino también motivarlo a la práctica, para enfrentarlo posteriormente a diferentes ejercicios. Mediante estos, el lector-estudiante podrá evaluar su capacidad de asimilación de los conocimientos técnicos, así como explotar su creatividad y plantearse nuevas preguntas. El enfoque práctico de este manual, que lo distingue de tantos otros, le permite constituirse también en material bibliográfico de apoyo para instructores. En ese sentido, el libro puede consultarse de manera salteada, por capítulos independientes, o puede ser un punto de partida para construir nuevos textos más avanzados, a fin de complementar los procesos de enseñanza-aprendizaje dirigidos a desarrollar conocimientos técnico-profesionales.
Finalmente, solo me queda agregar que el libro Sistema operativo GNU/Linux, un enfoque práctico es una notable contribución del profesor Flórez Becerra al fortalecimiento del conocimiento técnico necesario para abordar temas computacionales e informáticos. Todo el saber que ha adquirido en sus años de trabajo y en el desarrollo de proyectos específicos se comparte en este manual. Para mí, como exalumno de su curso de Sistemas Operativos, durante mis años de formación en pregrado, y hoy como colega, es un honor ser invitado por el profesor Flórez para escribir este prólogo.
Carlos Jaime Barrios Hernández, Ph.D.
Director de la Unidad de Supercomputación y Calculo Científico
Profesor asistente de la Escuela de Ingeniería de Sistemas e Informática
Universidad Industrial de Santander
Prefacio
El sistema operativo (SO) es el principal componente del software de un computador y se encarga de administrar los recursos del hardware de la máquina. Está compuesto por el núcleo (conocido como kernel en inglés) del sistema operativo, que contiene los módulos que administran el procesador, la memoria, los dispositivos de entrada/salida, el sistema de archivos y el software de red. Linux se originó del sistema operativo MINIX (versión de UNIX para PC), y fue creado por el finlandés Linus TORVALDS en 1991, con licencia GPL. Linux fue seleccionado como el kernel del proyecto GNU, liderado por Richard STALLMAN, y aunque su nombre es GNU/Linux, en la práctica se conoce como Linux.
Han existido diversas versiones del kernel Linux. La primera versión oficial 0.02 se lanzó en octubre de 1991. Otra como la 2.6.28 se lanzó en diciembre de 2008 y la última versión estable 4.10.12 se lanzó en abril de 2017. Esto confirma que es un software que evoluciona constantemente y con gran rapidez, mantenido por una comunidad mundial; entre los principales contribuyentes a este kernel se encuentran Google, Intel, Samsung, Red Hat y otros.
Linux se utiliza principalmente como el sistema operativo de máquinas servidores con gran confiabilidad y rendimiento, pero según la distro (distribución Linux) seleccionada puede servir para portátiles, tabletas, celulares, multimedia, entretenimiento, etc. Con este kernel se han desarrollado varias distribuciones. Entre las principales se encuentran la Debian, RedHat, CentOS, Fedora, Ubuntu, OpenSuse, Arch Linux (Rolling Release), Manjaro, Slackware, etc. Algunas tienen soporte comercial como Fedora (Red Hat) y Ubuntu (Canonical Ltda.); otras como Debian y Gentoo, son mantenidas por la comunidad mundial.
Las distribuciones contienen, además del kernel, el sistema de ventanas, el administrador de ventanas, el entorno gráfico de escritorio (Gnome o KDE), librerías, documentación, un sistema de empaquetamiento propio como DEB para Debian o RPM de Red Hat. La mayoría es software libre y dispone del lenguaje fuente, aunque hay algunas distribuciones que incluyen una parte de software privativo.
Objetivos
El propósito de este libro es presentar un material didáctico que incluya los principales temas del sistema operativo Linux, con énfasis en la parte práctica y pedagógica. Asimismo, se incluyen fundamentos teóricos que faciliten el aprendizaje, los cuales se han organizado en apartados de teoría, objetivos, autoevaluación, práctica y ejercicios; además, se refuerzan las temáticas con una amplia documentación en línea. Es un libro práctico de ayuda rápida para el aprendizaje, uso y administración del sistema operativo Linux.
¿A quiénes está dirigido?
El libro, cuya finalidad es facilitar el aprendizaje del sistema operativo Linux, es apropiado para estudiantes, docentes, administradores de servidores, ingenieros, profesionales y técnicos de la informática. En general, está dirigido a toda la comunidad que utiliza las TIC y que está interesada en aprender Linux
Organización
Este recurso didáctico está compuesto por catorce capítulos, cada uno de los cuales contiene una temática de Linux organizada en cinco partes: introducción y teoría del capitulo, objetivos, autoevaluación, práctica, ejercicios, anexos.
Las prácticas han sido probadas en su correcto funcionamiento con el uso de los últimos kernels sobre una distribución Debian. Las temáticas incluidas son:
I. Editores
Estudio del editor vim, prácticas con las principales funcionalidades, comandos, archivo de configuración, ejercicios, preguntas de evaluación; también se realizan ejemplos y ejercicios con el editor nano.
II. Entornos gráficos
Apartado orientado al entorno gráfico de Gnome, que es el estándar para la interfaz gráfica de los sistemas operativos Linux. Específicamente, se estudia Gnome 3.14, la vista de actividades, menús, ventanas, áreas de trabajo, barra de estado, múltiples entornos y la agilidad del uso del entorno mediante teclas rápidas shortcuts.
III. Máquinas virtuales
La virtualización es uno de los temas ineludibles en el área de la informática y uno de los componentes fundamentales en las arquitecturas de computación en la nube (cloud computing). Se presenta un enfoque teórico de los tipos de virtualización, además se realizan prácticas y ejercicios de instalación y configuración mediante el uso del monitor de máquinas virtuales VirtualBox.
IV. Instalación de Linux
Para su estudio en detalle se requiere de un curso completo, en este libro, el tema se enfoca en la instalación de una distribución Debian. Además, se hace énfasis en la configuración manual de las particiones del disco y en su organización como volúmenes lógicos o LVM (logical volume managment).
V. Comandos
Para los administradores es muy práctico usar comandos desde una terminal de caracteres, ya sea local o remota, por razones de velocidad, seguridad y agilidad para realizar tareas administrativas. Este capítulo se enfoca en la práctica de los principales comandos, tanto para usuarios como para administradores, entre los que se encuentran cd, mkdir, touch, ls, tar, chmod, chown, ps, psw, which, cron, find, adduser, vmstat, etc.
VI. Inicio del sistema y servicios
Aborda los diferentes niveles de ejecución, desde el "single" o monousuario hasta el multiusuario y el modo de ejecución por defecto. También trata la estructura, el encendido y apagado de los diferentes servicios en cada nivel e incluye una simulación de la implementación de un servicio.
VII. Gestión e instalación de aplicaciones
Incluye el estudio de repositorios para acceder a las aplicaciones precompiladas y con código fuente, así como las herramientas para la manipulación de la instalación, mantenimiento y eliminación. Se realizan prácticas con las principales herramientas para las distribuciones Debian: apt, dpkg, aptitude. Asimismo, se practica con la instalación de aplicaciones desde el código fuente mediante el uso de la herramienta make.
VIII. Procesos
Los procesos son los programas en ejecución que consumen recursos del computador. Las prácticas usan las herramientas ps y top para administrar y conocer los atributos de un proceso, el porcentaje de RAM que ocupa, el porcentaje de CPU que consume, la carga total del sistema o el grado de ociosidad de la CPU, la eliminación de procesos que ralentizan el sistema, etc.
IX. Compilación de programas, automatización de proyectos
Incluye prácticas de compilación y enlace del código fuente mediante el uso del compilador gcc, así como la construcción de librerías estáticas y librerías dinámicas para organizar el código ejecutable. Igualmente, se estudia la automatización del proceso de compilación y enlace a través de la herramienta make.
X. Compilación del kernel
Se plantean las estrategias para compilar un kernel y el procedimiento que se lleva a cabo para conseguir la fuente del kernel, y se revisa su configuración de acuerdo con las necesidades e implementación.
XI. Shell parte I.
Se presenta la historia del Shell y sus principales características como intérprete de comandos y como lenguaje de programación. Además, se elaboran los primeros scripts con las sentencias básicas del lenguaje y sentencias condicionales, se definen variables globales y locales, las variables del entorno y las variables del Shell. Igualmente, se trata el uso de los diferentes tipos de entrecomillado.
XII. Shell parte II.
Los ejercicios utilizan sentencias iterativas o bucles y los parámetros posicionales. Se elaboran guiones con estructuras cíclicas y manejo de la recursividad.
XIII. Shell parte III
Uso de la estructura Case, arreglos y funciones. También se estudia la herramienta gawk con ejemplos prácticos.
XIV. Llamadas al sistema
Las llamadas al sistema permiten la comunicación del usuario programador con el sistema operacional desde un lenguaje de programación. Se presenta el menú de llamadas, desde el lenguaje C, agrupadas por procesos, tiempo, archivos, entre otros, con su respectivo código fuente.
Capítulos
Los nombres de los capítulos indican al lector de manera intuitiva sobre su contenido; sin embargo, algunos temas tienen un grado de extensión y profundización mayor que otros, y por su importancia y su relativa complejidad requieren de mayor tiempo de estudio y práctica. En temas como máquinas virtuales, instalación de Linux, instalación de aplicaciones, Shell y, en general, en todos los capítulos, el texto está reforzado con las principales referencias a los sitios web encargados de su publicación y mantenimiento. Además, para el uso de comandos se dan las instrucciones precisas de consulta en el manual de referencia incorporado en el sistema. Cada tema es tan amplio que podría convertirse en un nuevo texto, por lo cual el enfoque del libro consiste en extraer y sintetizar de este mar de conocimientos los aspectos fundamentales que faciliten el aprendizaje, de tal manera que, al finalizar el curso, el estudiante sienta la experiencia con el sistema operativo Linux y disponga de una bibliografía para profundizar sus conocimientos.
Lo que no se incluye
No hace parte de este libro el estudio de las aplicaciones de la distribución Debian, pero se hace referencia a la página que contiene los manuales, su uso y documentación. Tampoco se incluye la interpretación del software fuente del sistema operativo, de los módulos y bibliotecas. En algunos temas como instalación de Linux e instalación de aplicaciones, las practicas están enfocadas a Debian. Los temas que son independientes del distro, tales como el Shell, Gnome, comandos, procesos, editores y máquinas virtuales, son funcionales en cualquier distribución.
Cláusula de no garantía
Todas las prácticas y demás ejercicios han sido probados en su correcto funcionamiento en el entorno Linux Debian; sin embargo, no se asume responsabilidad por cualquier tipo de daño ocasionado en su aplicación.
Convenciones tipográficas
<enter> | Oprimir la tecla <enter> ↵ |
| Tecla de retroceso o backspace |
X Y Z | Secuencia de comandos o secuencia de opciones de menú |
Ctrl+F2 | Oprimir las dos teclas en mención simultáneamente, nomenclatura insensible a mayúsculas o minúsculas |
Ctrl+Alt+F1 | Oprimir las tres teclas simultáneamente, nomenclatura insensible a mayúsculas o minúsculas |
// | El texto después de los dos slash se interpreta como comentarios del autor |
Negrita | Para hacer referencia a nombres de comandos, menús, nombres de aplicaciones, etc. Por ejemplo:Archivo Guardar // secuencia de comandos de menú |
Negrita monoespacio | Un texto escrito en negrita monoespaciado indica un comando que se ingresará por la terminal o también significa la combinación de dos o más teclasEjemplo: ls //escriba ls y después pulse la tecla <enter>Ejemplo: Ctrl+Alt+F1 //simultáneamente oprimir las teclas mencionadas |
Cursiva | Palabras que no se escriben tal cual está redactado, el usuario introduce un valor personalizado de acuerdo con las circunstancias, por ejemplo: less archivoarchivo se debe reemplazar por un nombre real de archivo del usuario |
Cursivas-negrita monoespaciado | Palabras que no se escriben tal cual está redactado, son variables que cambian de acuerdo con las circunstanciasPor ejemplo: estructura de una dirección de e_mail: nombre@proveedor |
Uso de corchetes [ ] | [ opción 1 | opción 2 | …. ]: para seleccionar una de varias opciones separadas por el símbolo | |
Uso de llaves { } | El contenido entre las llaves es opcional |
Uso de , o ; | Puntuación usada en algunos casos para delimitar la terminación de un comando, pero que no forma parte de este |
Nota o aclaración del tema | |
Ejercicio propuesto antes de la sección general de ejercicios | |
Usar el teclado |
Editores
Introducción
La instalación de un sistema operativo incluye instalar el kernel y diversas herramientas orientadas a usuarios, programadores y administradores; los editores de texto son indispensables para la creación y modificación de programas, son la herramienta básica para el mantenimiento y configuración del sistema.
Existen varias clases de editores según los tipos de archivos. En Linux, los editores de texto facilitan la elaboración y depuración de programas, scripts, archivos de caracteres tipo ASCII y, principalmente, el mantenimiento de los archivos de configuración del sistema localizados en la carpeta /etc. Linux dispone de editores tales como vi, vim, nano, pico, sed, etc., para terminales gráficas usar gedit, gvim, entre otras.
La importancia de los editores de caracteres se basa en la potencia de los comandos para realizar la totalidad de las actividades administrativas del sistema. Es por esta razón que existen los scripts de administración, escritos como archivos de caracteres, mientras que los entornos gráficos, en muchas ocasiones, ofrecen una administración parcial de las funcionalidades. En un Data Center y, hoy en día, en una plataforma de computación en la nube, por seguridad y eficiencia, se recomienda mantener el sistema con las gráficas desactivadas y se hace necesario realizar el mantenimiento desde terminales remotas orientadas hacia caracteres.
El editor por defecto en los kernels de Linux es el editor vi. En este laboratorio se trabaja con el editor vim que es una versión mejorada del vi; también se usa el editor nano por su facilidad de operación a través de los menús.
En este capítulo se realizan prácticas con las funcionalidades básicas y de mayor uso con los editores; para recordar las opciones y parámetros del editor, se debe hacer uso del Manual de referencia en línea del editor y, en general, para todos los comandos y aplicaciones Linux, es necesario aplicar la misma estrategia.
man [nombre_comando | nombre_aplicación]; en este caso man vim; man significa manual de referencia.
Para consulta de comandos, se sugiere aplicar man realizando tubería con el comando less:
Ejemplo: man vim | less -I
Editores vim y nano
Objetivos
• Editar archivos de texto con el editor vim y el editor nano.
• Dibujar un esquema conceptual de los estados del editor vim que incluya las teclas necesarias para realizar cambios de estado.
• Aplicar comandos del editor para crear un archivo de texto, insertar, modificar y cancelar líneas.
• Aplicar comandos para buscar y reemplazar palabras en el archivo editado.
• Copiar, cortar y pegar secciones de texto.
• Guardar total o parcialmente el archivo editado.
• Autodocumentarse en el uso de los manuales en línea y la ayuda del editor vim.
• Practicar con los comandos del editor vim mediante el uso del vimtutor.
• Realizar los ejercicios del editor vim mediante el uso del editor nano.
Autoevaluación
• Solicite mediante comandos diferentes editores de texto en Linux:
vi, vim, gvim, nano, gedit.
• Mencione los diferentes estados del editor vim y los eventos que hacen cambiar de un estado a otro. Elabore un diagrama de estados.
• Realice las siguientes operaciones cuando esté en el modo edición del editor:
a) Numere las líneas.
b) Busque una palabra.
c) Busque una palabra y reemplácela.
d) Vaya al comienzo y al final del archivo.
e) Borre líneas y párrafos.
f) Realice búsquedas insensibles al contexto.
• Realice las siguiente operaciones cuando esté en el modo comando del editor:
a) Salga del archivo mediante la actualización de cambios.
b) Salga sin actualizar cambios.
c) Grabe el archivo con un nombre.
d) Genere un archivo con una parte del archivo que se edita.
e) Trabaje con bloques: copiar, borrar, pegar.
• ¿Qué significa modo del editor sensible o insensible al contexto?
• ¿Cómo dividir la ventana del editor?
• ¿En dónde se guarda el archivo que se edita?
Práctica
Diagrama de estados o modos del editor vim
• Abra una consola de comandos; previamente debe tener instalada una máquina con sistema operativo Debian.
a) Debian 8 (Jessie). Actividades terminal.
b) Debian 7 (Wheezy).
Menú aplicaciones herramientas del sistema terminal.
• Grabe un archivo con el editor vim.
a) Verifique si vim se encuentra instalado.
aptitude show vim.
b) Si no está instalado, proceda a su instalación como usuario administrador.
aptitude install vim // como usuario administrador.
c) Sobre la terminal de comandos teclee vim.
d) En modo editor, teclee i para comenzar a incluir las estrofas del himno UIS.
Salve Atenas, gloriosa y bendita
que en el cielo te vimos nacer,
de esa tierra que ardiente palpita
con el alma del gran Santander (bis).
Es la ciencia destello divino
para el hombre sublime esplendor
y que eleva su noble destino
por senderos de gloria y honor.
Letra: FELIX MARTINEZ, Pbro.
Música: ANDRES ROSA, Pbro.
• Grabe el archivo en el directorio corriente con el nombre himno_uis.
a) Para grabar un archivo, use el modo dos puntos, también llamado modo comandos, y teclee Esc Shift + : w himno_uis
Alternativa: puede salir y grabar mientras está en modo comando :x en caso de que ya exista el nombre del archivo o que salga sin grabar :q
b) Para regresar al modo normal o modo editor, oprima la tecla Esc una o varias veces.
• Divida la ventana del editor en dos.
a) Pase a modo comando Esc Shift + :
b) Divida la ventana split.
c) Ctrl+ww para intercambiar entre ventanas.
d) Cierre una ventana :close // en modo comando.
• Numere las líneas del editor.
a) :set number.
• Active búsquedas insensibles al contexto.
a) :set ic // no diferencia mayúsculas de minúsculas.
• Grabe parcialmente un archivo.
a) : 6,20 w prueba grabe desde la línea 6 hasta la 20 del editor actual a un archivo prueba.
• Lea un archivo externo.
a) :r { <trayectoria> } arch_texto; debe leer el archivo llamado arch_texto ubicado en el directorio donde se especifica la trayectoria; si omite la trayectoria, el archivo se lee del directorio corriente.
Por ejemplo: :r /home/opertivos/guion.txt
• Encuentre una palabra cuando esté en modo editor /palabra.
Ejemplo: En modo editor, teclee /saber, entonces ubíquese en donde encuentre la palabra saber; para continuar la búsqueda teclee n; también puede realizar la búsqueda cuando esté en modo comando.
Ejemplo: : /saber.
• Encuentre y reemplace una palabra en todo el archivo, con confirmación.
a) :%s/palabra1/palabra2/c
• Encuentre y reemplace una palabra en todo el archivo, sin confirmación.
:%s/palabra1/palabra2/
• Para volver al estado anterior, es decir, para anular el reemplazo realizado, teclee u en modo editor.
• En modo comando, escriba el símbolo ! para llamar a Shell (intérprete de comandos), seguido de un comando del sistema operativo, es decir, puede ejecutar un comando del sistema operativo. Por ejemplo: en modo comando ejecute !ps.
• En modo editor, posiciónese en la línea 5; copie la línea en un buffer tecleando el comando nyy o Y n, esto significa el número de líneas que se van a copiar.
Por ejemplo: Posiciónese en la línea 5, copie y pegue después de la línea 10
5gg.
1yy //alternativa: Y
10gg
p
• Elimine una línea cuando esté en modo editor.
a) Posiciónese en la línea.
Ejemplo: 5gg.
b) Elimine: dd.
• Edite un archivo a partir de un número de línea específico.
a) vim +n nom_archivo donde n es en número de línea.
• Edite un archivo a partir de un patrón específico.
a) vim + /patron nom_archivo.
• Edite un archivo comenzando con líneas numeradas.
vim +“set number” nom_archivo.
Para activar una configuración personalizada, edite el archivo ~/.vimrc; si no existe ese archivo, cópielo desde /usr/share/vim/vim74/vimrc o desde
/etc/vim
cp /etc/vim/vimrc $HOME/.vimrc
Nota: el símbolo de la virgulilla ~ siempre se refiere al directorio HOME del usuario, es decir, al directorio del usuario.
• Copie, pegue y deshaga.
a) Pase a modo comando: Shift + :
b) 1,10 y // copie en el buffer las diez primeras líneas; no use yy.
c) Ubíquese en la línea 3: en modo editor 3 gg.
Alternativa: en modo comando solo el número 3.
d) Pegue el contenido del buffer: p.
e) Deshaga el comando anterior, en modo editor teclear u.
• Corte y pegue.
a) Realice los mismos pasos anteriores, solo cambie el comando 1,10 y por 1,10 d
• Muévase dentro del archivo.
a) Vaya al final del archivo. En modo editor, teclee Shift+g, es decir, G.
b) Vaya al inicio del archivo. En modo editor, teclee gg.
c) Posiciónese en cualquier línea: en modo editor ngg o nG posicione el cursor en la línea n.
Ejemplo: 7gg se posiciona en la línea 7.
Alternativa: 7G
Para usar el manual de referencia, cuando esté dentro del editor vim, vaya a modo comando help; active el ratón :set mouse=a; en una Xterm use doble clic o Ctrl-] para entrar a un tópico en especial, y ubíquese dentro del tema.
Ejemplo: para saber del comando dd, pase a modo comando y teclee help dd.
Nota: para salir de ayuda Shift + : q!
Editor nano
• En una terminal, teclee nano.
• En un explorador Web:
https://www.uis.edu.co/webUIS/es/acercaUis/simbolos/index.html
copie el himno de la UIS y péguelo dentro del editor nano.
• Guárdelo con el nombre himno-uis
Ctrl+x dele aceptar y escriba el nombre himno-uis.
• Ejercicio: copie la primera estrofa del himno después del segundo párrafo.
a) Entre al editor pasando como parámetro el archivo que va a editar:
nano himno-uis.
Posiciónese con el cursor en la primera línea.
→ Ponga una marca de bloque: <esc>a.
Con el cursor seleccione el bloque de la primera estrofa.
Copie en el buffer: <esc>6.
Posiciónese al final o donde se quiera copiar: <esc> /.
Copie el bloque guardado en el buffer: Ctrl+u.
Salga y grabe Ctrl+x.
b) Use la ayuda de nano Ctrl+g; en esta ayuda [M-] significa <esc> o <Alt>.
c) ^ es equivalente a la tecla Ctrl o a la secuencia <esc><esc>
d) <esc>a inicio de marcación de un bloque.
e) <esc>6 fin de marca de bloque y copia al buffer.
f) <esc><esc>6 secuencia para eliminar una marca de bloque.
g) <esc>\ se posiciona al inicio.
h) <esc>/ se posiciona al final.
Nota: <esc>a después de haber iniciado la marca, también elimina la marcación.
i) Un bloque marcado (resaltado) se puede eliminar del texto con Ctrl+k; después de eliminar un bloque, se puede volver a poner con Ctrl+u.
j) Elimine una línea: posiciónese sobre la línea y luego utilice Ctrl+k.
Importante: Si está usando una Xterm (terminal gráfica orientada a caracteres), puede hacer uso del arrastre del ratón para seleccionar copiar y pegar para evitar las marcaciones con el teclado.
Ejercicios
• Explique el significado del diagrama de estados del editor vim.
• Grabe un archivo llamado bebés con el siguiente texto: “Hace unos años se está practicando en Colombia un método novedoso para potencializar el desarrollo de las capacidades intelectuales del bebé antes de su nacimiento en el vientre uterino.
El procedimiento llamado estimulación temprana ha sido promovido por la fundación Centro de Recursos para Padres, creada para resolver las inquietudes de las madres, quienes asistieron a una conferencia dictada por el Dr. Glenn Doman de Filadelfia sobre cómo multiplicar la inteligencia del bebé”.
• En modo normal, cambie las palabras Dr. Glenn por Doctor Glenn; cambie en todo el texto con un solo comando la frase del bebé por de los bebés.
• Ubique el cursor a comienzo de la línea, encuentre la primera ocurrencia de la palabra bebé y luego continúe la búsqueda hasta encontrar la segunda ocurrencia.
• Numere las líneas que está editando.
• Copie todo el segundo párrafo (bloque) a un buffer y luego péguelo al comienzo del texto.
a) Cambie al modo dos puntos (:) también llamado modo comando
esc shift+:
b) 1,4 y // copia en el buffer las cuatro primeras líneas.
c) En modo editor, ubique el cursor donde quiere pegar, luego teclee p.
• Para cortar y luego pegar, utilice la misma sintaxis de copiar pero con el comando d y luego p. Por ejemplo: en modo dos puntos.
a) 1,4 d // corta.
b) En modo editor, ubique el cursor donde quiere pegar, luego teclee p.
• Mueva el primer párrafo del dictado al final y el último al comienzo.
• Llame un editor gráfico. Por ejemplo: gvim. Si no existe, cárguelo usando el siguiente comando: aptitude install gvim
Nota: Debe estar como usuario root para ejecutar el comando anterior.
• Ubíquese en el siguiente sitio web:
https://www.uis.edu.co/webUIS/es/acercaUis/simbolos/index.html
baje el himno de la UIS y péguelo en el editor gráfico gvim, use la interfaz gráfica para guardarlo en un archivo llamado himno-uis2.