Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Módulo y Ordenes Shell Bash, Apuntes de Ingeniería Infórmatica

Asignatura: Fundamentos del Software, Profesor: Garvi, Eladio, Carrera: Ingeniería Informática, Universidad: UGR

Tipo: Apuntes

2014/2015

Subido el 31/08/2015

iphaco
iphaco 🇪🇸

1.6

(5)

1 documento

1 / 85

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Módulo I. Órdenes Unix y Shell Bash 1
Fundamentos del Software
Prácticas
Módulo I
Órdenes UNIX y Shell Bash
22-sep-2014
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b
pf4c
pf4d
pf4e
pf4f
pf50
pf51
pf52
pf53
pf54
pf55

Vista previa parcial del texto

¡Descarga Módulo y Ordenes Shell Bash y más Apuntes en PDF de Ingeniería Infórmatica solo en Docsity!

Fundamentos del Software

Prácticas

Módulo I

Órdenes UNIX y Shell Bash

22 - sep- 2014

Lenguajes y Sistemas Informáticos Universidad de Granada

Grado en Ingeniería Informática y

Doble Grado en Ingeniería Informática y Matemáticas

Departamento de Lenguajes y Sistemas Informáticos

E.T.S. Ingenierías Informática y de Telecomunicación

Universidad de Granada

  • Práctica 1: Introducción a un entorno gráfico de UNIX Contenido
    • 1.1 Introducción
    • 1.2 Objetivos principales
    • 1.3 Introducción y políticas de seguridad
    • 1.4 Instalación sencilla de un sistema operativo Linux
      • 1.4.1 Instalación de una máquina virtual (VirtualBox)..................................................................................
      • 1.4.2 Instalación de Ubuntu Linux en VirtualBox
    • 1.5 Introducción a la Interfaz
      • 1.5.1 Identificación en los ordenadores de la ETSIIT
      • 1.5.2 Interfaces comunes
      • 1.5.3 Gnome vs. KDE
      • 1.5.4 Explorando ficheros y carpetas
      • 1.5.5 Tipos de archivos y propiedades
      • 1.5.6 Editores del sistema
  • Práctica 2: Órdenes básicas de UNIX/Linux.........................................................................................
    • 2.1 Introducción
    • 2.2 Objetivos principales
    • 2.3 Los intérpretes de órdenes
      • 2.3.1 Orden man
      • 2.3.2 Órdenes Linux relacionadas con archivos y directorios
    • 2.4 Metacaracteres de archivo
  • Práctica 3: Permisos y redirecciones
    • 3.1 Objetivos principales
    • 3.2 Modificación de los permisos de acceso a archivos
    • 3.3 Metacaracteres de redirección
      • 3.3.1 Redirección de la entrada estándar ( < )
      • 3.3.2 Redirección de la salida estándar ( > , >> )
      • 3.3.3 Redirección del error estándar ( &> , &>> )
      • 3.3.4 Creación de cauces ( | )..................................................................................................................
    • 3.4 Metacaracteres sintácticos
      • 3.4.1 Unión de órdenes en la misma línea ( ; )
      • 3.4.2 Combinación de órdenes con los paréntesis
      • 3.4.3 Ejecución condicional de órdenes ( && , || )
  • Práctica 4: Variables, alias, órdenes de búsqueda y guiones Lenguajes y Sistemas Informáticos Universidad de Granada
    • 4.1 Objetivos principales
    • 4.2 Variables...............................................................................................................................................
      • 4.2.1 Tipos de variables
      • 4.2.2 Contenido de las variables
      • 4.2.3 Creación y visualización de variables
      • 4.2.4 Exportar variables
      • 4.2.5 Significado de las diferentes comillas en las órdenes
      • 4.2.6 Asignación de resultados de órdenes a variables
    • 4.3 La orden empotrada printf
    • 4.4 Alias
    • 4.5 Órdenes de búsqueda: find y grep, egrep, fgrep
      • 4.5.1 Orden find
      • 4.5.2 Órdenes grep, egrep y fgrep
    • 4.6 Guiones
      • 4.6.1 Normas de estilo
  • Práctica 5: Expresiones con variables y expresiones regulares
    • 5.1 Objetivos principales
    • 5.2 Expresiones con variables
      • 5.2.1 Operadores aritméticos
      • 5.2.2 Asignación y variables aritméticas
      • 5.2.3 Operadores relacionales
      • 5 .2.4 Operadores de consulta de archivos
      • 5.2.5 Orden if / else
    • 5.3 Expresiones regulares............................................................................................................................
      • 5.3.1 Patrones en expresiones regulares
      • 5.3.2 Expresiones regulares con órdenes de búsqueda
      • 5.3.3 Ejemplos de utilización de expresiones regulares
  • Práctica 6: Programación del shell
    • 6.1 Objetivos principales
    • 6.2 Lectura del teclado
    • 6.3 Orden for
    • 6.4 Orden case
    • 6.5 Órdenes while y until
    • 6.6 Funciones
      • 6.6.1 Variables locales en funciones. Parámetros
    • 6.7 Ejemplos realistas de guiones Prácticas de Fundamentos del Software Módulo I. Órdenes Unix y Shell Bash
      • 6.7.1 Elimina directorios vacíos
      • 6.7.2 Muestra información del sistema en una página html
      • 6.7.3 Adaptar el guion al sistema operativo donde se ejecuta
      • 6.7.4 Mostrar una raya girando mientras se ejecuta una orden
    • 6.8 Archivos de configuración
  • Práctica 7: Depuración y control de trabajos
    • 7.1 Objetivos principales
    • 7.2 Características de depuración en bash
      • 7.2.1 Opciones de depuración en bash
      • 7.2.2 Realizar la traza con la orden trap
      • 7.2.3 Aserciones
    • 7.3 Control de trabajos en bash
      • 7.3.1 La orden jobs
      • 7.3.2 Las órdenes fg, bg y %
      • 7.3.3 Esperando a procesos en segundo plano
      • 7.3.4 Eliminando procesos con las órdenes disown y kill/killall
      • 7.3.5 Examinando el estado de los procesos con ps
      • 7.3.6 Examinando los procesos en ejecución con top

Lenguajes y Sistemas Informáticos Práctica 1. Introducción a un entorno gráfico de UNIX

Práctica 1: Introducción a un entorno gráfico de

UNIX

1.1 Introducción

Esta parte se dedica a la instalación sencilla de un sistema operativo basado en Linux y al manejo de la interfaz de usuario para sistemas Unix/Linux

1.2 Objetivos principales

 Instalación de un sistema operativo Unix/Linux.  Saber entrar y salir en los ordenadores del aula.  Saber utilizar una sesión como usuario en un sistema Unix/Linux.  Saber ejecutar programas y localizarlos en la interfaz.  Conocer el manejo de rutas y los conceptos relacionados con este.

En las aulas se dispone de acceso identificado, mediante usuario (user) y contraseña de acceso (password).

1.3 Introducción y políticas de seguridad

Es importante comprender que un usuario y contraseña asocian a un usuario real con uno virtual, identificándolo en el sistema. Para ello es recomendable:

 Evitar contraseñas que tengan algún significado como nuestra fecha de nacimiento, nuestro teléfono, el nombre de nuestros familiares, etc.  Evitar contraseñas que sean palabras o nombres propios en cualquier idioma, ya que hay sofisticados programas de ataques por diccionario que reúnen todos estos términos y los van comprobando sistemáticamente.  No escribir nuestras contraseñas en un papel y menos dejarlo en un lugar accesible como al lado del teclado.  Tampoco deberíamos enviar nuestras contraseñas por correo, messenger, etc.  No debemos emplear la misma contraseña para todo.

 Para evitar el "phishing" nunca debemos responder correos donde nos soliciten nuestras contraseñas o datos

y, menos aún, del banco.  Trataremos que nuestras contraseñas sean de por lo menos 8 caracteres o más.  La contraseña debe tener letras en mayúsculas, minúsculas y números. Si el sistema lo admitiera también sería recomendable añadirle algún carácter no alfanumérico como un corchete, un asterisco etc. Esto es debido a que existen programas de ataques por fuerza bruta que van probando todas las combinaciones posibles de manera que cuanto más larga sea nuestra contraseña y más variedad de elementos contenga el número de combinaciones crece exponencialmente.  Cambiar periódicamente la Contraseña.

1.4 Instalación sencilla de un sistema operativo Linux

Dado que se interaccionará con un sistema operativo Unix/Linux a lo largo del periodo de aprendizaje de ésta y de otras asignaturas a lo largo de la titulación de grado, se considera de especial importancia ilustrar de qué forma se puede disponer de un ordenador con un sistema operativo Linux instalado. En las aulas de la ETSIIT no se podrán realizar instalaciones de ciertos programas pero sí en los ordenadores de sobremesa y/o portátiles de adquisición

Lenguajes y Sistemas Informáticos Universidad de Granada

propia. En ese sentido, dado que muchos disponen de ese equipamiento en sus casas y así poder desempeñar parte del trabajo a realizar, mostraremos a continuación una forma de instalar un sistema operativo linux en esos ordenadores que, en la amplia mayoría de los casos, dispone de un sistema operativo basado en windows (xp, vista, 7, etc.).

Si ya se dispone de un ordenador con un sistema operativo windows instalado, existen varias formas de instalar un sistema operativo linux disponible también en el mismo ordenador sin pérdida alguna de funcionalidades. Las opciones serían:

a) Particionar el disco del ordenador y disponer de un espacio para windows y otro para linux. Aquí sólo podríamos arrancar el ordenador eligiendo uno de los sistemas operativos instalados, es decir, no sería posible ejecutarlos de forma conjunta, con lo cual, pasar de un sistema a otro requeriría el reinicio del ordenador. b) A partir de un sistema operativo instalado (windows, OS X o Linux) instalar un software de máquina virtual para montar cualquier otro sistema operativo. En este caso, se podría disponer de varios sistemas operativos ejecutados de forma conjunta dado que una máquina virtual no es más que otro proceso que se ejecutaría en nuestro sistema.

De las dos opciones anteriormente mostradas, se mostrará en este guión la opción (b) y, partiendo de un ordenador con windows instalado, proceder a instalar una máquina virtual y luego un sistema operativo linux.

1.4.1 Instalación de una máquina virtual (VirtualBox)

Según reza la wikipedia, VirtualBox es un software de virtualización para arquitecturas, creado originalmente por la empresa alemana innotek GmbH. Actualmente es desarrollado por Oracle Corporation como parte de su familia de productos de virtualización. Por medio de esta aplicación es posible instalar sistemas operativos adicionales, conocidos como «sistemas invitados», dentro de otro sistema operativo «anfitrión», cada uno con su propio ambiente virtual. ¿Qué se entiende por virtualización? bueno en informática virtualización es la posibilidad de estar ejecutando más de un sistema operativo simultáneamente. Esto quiere decir que podemos estar usando algún sistema operativo base como Linux, Windows o OS X y, sobre él, ejecutar un software de virtualización (VirtualBox). Dicho software utilizará parte de los recursos del sistema anfitrión para proporcionarselos al sistema operativo que se ejecute sobre dicha máquina virtual. Los recursos que se “piden prestados” son:

 Parte del disco duro, que constituirá un disco virtual sobre el que instalará el sistema (o sistemas) operativos que deseamos que puedan arrancar y funcionar sobre la máquina virtual.  Parte de la memoria principal (RAM), para poder ejecutar el sistema operativo invitado y, por supuesto, las aplicaciones que se ejecuten sobre éste.  Parte de la memoria de la Tarjeta gráfica, para poder utilizar los recursos de salida gráfica del hardware real.

Entre los sistemas operativos soportados (en modo anfitrión) se encuentran GNU/Linux, OS X, OS/2 Warp , Microsoft Windows, y Solaris/OpenSolaris, y dentro de ellos es posible virtualizar los sistemas operativos FreeBSD, GNU/Linux, OpenBSD, OS/2 Warp, Windows, Solaris, MS-DOS y muchos otros.

Para instalar VirtualBox en nuestro ordenador con windows sólo es necesario descargar el programa en cuestión del siguiente enlace: https://www.virtualbox.org/wiki/Downloads

Figura 1. 1. Página de descarga de VirtualBox.

Lenguajes y Sistemas Informáticos Universidad de Granada

Tal y como se ha dicho al comienzo de esta sección, ahora habrá que definir los parámetros esenciales de esta máquina virtual. En la siguiente figura se indica que se va a crear una denominada Ubuntu Linux y, automáticamente, VirtualBox refleja que la máquina tendrá un sistema operativo basado en Linux con una distribución de ubuntu.

1.4.2.2 Determinación de la memoria virtual

En primer lugar hay que determinar, del total de la memoria principal que tiene la máquina real, qué cantidad de memoria se reservará para la ejecución de la máquina virtual.

Aunque no existe una cantidad concreta, se aconseja usar, al menos, la mitad de la memoria principal que disponga nuestro ordenador real. En el ejemplo, de los 4GB de que dispone, se destinarán 2GB a la máquina virtual de Ubuntu.

1.4.2.3 Determinación del disco duro virtual

Lo siguiente es definir el disco donde se alojará el sistema operativo a instalar y los datos del usuario. Al tratarse de una máquina virtual nueva, se ha de crear un nuevo disco virtual. Por lo tanto, pulsaremos "Next".

Lenguajes y Sistemas Informáticos Práctica 1. Introducción a un entorno gráfico de UNIX

El disco virtual, en realidad, será un archivo dentro de una carpeta del sistema operativo (en nuestro caso, windows, que ejerce de sistema anfitrión). Aunque disponemos de otras opciones que no detallaremos en este guión, lo mejor es usar la primera de las opciones, es decir, disco virtual alojado en un fichero o archivo de nuestro sistema operativo real.

Ahora bien, ese archivo tendrá un tamaño concreto que, por defecto, se fija en 8GB como tamaño mínimo. Parece indicar que si se establece un tamaño escaso se estaría limitando la posibilidad de albergar más contenidos en la máquina virtual. Tal cosa no representa ningún problema pues en la creación del disco virtual es posible indicar si el tamaño será fijo o dinámico (posibilidad de que se pueda incrementar sin pérdida de lo que ya estuviera almacenado). En cualquier caso, para empezar, lo más lógico es indicar un tamaño sensato según el tamaño total del disco duro de nuestro ordenador.

Fijado el tamaño del disco ya tenemos la máquina virtual creada sólo a la espera de proceder con la instalación del sistema operativo. Es importante que previamente se disponga del CD/DVD del sistema operativo a instalar, en este caso el de Ubuntu Linux. Nuestra máquina virtual compartirá los lectores de DVD que existan en la máquina real y cuantas carpetas y/o unidades de disco se deseen compartir.

El proceso de instalación del nuevo sistema operativo sobre la máquina virtual establecida puede ser visto a través de una amplia gama de tutoriales y video-tutoriales disponibles en internet con sólo buscar en google "tutorial instalación de ubuntu en virtualbox". Una estupenda guía se puede encontrar en: http://www.psychocats.net/ubuntu/virtualbox

También podemos encontrar un video-tutorial de cómo instalar ubuntu en virtualbox en el siguiente enlace: http://www.arturogoga.com/2010/05/03/screencast-instalar-ubuntu- 10 - 04 - en-windows-maquina-virtual/

Además, para compartir archivos entre el sistema anfitrion (windows) y el huesped (Ubuntu) podemos observar el siguiente enlace: http://usemoslinux.blogspot.com/2010/06/como-compartir-carpetas-entre-windows- y.html

Lenguajes y Sistemas Informáticos Práctica 1. Introducción a un entorno gráfico de UNIX

Los gestores de ventanas suelen encargarse de abrir, cerrar, minimizar, maximizar, mover, escalar las ventanas y mantener un listado de las ventanas abiertas. Es también muy común que el gestor de ventanas integre elementos como: el decorador de ventanas, un panel, un visor de escritorios virtuales, iconos y un tapiz.

Estrictamente hablando, un gestor de ventanas para X Windows, no interactúa de forma directa con el hardware de vídeo, ratón o teclado, que son responsabilidad del servidor X.

Las plataformas Windows y Mac OS X ofrecen un gestor de ventanas estandarizado por sus vendedores e integrado en el propio sistema operativo. En cambio el sistema gráfico X Windows, popular en el ámbito de sistemas Unix y derivados, permite al usuario escoger entre varios gestores distintos. Actualmente los más conocidos para sistemas Unix y derivados son: AfterStep, Fvwm / Fvmw2 / Fvmw95, Enlightement, Blackbox, Fluxbox, IceWM, Kwin (KDE), Metacity (GNOME 2), MWM, SawFish, WindowMaker y OLWM / OLVWM. Algunos incluso ofrecen capacidades nativas 3D, tal y como hace Metisse.

Un entorno de escritorio es un conjunto de software para ofrecer al usuario de una computadora una interacción amigable y cómoda. El entorno de escritorio es una solución completa de interfaz gráfica de usuario que ofrece iconos, barras de herramientas e integración entre aplicaciones con habilidades como, arrastrar y soltar, entre otras. Actualmente los más conocidos son: GNOME, KDE, CDE, Xfce o LXDE.

La mayoría de las distribuciones incluyen un gestor de ventanas y un entorno de escritorio ambos integrados en una única interfaz.

1.5.3 Gnome vs. KDE

GNOME provee un entorno de escritorio intuitivo y atractivo (según sus creadores) y una plataforma de desarrollo para crear aplicaciones que se integran con el escritorio. El proyecto pone un gran énfasis en la simplicidad, usabilidad y eficiencia. Otros objetivos del proyecto son:

 La libertad para crear un entorno de escritorio que siempre tendrá el código fuente disponible para reutilizarse bajo una licencia de software libre.  Asegurar la accesibilidad, de modo que pueda ser utilizado por cualquiera, sin importar sus conocimientos técnicos y discapacidad física.  Hacer que esté disponible en muchos idiomas. Actualmente está siendo traducido a más de 100 idiomas.  Un ciclo regular de liberaciones y una estructura de comunidad disciplinada.

GNOME suele tener, por tanto, una apariencia estándar en todas sus versiones, manteniendo una barra donde aparece un resumen de las ventanas abiertas o minimizadas, un manejador de escritorios virtuales y una barra con tres menús: “Aplicaciones”, “Lugares” y “Sistema”. En la figura 1. 5 hay un ejemplo de la versión 2.30.2:

Tal y como su nombre indica:  Aplicaciones: aquí encontramos todas las aplicaciones que están instaladas en el sistema y que generan algún tipo de ventana.  Lugares: es un acceso rápido al gestor de ficheros.

Figura 1. 6. Ejemplo de KDE 2.0. Figura 1. 7****. Ejemplo de KDE 3.5. Figura 1.8. Ejemplo de KDE 4.

Lenguajes y Sistemas Informáticos Universidad de Granada

 Sistema: aquí encontramos programas para administrar y gestionar el sistema, así como la configuración del escritorio y opciones de accesibilidad.

KDE por contra, se define a sí mismo como contemporáneo para estaciones de trabajo Unix y similar a los escritorios de Mac OS X o Windows. KDE se basa en el principio de la personalización; todos los componentes de KDE pueden ser configurados en mayor o menor medida por el usuario.

Cada versión de KDE intenta emular el escritorio de moda de ese año. Así pues, KDE 2.0 se parece mucho a Windows 98, KDE 3.5 a Windows XP y KDE 4 a Windows 7.

Como se puede observar, siempre suele aparecer un botón a izquierda que lanza el menú de aplicaciones y configuración del sistema de una vez.

Ambos utilizan la combinación de teclas rápida Alt+F2 que permite ejecutar un programa escribiendo su nombre. También comparten la combinación Alt+Tabulador y Alt+Shift+Tabulador para moverse entre las ventanas.

Ambos pueden integrar efectos 3D en el escritorio mediante Compiz–Fusion en cualquier estación con una tarjeta gráfica NVIDIA o ATI y también con algunas tarjetas gráficas Intel.

1.5.4 Explorando ficheros y carpetas

GNOME utiliza el explorador de ficheros Nautilus, mientras que KDE utiliza Dolphin (o Konqueror en sus versiones antiguas)

Figura 1.11. Explorador de archivos Konqueror.

Figura 1.9. Explorador de archivos Dolphin. Figura 1.10. Explorador de archivos Nautilus.

Lenguajes y Sistemas Informáticos Universidad de Granada

opt : Carpetas con programas añadidos o configurados posteriormente a la instalación del sistema y que no forman parte de la distribución, también se suele usar como carpeta “otros”.  proc : Carpeta que contiene archivos con información de dispositivos, también permite configurarlos y procesarlos.  mnt : Unidades adicionales montadas permanentemente en el sistema.  media : Unidades adicionales montadas dinámicamente en el sistema.  tmp : Carpeta con los ficheros temporales, se suele borrar al reiniciar el sistema.  usr : Archivos con programas, librerías, código y documentación de paquetes del sistema.  var : Archivos de log del sistema.  srv : A veces se crea esta carpeta para la gestión de servidores no nativos del sistema o para compartir información con el exterior. Las rutas pueden ser de dos tipos:  Absolutas: si comienzan en /  Relativas: si no comienzan en / Las rutas relativas tienen que ver con el punto en el que nos encontramos en el árbol actualmente, lo que se suele denominar directorio actual (current directory).

Por defecto, el usuario tiene un lugar donde tiene permiso para crear, leer y ejecutar cualquier fichero y carpeta. Este lugar es denominado directorio home, y es el directorio actual por defecto del usuario al entrar en el sistema. Todos los exploradores de ficheros permiten volver al directorio home simplemente pulsando en el icono de la casa.

1.5.5 Tipos de archivos y propiedades

MIME (en español "extensiones multipropósito de correo de internet") es una serie de convenciones o especificaciones dirigidas al intercambio a través de Internet de todo tipo de archivos (texto, audio, vídeo, etc.) de forma transparente para el usuario. En KDE y GNOME se utilizan para identificar un fichero y saber con qué programas abrir dicho fichero. Desde Konqueror / Dolphi y Nautilus se pueden configurar los tipos MIME. Suele dividirse entre tipo y subtipo, así pues, text/plain sería texto plano, y podríamos seleccionar un editor de texto cualquiera para abrir ese tipo de ficheros.

Normalmente también se suelen tener en cuenta las extensiones de los ficheros , aunque normalmente los exploradores Unix suelen mirar el contenido del fichero identificando el tipo del mismo.

Las propiedades de un fichero suelen ser:

 Tamaño: el tamaño que el fichero ocupa en disco.  Su nombre: el nombre del mismo.  Permisos: los permisos que se le otorga a un fichero.  Ejecución: permite que se pueda ejecutar el fichero como si fuera un programa (especialmente útil en guiones [scripts]). También en carpetas permite o deniega el acceso a la misma.  Lectura: permite leer un fichero o ver el contenido de una carpeta.  Escritura: impide cambiar de nombre y sobrescribir un fichero, así como alterarlo. En carpetas impide que se pueda crear contenidos en su interior.

Normalmente, en la interfaz suelen estar asociados, de tal forma que se habla de acceder a una carpeta cuando se tienen los permisos de lectura y ejecución sobre la misma.

Los permisos están divididos en tres apartados:

Figura 1.13. Propiedades de un archivo o directorio en un SO basado en UNIX.

Lenguajes y Sistemas Informáticos Práctica 1. Introducción a un entorno gráfico de UNIX

Propietario : permisos para el que creó el fichero.  Grupo : permisos para un grupo al que el usuario pertenece, algunas veces nos deja elegir el grupo siempre que estemos en dicho grupo.  Otros : el resto de usuarios del sistema.

1.5.6 Editores del sistema

Normalmente se suelen dividir los editores en dos tipos: los de modo gráfico y los de modo texto. En editores de tipo texto tenemos algunos muy comunes:  nano / pico.  vi.  emacs. En editores de tipo gráfico hay muchos, pero los más comunes en sistemas KDE y GNOME son:  kedit/kwrite.  kate.  gedit.

nano/pico es un editor sencillo. Utiliza (al igual que emacs) de forma abusiva la tecla control para el manejo del mismo, la ventaja principal de estos editores (junto con emacs) es que la mayoría de accesos de teclado funcionan también en los terminales del sistema. Algunas combinaciones básicas son:

 Control + A: ir al inicio de la línea [estándar].  Control + E: ir al final de la línea [estándar].  Control + F: ir a la derecha un espacio [estándar].  Control + B: ir a la izquierda un espacio [estándar].  Control + P: ir arriba un espacio [estándar].  Control + N: ir abajo un espacio [estándar].  Control + K: cortar una línea [estándar].  Control + U: pegar la línea (el estándar es Control + Y).  Control + O: guarda el fichero.  Control + W: busca una palabra o frase en un fichero.  Control + X: salir.  Control + G: muestra la lista completa de comandos.

Los editores vi y emacs disponen de modos de trabajo, lo que permite configurar el propio editor para tareas específicas tales como programar, mejorando el rendimiento al escribir código. Son editores complicados de utilizar, pero muy potentes. Las teclas estándar funcionan en emacs pero no en vi, la ventaja fundamental de vi es que permite detectar las órdenes del editor sin ningún tipo de ambigüedad. Emacs puede trabajar tanto en modo texto como en modo gráfico.

Los editores gedit y kedit/kwrite permiten resaltar la sintaxis del contenido, son sencillos de utilizar, parecidos a cualquier editor de Windows o Mac OS X, pero no son muy potentes. Algunas funcionalidades a destacar son:

 Cortado de texto automático (Text wrapping).  Mostrar las líneas a la izquierda del margen (Line numbers).  Señalar la línea donde estamos actualmente (Current line highlighting).  Ir a una línea específica (Go to specific line).

kwrite permite adicionalmente añadir marcadores para volver de forma sencilla a una línea previamente marcada. Como desventaja principal, no suele detectar la codificación del fichero, por lo que hay que indicarlo de forma manual. El editor kate es parecido a kwrite pero con bastante más funcionalidad en cuanto a la edición de código.

Lenguajes y Sistemas Informáticos Práctica 2. Órdenes básicas de UNIX/Linux

Práctica 2: Órdenes básicas de UNIX/Linux

2.1 Introducción

Esta parte se dedica al manejo del Shell de forma interactiva e introduce un conjunto básico de órdenes para comenzar a trabajar con el sistema operativo.

2.2 Objetivos principales

 Manejo de las órdenes básicas de una shell.  Utilización del manual de uso en línea.  Manipulación básica de archivos y directorios.

Se presentarán los metacaracteres que nos ayudan a escribir muchas de las órdenes y daremos algunos consejos para su uso. En esta práctica veremos los metacaracteres de nombres de archivos. Se verán las siguientes órdenes:

Órdenes Linux

man/info/help who rm more

touch file mkdir/rmdir head/tail

ls cp cd sort

pwd mv cat clear

Tabla 2. 1. Órdenes de la práctica.

2.3 Los intérpretes de órdenes

Un intérprete de órdenes, o shell en la terminología UNIX, está construido como un programa normal de usuario. Esto tiene la ventaja de que podemos cambiar de intérprete de órdenes según nuestras necesidades o preferencias. Existen diferentes shells: Bourne Again Shell (bash), TC Shell (tcsh) y Z Shell (zch). Estos shells no son exclusivos de Linux ya que se distribuyen libremente y pueden compilarse en cualquier sistema Linux. Podemos ver los shell de los que dispone nuestro sistema mirando en el archivo /etc/shells. El shell, además de ejecutar las órdenes de Linux, tiene sus propias órdenes y variables, lo que lo convierte en un lenguaje de programación. La ventaja que presenta frente a otros lenguajes es su alta productividad – en muchos casos, una tarea escrita en el lenguaje del shell suele tener menos código que si se tuviera que redactar usando un lenguaje de programación de alto nivel como es lenguaje como C-.

Es posible que en las aulas de la ETSIIT, los terminales se inicien con una shell csh (C-Shell). En ese caso, sería necesario escribir la orden bash o en el encabezado del guion o en el propio terminal para disponer de una shell acorde a la sintaxis del lenguaje de órdenes de la shell que se verá. Algo descriptivo es que con el intérprete de órdenes de tipo C-Shell, el terminal aparece con el prompt % , mientras que con la Shell Bash aparecerá información del usuario, nombre del host e información del directorio donde se encuentra, por defecto ~, que representa el directorio home del usuario conectado y, junto a lo anterior, el símbolo $.

Lenguajes y Sistemas Informáticos Universidad de Granada

2.3.1 Orden man

La orden man es el paginador del manual del sistema. Las páginas usadas como argumentos al ejecutar man suelen ser normalmente nombres de programas, útiles o funciones. La página de manual asociada con cada uno de esos argumentos es buscada y presentada. Si la llamada da también la sección, man buscará sólo en dicha sección del manual. Normalmente, la búsqueda se lleva a cabo en todas las secciones de manual disponibles según un orden predeterminado, y sólo se presenta la primera página encontrada, incluso si esa página se encuentra en varias secciones. Para más ayuda escribir en la consola:

$ man man

man utiliza las siguientes teclas para buscar texto o desplazarse por el mismo:

 Control + F: avanzar página.  Control + B: retrasar página.  Control + P: moverse una línea hacia arriba.  Control + N: moverse una línea hacia abajo.  /texto: busca el texto que se escribe a continuación (incluyendo los huecos en blanco, en su caso) desde la primera línea mostrada en la pantalla en adelante, marcando todas las ocurrencias encontradas.  ?texto: busca el texto que se escribe a continuación (incluyendo los huecos en blanco, en su caso) desde la primera línea mostrada en la pantalla hacia atrás, marcando todas las ocurrencias encontradas.  n: siguiente elemento en la búsqueda.  N: elemento previo en la búsqueda.  v: lanza (si es posible) el editor por defecto para editar el fichero que estamos viendo.  q: sale del man. También puede ser Q, :q, :Q y zz.

Nota: Las cuatro primeras pueden realizarse tanto con la letra en mayúscula como en minúscula. Use la orden man cuando no sepa las opciones correctas de una orden que necesite para la realización de un ejercicio. Como recomendación general, indicar que es conveniente usar el shell cuando necesitemos hacer algo con muchos archivos, o hacer la misma tarea de forma repetida.

2.3.2 Órdenes Linux relacionadas con archivos y directorios

La tabla siguiente recoge las órdenes más frecuentes relacionadas con archivos y directorios (carpetas):

Órdenes Descripción

ls [directorio] (^) Lista los contenidos de un directorio

cd [directorio] (^) Cambia de directorio de trabajo. Las abreviaciones. y .. se pueden utilizar como referencia de los directorios actual y padre, respectivamente. El símbolo ~ (pulsando a la vez las teclas AltGr y 4 ) es el directorio HOME del usuario y el símbolo / al inicio de un camino es el directorio raíz del sistema.

pwd (^) Imprime el camino absoluto del directorio actual

mkdir directorio (^) Crea un directorio a partir del nombre dado como argumento

rmdir directorio (^) Borra un directorio existente (si está vacío)

cat [archivo(s)] (^) Orden multipropósito: muestra el contenido de un archivo o varios, concatena archivos, copia un archivo, crea un archivo de texto o muestra los caracteres invisibles de control.

cp archivo1 archivo2 (^) Copia el archivo1 en el archivo2. Si archivo2 no existe, se crea.