introducción - marubarrenechea's weblog · 3 introducción descripción general del sistema...

44
1 1 Introducción .......................................................................................................................... 3 1.1 Descripción General del Sistema Operativo UNIX .......................................................... 3 1.2 El Entorno Operativo UNIX .............................................................................................. 4 2 Acceso al sistema e Interfases gráficas ............................................................................... 6 2.1 Cuentas de los Usuarios .................................................................................................. 6 2.2 Uso del GNOME y del KDE en Linux ............................................................................... 7 2.3 Personalización de GNOME ............................................................................................ 7 3 Aplicaciones de usuario gráficas .......................................................................................... 8 3.1 Aplicaciones de GNOME y KDE ...................................................................................... 8 4 Ayuda en Linux ..................................................................................................................... 8 4.1 Manuales "How-To" .......................................................................................................... 8 4.2 Ayuda de la Línea de Comandos ..................................................................................... 9 4.3 El Comando Info............................................................................................................... 9 4.4 Comparación de Comandos DOS/UNIX ........................................................................ 10 5 Archivos y directorios.......................................................................................................... 10 5.1 El Sistema de Archivos .................................................................................................. 10 5.2 Rutas de Directorios ....................................................................................................... 11 5.3 Navegación por el Sistema de Archivos ........................................................................ 11 5.4 Listado de los Contenidos de un Directorio ................................................................... 12 5.5 Identificación y Uso de los Metacaracteres.................................................................... 14 6 Administración de archivos y directorios ............................................................................ 15 6.1 Administración de Directorios y Archivos Utilizando la Línea de Comandos ................ 15 6.2 Administración de Directorios y Archivos Utilizando GNOME ....................................... 16 6.3 Administración Avanzada de Directorios y Archivos Utilizando la Línea de Comandos 17 6.4 Administración Avanzada de Directorios y Archivos Utilizando GNOME ...................... 19 7 Sistema de archivos y utilidades ........................................................................................ 19 7.1 Discos y Sistemas de Archivos ...................................................................................... 19 7.2 Búsqueda de Archivos Mediante el Uso de la Línea de Comandos.............................. 20 7.3 Búsqueda de Cadenas de Texto en Archivos y Resultados de Comandos .................. 21 7.4 Ordenamiento de Archivos y Resultados de Comandos ............................................... 21 7.5 Búsqueda de Archivos Mediante Herramientas Gráficas .............................................. 21 8 Editores de texto ................................................................................................................. 22 8.1 El editor Vi ...................................................................................................................... 22 8.2 El editor Emacs .............................................................................................................. 23 8.3 Editores Gráficos y Procesadores de Texto................................................................... 25 9 Protección del sistema de archivos .................................................................................... 26 9.1 Descripción General de la Seguridad ............................................................................ 26 9.2 Permisos del Sistema de Archivos ................................................................................. 26 9.3 Cambio de Permisos desde la Línea de Comandos...................................................... 28 9.4 Cambio de Permisos por medio de Herramientas Gráficas........................................... 29 9.5 Identificación y Cambio de Usuarios .............................................................................. 29 10 Impresión ............................................................................................................................ 30 10.1 El Entorno de Impresión UNIX ................................................................................... 30 10.2 Impresión desde la Línea de Comandos ................................................................... 31 10.3 Administración de Colas de Impresora ...................................................................... 31 10.4 Uso de las Herramientas de Impresión Gráficas ....................................................... 32 11 Copias de seguridad ........................................................................................................... 32

Upload: phamdung

Post on 03-Oct-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

1

1 Introducción .......................................................................................................................... 31.1 Descripción General del Sistema Operativo UNIX .......................................................... 31.2 El Entorno Operativo UNIX .............................................................................................. 4

2 Acceso al sistema e Interfases gráficas ............................................................................... 62.1 Cuentas de los Usuarios .................................................................................................. 62.2 Uso del GNOME y del KDE en Linux............................................................................... 72.3 Personalización de GNOME ............................................................................................ 7

3 Aplicaciones de usuario gráficas .......................................................................................... 83.1 Aplicaciones de GNOME y KDE ...................................................................................... 8

4 Ayuda en Linux ..................................................................................................................... 84.1 Manuales "How-To".......................................................................................................... 84.2 Ayuda de la Línea de Comandos..................................................................................... 94.3 El Comando Info............................................................................................................... 94.4 Comparación de Comandos DOS/UNIX ........................................................................ 10

5 Archivos y directorios.......................................................................................................... 105.1 El Sistema de Archivos .................................................................................................. 105.2 Rutas de Directorios....................................................................................................... 115.3 Navegación por el Sistema de Archivos ........................................................................ 115.4 Listado de los Contenidos de un Directorio ................................................................... 125.5 Identificación y Uso de los Metacaracteres.................................................................... 14

6 Administración de archivos y directorios ............................................................................ 156.1 Administración de Directorios y Archivos Utilizando la Línea de Comandos ................ 156.2 Administración de Directorios y Archivos Utilizando GNOME ....................................... 166.3 Administración Avanzada de Directorios y Archivos Utilizando la Línea de Comandos176.4 Administración Avanzada de Directorios y Archivos Utilizando GNOME ...................... 19

7 Sistema de archivos y utilidades ........................................................................................ 197.1 Discos y Sistemas de Archivos ...................................................................................... 197.2 Búsqueda de Archivos Mediante el Uso de la Línea de Comandos.............................. 207.3 Búsqueda de Cadenas de Texto en Archivos y Resultados de Comandos .................. 217.4 Ordenamiento de Archivos y Resultados de Comandos ............................................... 217.5 Búsqueda de Archivos Mediante Herramientas Gráficas .............................................. 21

8 Editores de texto................................................................................................................. 228.1 El editor Vi ...................................................................................................................... 228.2 El editor Emacs .............................................................................................................. 238.3 Editores Gráficos y Procesadores de Texto................................................................... 25

9 Protección del sistema de archivos .................................................................................... 269.1 Descripción General de la Seguridad ............................................................................ 269.2 Permisos del Sistema de Archivos................................................................................. 269.3 Cambio de Permisos desde la Línea de Comandos...................................................... 289.4 Cambio de Permisos por medio de Herramientas Gráficas........................................... 299.5 Identificación y Cambio de Usuarios.............................................................................. 29

10 Impresión ............................................................................................................................ 3010.1 El Entorno de Impresión UNIX................................................................................... 3010.2 Impresión desde la Línea de Comandos ................................................................... 3110.3 Administración de Colas de Impresora...................................................................... 3110.4 Uso de las Herramientas de Impresión Gráficas ....................................................... 32

11 Copias de seguridad........................................................................................................... 32

2

11.1 Estrategias de Copiado de Seguridad ....................................................................... 3211.2 Medios de Copiado de Seguridad.............................................................................. 3311.3 Acceso a Diskettes y Dispositivos de CD .................................................................. 3311.4 Copiado de Seguridad, Compresión y Restauración de Archivos............................. 3411.5 Programas de Copiado de Seguridad y Compresión Alternativos ............................ 35

12 Procesos............................................................................................................................. 3512.1 Procesos del Sistema UNIX....................................................................................... 3512.2 Exposición de Procesos............................................................................................. 3512.3 Terminación de Procesos .......................................................................................... 3612.4 Procesos en Primer y Segundo Plano....................................................................... 3612.5 Planificación de Procesos.......................................................................................... 37

13 Interfaz de usuario principal: Shell ..................................................................................... 3813.1 Revisión del Shell....................................................................................................... 3813.2 Funcionalidades Adicionales del Shell ...................................................................... 3813.3 Variables del Shell y Prompts Personalizados .......................................................... 3913.4 Archivos de Inicialización del Shell ............................................................................ 39

14 Shell Scripts........................................................................................................................ 3914.1 Conceptos Básicos sobre los Scripts del Shell.......................................................... 3914.2 Scripts de Shell Avanzados ....................................................................................... 40

15 Redes.................................................................................................................................. 4115.1 Informática Cliente/Servidor....................................................................................... 4115.2 Utilidades de Red y Acceso Remoto ......................................................................... 4215.3 Servicios de Nombrado y Resolución de Nombres de Host...................................... 4215.4 Cómo Compartir Recursos de Red............................................................................ 43

3

IntroducciónDescripción General del Sistema Operativo UNIXUNIX se escribió por primera vez en lenguaje de ensamblaje, un conjunto primitivo deinstrucciones que controlan a las instrucciones internas de la computadora. Noobstante, UNIX sólo podía ejecutarse en una computadora específica. En 1971,Ritchie creó el lenguaje C. En 1973, él y Thompson volvieron a escribir los programasdel sistema UNIX en lenguaje C. Puesto que C es un lenguaje más sofisticado, UNIXpodía moverse (o portarse) a otra computadora con un mucho menor esfuerzo deprogramación. La decisión de desarrollar este sistema operativo portátil resultó ser laclave del éxito de UNIX.

El primer código fuente de UNIX se hizo disponible para las universidades de todoEstados Unidos. Los programadores de la Universidad de California en Berkeleyhicieron modificaciones significativas al código fuente original y lo llamaron UNIXDistribución de Software de Berkeley [Berkeley Software Distribution] (BSD). Enviaronesta nueva versión del entorno UNIX a otros programadores de Estados Unidos. Estosprogramadores agregaron herramientas y códigos según lo creyeron conveniente.Posiblemente el avance más importante que efectuaron en el software losprogramadores de Berkeley fue la adición de software de networking. Éste permitía alOS funcionar en una red de área local (LAN). UNIX BSD se hizo popular entrefabricantes de computadoras tales como Hewlett-Packard, Digital EquipmentCorporation y Sun Microsystems.UNIX es ahora una marca registrada cuyo propietario es The Open Group, de modoque cada fabricante llamó a su versión de UNIX con un nombre único. La versión deSun de UNIX se denomina Solaris y es la versión más ampliamente utilizada en elnetworking de hoy en día. La versión de AT&T se denomina UNIX, la versión de IBMes AIX, y la versión de Hewlett-Packard es HP-UX. Digital Equipment, que ahora esCompaq, tiene una versión llamada Tru64 que anteriormente se llamaba Digital Unix.Estas versiones de UNIX están diseñadas para ejecutarse en el hardware y en lasCPUs del fabricante específico. Solaris se ejecuta no sólo en las computadoras Sun,sino también en máquinas basadas en Intel. Linux, otra versión de UNIX que se estáhaciendo cada vez más popular, también se ejecuta en diferentes CPUs. Habiendoaprendido cualquiera de estas variedades de UNIX, es muy fácil trasladarse a una delas otras. La Figura muestra a algunos de los fabricantes de CPUs, y las diversasversiones de UNIX y sistemas operativos que pueden ejecutar.La última versión en emerger de UNIX se denomina Linux. Linux fue desarrollado en1991 por Linus Torvalds en la Universidad de Helsinki, Finlandia. Torvalds la subió aInternet y alentó a otros a contribuir a su desarrollo. Tiene características tanto deSVR4 como de BSD. Linux se ha popularizado mucho entre los entusiastas de lainformática, aquéllos que buscan una alternativa a los sistemas operativos para PCtradicionales, y las compañías que buscan un OS estable y de bajo costo.Linux fue desarrollado originalmente para ejecutarse en el microprocesador Intel x86(a partir del 80386) como estación de trabajo o servidor. El kernel Linux ha sidomodificado desde entonces para ser ejecutado en diferentes CPUs además de Intelx86. Estas CPUs incluyen los siguientes: Intel IA-64, DEC Alpha, SUNSPARC/UltraSPARC, Motorola 68000, MIPS, PowerPC, e incluso el mainframe IBMS/390. De hecho, actualmente Linux se ejecuta en CPUs de una más amplia variedadde fabricantes que la de cualquier OS.

4

GNU/LinuxMuchos otros componentes del OS han sido agregados a través de los esfuerzos dedesarrolladores independientes y del proyecto GNU de Free Software Foundation(GNU no es UNIX) (www.gnu.org). El sistema operativo GNU utiliza el kernel Linux. Elkernel es el corazón del OS que controla la interacción entre el hardware y lasaplicaciones. El proyecto GNU se refiere a Linux como GNU/Linux, ya que muchoscomponentes del OS son aplicaciones GNU. Una buena fuente de información yrecursos es el sitio web de documentación sobre Linux: www.linuxdoc.org.

Software de Fuente AbiertaLinux está disponible sin gastos bajo la Licencia Pública General [General PublicLicense] (GPL) GNU, así como lo están otras versiones de UNIX tales como FreeBSDy NetBSD. Linux es software de fuente abierta, lo cual significa que el código fuenteestá disponible públicamente y puede modificarse para adaptarlo a necesidadesespecíficas. También puede distribuirse entre los usuarios gratuitamente. Esteconcepto es lo opuesto al software comercial, donde el código fuente no estádisponible públicamente y cada usuario debe pagar una tarifa de licencia. El softwarecomercial se basa en las leyes de derecho de autor, que buscan limitar lo que elusuario puede hacer con respecto al código fuente y a la distribución. Linux puededescargarse sin costo desde diversos sitios web.

Distribuciones de LinuxUna cierta cantidad de compañías con y sin fines de lucro hacen disponible a Linuxcon diversas combinaciones de aplicaciones, utilidades y otro software. Estascombinaciones de OS y software se denominan distribuciones. Como ejemplo, RedHat, Inc. combina en un solo paquete los CDs de Linux, el código fuente, y losmanuales junto con una colección de aplicaciones y otros productos por una tarifamodesta. Estos productos adicionales incluyen una suite de oficina, una colección deescritorios gráficos, software para servidores de la Web, etcétera. También seproporciona un cierto nivel de soporte al cliente. Red Hat incluye la suite de softwarede productividad StarOffice.El componente principal de cualquier distribución es el mismo kernel Linux. Ademásdel kernel y las aplicaciones, otros componentes de una distribución incluyen lasherramientas de instalación, el boot loader y programas de utilidades. Algunasdistribuciones son más gráficas y orientadas hacia los usuarios nuevos. Otras son másbásicas y se concentran en los desarrolladores y en la gente que ya está familiarizadacon UNIX.

Caldera OpenLinux http://www.caldera.com Corel Linux http://linux.corel.com Debian GNU/Linux http://www.debian.org Linux Mandrake http://linux-mandrake.com/en Red Hat Linux http://www.redhat.com Slackware Linux http://www.slackware.com SuSE Linux http://www.suse.com Turbo Linux http://www.turbolinux.com

El Entorno Operativo UNIXUNIX es una colección de componentes que juntos hacen a un entorno operativo.Cada versión de UNIX varía un tanto respecto de las otras pero todas comparten lasmismas características básicas.

5

El entorno Unix consiste en el sistema operativo, los protocolos de red y una interfazgráfica del usuario (GUI).El OS es un conjunto de programas que gestiona todas las operaciones informáticas.También proporciona un enlace entre el usuario y los recursos del sistema,convirtiendo las solicitudes que provienen del mouse o del teclado en operacionesinformáticas. La mayoría de los sistemas operativos, incluyendo a UNIX, poseencuatro componentes principales:

El kernel gestiona la operación de la computadora. El shell proporciona una interacción entre el usuario y la computadora. El sistema de archivos proporciona una forma de organizar y gestionar la

información en el o los disco(s) duro(s) de la computadora. Los comandos, o utilidades, se utilizan para instruir a la computadora para que

lleve a cabo tareas.

Descripción general del KernelEl kernel es el núcleo del OS y posee las capacidades básicas necesarias paraejecutar la computadora. El kernel es lo más cercano a la CPU y al hardware.El proceso de desarrollo para el kernel Linux es interesante y en gran medida único.Linus Torvalds mantiene un control respecto a cómo evoluciona el kernel Linux, concontribuciones de personas a lo largo de toda la Internet. Periódicamente, un grupo dedesarrolladores revisa y prueba las últimas contribuciones y lanza una versión establedel kernel del OS.Después de que se carga el kernel, éste lleva a cabo las siguientes funciones:

Gestiona dispositivos, memoria y procesos Controla las funciones, o transmisión de la información, entre los programas del

sistema y el hardware del sistema Gestiona funciones tales como el espacio de intercambio, los daemons y los

sistemas de archivos

Descripción general del shellUn shell es una interfaz entre el usuario y el kernel. Actúa como intérprete o traductor.En otras palabras, el shell acepta comandos emitidos por el usuario, interpreta dichoscomandos, y ejecuta los programas apropiados. Los shells pueden ser manejados pormedio de una línea de comandos o gráficos. Es posible iniciar o alternar entre estosshells al trabajar en la computadora. Los comandos estado del proceso [processstatus] (ps) o echo $SHELL se utilizan para determinar qué shell se encuentra en uso.El shell BASH es el shell por defecto para la mayoría de las distribuciones de Linux,aunque también se soportan otros. CDE, GNOME y KDE se consideran en ocasionesshells gráficos.

Descripción general del sistema de archivosEl sistema de archivos proporciona una forma de separar y rastrear la información enun disco duro. Determina el tipo, las características y la disposición de los archivos quepueden almacenarse en el disco. Un sistema de archivos se crea en una partición deldisco utilizando el proceso de formateo. Una partición puede ocupar todo el disco duroo puede ser una subdivisión del disco.El sistema de archivos proporciona la definición de una estructura de archivos. Laestructura de archivos es una jerarquía de directorios, subdirectorios, y archivos quese agrupan con un propósito específico. El soporte al sistema de archivos se integracon el kernel para proporcionar una estructura organizativa para el software y losdatos. La estructura de archivos organiza la información en los discos duros para

6

hacerlos más gestionables, y permite a los usuarios localizar archivos. Los discosduros pueden dividirse en particiones con sistemas de archivos, directorios,subdirectorios y archivos.Una jerarquía de directorios tiene el aspecto de un árbol invertido, con la raíz en laparte superior. La siguiente es la jerarquía del sistema de archivos UNIX:

Descripción general de comandos y utilidadesLos comandos Unix son clave para mantener el sistema de archivos. El sistemaoperativo UNIX incluye más de 350 comandos y programas de utilidades. Estoscomandos y programas de utilidades UNIX se utilizan para desempeñar las siguientesfunciones:

Mantenimiento de archivos, como creación, edición, copiado, borrado,etcétera

Administración, como el agregado de nuevos usuarios, impresoras, discos,etcétera

Impresión Networking y comunicación Programación Obtención de ayuda

Los comandos le dicen al shell qué hacer, como por ejemplo presentar una lista de loscontenidos de un directorio o copiar un archivo.

Acceso al sistema e Interfases gráficasCuentas de los UsuariosLos usuarios deben tener una cuenta para acceder a los recursos en un sistema UNIX.Las cuentas de usuarios identifican a un usuario del sistema. Las cuentas tambiéndeterminan qué actividades puede llevar a cabo un usuario y a qué archivos puedeacceder. En una computadora UNIX existen dos tipos de cuentas. Éstas son la cuentaraíz o superusuario y las cuentas de los usuarios.

La Cuenta “root”La cuenta root es la cuenta de administración del sistema y se crea automáticamentedurante el proceso de instalación del sistema operativo. La cuenta raíz es la únicacuenta del sistema cuando se lo instala por primera vez. La cuenta raíz de login poseetodos los sistemas de archivos y tiene acceso a todos los archivos. Es similar a lacuenta del Administrador del Windows NT/2000 y a la cuenta Admin de NovellNetWare.La cuenta raíz crea nuevos usuarios, gestiona sistemas de archivo, instala software, ylleva a cabo otras tareas de administración del sistema sofisticadas. La cuenta raízpuede acceder a y modificar cualquier archivo o directorio del sistema. Puesto que es"todopoderosa," la cuenta raíz deberá utilizarse con cuidado. La mayoría de losadministradores de UNIX tienen una cuenta de usuario con privilegios administrativosespeciales que utilizan diariamente y se loggean como raíz sólo cuando es necesario.Esto minimiza el riesgo de dejar la cuenta raíz expuesta accidentalmente al alejarsefísicamente del sistema mientras se está loggeado como raíz y así comprometerpotencialmente al sistema.

7

Cuentas de los UsuariosLas cuentas de los usuarios son creadas y mantenidas por el administrador delsistema cuando está loggeado como root. Cada usuario que necesite acceder alsistema debe tener una cuenta de usuario para loggearse y utilizar la computadora.Los usuarios regulares pueden ejecutar aplicaciones y personalizar su entorno detrabajo. También pueden crear y modificar archivos de su directorio home y de lossubdirectorios que se encuentran por debajo de él. (Véase la Figura).

Requisitos de ID de login y contraseñaPara que los usuarios puedan hacer log in, deben tener una cuenta de usuario queincluya una identificación (ID) de login y una contraseña. La ID de login es el nombrepúblico del usuario y se lo denomina comúnmente nombre de usuario.La contraseña del usuario protege a la cuenta de un acceso no autorizado.

Acceso local y remotoLa mayor parte de los sistemas UNIX proporcionan dos maneras de accederlocalmente a un sistema. El usuario puede hacer login utilizando una interfaz gráfica talcomo el GNOME, o el login estándar basado en caracteres.Un usuario también puede acceder a un sistema UNIX desde otra computadora talcomo una PC Windows, una Macintosh de Apple o incluso desde otro sistema UNIX.Para hacer login a una estación de trabajo o servidor UNIX remoto se utiliza elprograma Telnet (o SSH) basado en caracteres o un emulador de terminal gráfica.

Uso del GNOME y del KDE en LinuxLa mayor parte de las distribuciones del sistema operativo Linux ofrecen una opción deinterfaces gráficas del usuario. Los dos administradores de escritorio más popularesson GNOME (Entorno de Modelo de Objetos de Redes GNU - GNU Network ObjectModel Environment) y KDE (Entorno de Escritorio K - K Desktop Environment). Cadauno de ellos ofrece un conjunto de aplicaciones y herramientas de software que hansido personalizadas para trabajar con las funcionalidades de control del escritoriorespectivas. Tanto GNOME como KDE son fáciles de utilizar y configurables.La mayor parte del software para GNOME y para KDE, que se lanza normalmentedesde los menúes y botones de los paneles, puede ejecutarse aparte de suadministrador de escritorio. En GNOME existe un submenú que conduce a los menúesKDE. Seleccione ítems a partir de este menú para iniciarlos bajo GNOME. Los ítemsfuncionan bien, pero sin algunas de las funcionalidades más sutilmente integradoras.También es posible acceder a la mayoría de las aplicaciones GNOME desde el menúKDE.La pregunta respecto a qué administrador de escritorio utilizar es una cuestión depreferencia personal. El usuario puede instalar ambos administradores de escritorio sitiene disponible el suficiente espacio en disco. El usuario tendría la opción de elegircualquiera de ellos al hacer login. Tanto GNOME como KDE son ampliamentesoportados.

Personalización de GNOMEGNOME y sus administradores de ventanas son infinitamente configurables.Personalizar los elementos más visibles del entorno de GNOME es simple y funcionade manera muy similar a otras interfaces gráficas del usuario, tales como Windows oCDE. Estos elementos incluyen fondos de pantalla, opciones de colores y fuentes,temas y comportamiento del salvapantallas. Inicie Nautilus desde el ícono Start Here(Inicie Aquí), seleccione el ícono Preferences (Preferencias), seguido del subgrupo deopciones que el usuario deseara cambiar.

8

Aplicaciones de usuario gráficasAplicaciones de GNOME y KDEEstas aplicaciones incluyen clientes de correo, exploradores, planificadores,administradores de archivos, editores de texto, y aplicaciones de utilidades conocidascomo applets. Muchas applets de fuente abierta se incluyen con GNOME y KDE. Enalgunos casos son comunes a ambos entornos por lo que se comentarán sólo lasincluidas en GNOMEGNOME trae los siguientes tres exploradores de la web:

Galeon Mozilla Netscape

GNOME incluye una herramienta administradora de calendario llamada GnomeCalendar y una herramienta marcadora de la hora denominada GTimeTracker.Muchas otras aplicaciones y utilidades de fuente abierta están disponibles desde elmenú principal Programs (Programas):

El Calendario Una Libreta de direcciones El editor de textos Gedit Una herramienta Marcadora de la hora El administrador de archivos Nautilus Una planilla de cálculos Gnumeric El editor Emacs Un editor de diagramas

StarOffice de Sun es una suite de aplicaciones, que incluye un Procesador de Texto,una Planilla de Cálculo y software de presentaciones, etcétera, compatibles conWindows, similar a MS Office. StarOffice se incluye sin costo con algunasdistribuciones de Linux

Ayuda en LinuxManuales "How-To"Los HOWTOs no se instalan por defecto en la mayoría de las distribuciones de Linux.Red Hat reúne los HOWTOs con ciertos extras específicos de Red Hat en un CD quese incluye con la versión empaquetada del sistema operativo. Éstos puedenvisualizarse directamente desde el CD de Documentación utilizando Nautilus, unexplorador de Web, o incluso un editor de texto como Emacs. También puedeninstalarse en el sistema del usuario para tenerlos siempre a mano.Los HOWTOs existen independientemente de cualquier distribución. La más valiosafuente de documentación, (véase la figura), acerca de Linux es Linux DocumentationProject, que puede encontrarse en Internet en http://www.tldp.org. Nótese que unenlace a los HOWTOs se muestra prominentemente en la parte superior. Es desdeaquí desde donde puede visualizarse o descargarse la última versión de los archivosHOWTO.Desde la página web, siga los enlaces hasta una cierta cantidad de índices,organizados por título y categoría. Esto conducirá en última instancia a los mismosHOWTOs. Por ejemplo, es probable que el HOWTO denominado CD-Writing-HOWTO

9

(HOWTO para la Escritura de CDs) proporcione toda la información que podríanecesitarse para comenzar a crear CD-ROMs. El Mail-Administrator-HOWTO(HOWTO para el Administrador de Correo) proporciona una extensa informaciónacerca de todas las funciones para administrar un servidor de e-mail.Además de los HOWTOs, hay enlaces en Linux Documentation Project que conducena Guías, FAQs, e incluso las páginas man principales. Las Guías son breves librossobre temas tales como la escritura de scripts del shell bash avanzadas, una guía parael administrador de sistemas Linux, y temas internos sobre el kernel. Las FAQs soncolecciones de Preguntas Más Frecuentes acerca de una variedad de temas.

Ayuda de la Línea de ComandosPara obtener ayuda desde la línea de comandos se puede recurrir principalmente aluso de las páginas del manual del programador. El Manual del Programador UNIX,también denominado páginas man, describe la información que el usuario necesitarásaber acerca de los comandos, las llamadas del sistema, los formatos de los archivos,y el mantenimiento del sistema. Las páginas man online son parte de los entornosinformáticos Unix y Linux. Estas páginas man se instalan por defecto. Las páginasman presentan la forma de pantallas basadas en caracteres simples y no son gráficas.No obstante, son accesibles a través de la interfaz de Ayuda GUI en GNOME y KDE.La figura resume las características de las páginas man.Para acceder a las páginas man, es necesario que el usuario se encuentre en unprompt del shell, tal como el que se encuentra en una ventana de Terminal. Laspáginas man son de gran ayuda cuando se desea utilizar un comando o una utilidad yha olvidado la sintaxis o la información acerca de cómo utilizarlos. Las páginas manproporcionan información acerca de cómo introducir el comando, una descripción desu propósito, y qué opciones o argumentos están disponibles. Además, las páginasman proporcionan una lista de "see also" ("véase también") con comandos adicionalesque podrían resultar relevantes. Algunos comandos no funcionan con todos los shellsde UNIX.A continuación se presenta una forma de utilizar el comando man:

man name: proporciona ayuda sobre un comando en particular, donde namees el nombre del comando acerca del cual el usuario necesita ayuda, talescomo ls, cat, o mkdir.

El Comando InfoOtra forma de leer documentación es por medio del comando Info. El comando Info seejecuta en modo de texto en una ventana de terminal. El usuario no necesita saberexactamente qué se está buscando al iniciar Info.El usuario verá una ventana de inicio con instrucciones básicas en la parte superior yun menú que consiste en una catálogo de tópicos, cuando se ejecuta Info sin opcionesni argumentos de línea de comandos, como:

info

Al igual que muchos comandos Linux, Info tiene una opción de ayuda que proporcionainstrucciones de inicio. El comando Info también puede iniciarse con un asunto comoargumento. Existe información acerca del mismo comando Info:

info info

Dentro de Info abundantes comandos simples permiten al usuario navegar dentro de lapágina actual, hacia las páginas siguiente o anterior dentro del mismo documento, o adocumentación de Info sobre tópicos diferentes. Presione el signo de interrogaciónpara invocar una guía de referencia respecto a comandos básicos en ventanas de Info

10

Comparación de Comandos DOS/UNIXEl conocimiento de la línea de comandos y de la sintaxis de comandos para cualquiersistema operativo aún es útil en el mundo de la la tecnología de la información de hoyen día. En ocasiones la línea de comandos es todo lo que hay disponible para llevar acabo tareas críticas del sistema y resolución de problemas

ComandoDOS

ComandoUnix

Descripción

dir ls Lista el contenido de un directorio

cd pwd Muestra el directorio actual detrabajo

cd cd Cambia la ubicación a otrodirectorio

md mkdir Crea un directorio nuevo

del rm Elimina un archivo

copy cp Copia un archivo

type cat Muestra archivos

ren mv Renombra archivos

ver uname –rs Muestra la version del S.O.

sort sort Ordena

more more Pagina

cls clear Limpia la pantalla

date date Muestra la fecha actual

edit vi Editor de texto

print lp Imprime un archivo

help man Muestra ayuda

Las capacidades de la línea de comandos son generalmente más potentes y flexiblesque las de las interfaces GUI, especialmente en el entorno UNIX. Los administradoresdel sistema frecuentemente construyen scripts similares a los archivos batch (porlotes) en DOS o a los archivos CMD (de comandos) en NT/2000. No obstante no esestrictamente necesario el conocimiento de todos los comandos disponibles en Linux,generalmente se puede hacer el 80 por ciento de lo que normalmente necesita hacerdiariamente con un 20 por ciento de las herramientas o comandos disponibles.

Archivos y directoriosEl Sistema de ArchivosUn sistema de archivos es una jerarquía de directorios, subdirectorios, y archivos queorganizan y administran la información de los discos duros. Conocer la estructura dedirectorios de un sistema de archivos y cómo navegar por el sistema de archivos esesencial para trabajar con UNIX.Los directorios que componen un sistema de archivos forman una estructurajerárquica. Esta estructura jerárquica tiene el aspecto de un árbol invertido con la raíz

11

en la parte superior. Todos los sistemas operativos tienen alguna clase de estructurade directorios para organizar la información en sus discos duros. En algunos sistemasoperativos, como Windows y MacOS, los directorios se denominan carpetas. En elsistema de archivos UNIX, se denominan directorios pero se utilizan de la mismamanera.La estructura de directorios del sistema de archivos es similar a un árbol genealógico.A excepción del directorio raíz, cada directorio de la jerarquía tiene un directorio padre,y la mayoría tiene directorios hijos, que se denominan subdirectorios. El directorio raízse encuentra siempre en la parte superior de la jerarquía y se designa por medio deuna barra (/). En un sistema de archivos UNIX sólo puede existir un único directorioraíz.

Rutas de DirectoriosUn nombre de ruta define de manera única a un archivo o directorio en particularespecificando su ubicación.Observe los componentes individuales de la ruta hasta el subdirectorio:

/home/user2/dir1/coffeesLas barras dentro del nombre de ruta son delimitadores entre nombres de objetos. Lasbarras actúan como separadores. Los nombres de objetos pueden ser directorios,subdirectorios o archivos. DOS y Windows indican los directorios utilizando una barrainvertida (\). Todos los sistemas de archivos UNIX utilizan una barra (/) en los nombresde ruta. La barra se encuentra por lo general cerca de la tecla Shift derecha en lamayoría de los teclados. Una barra (/) en la primera posición de cualquier nombre deruta representa al directorio raíz.En UNIX y otros sistemas operativos se utilizan dos tipos de nombres de ruta,absolutos y relativos. Cada uno de estos métodos puede utilizarse en cualquiermomento.

Ruta absoluta: Un nombre de ruta absoluto especifica un archivo o directorio enrelación con la totalidad de la jerarquía de archivos UNIX. La jerarquíacomienza en el directorio / (raíz). Si el alumno se refiere a un directorioutilizando su nombre de ruta absoluto, siempre puede estar seguro de que sellegará al directorio correcto porque siempre tendrá el punto de partida comúndel directorio raíz.

Ruta relativa: Un nombre de ruta relativo describe la ubicación de un archivo odirectorio en relación con el directorio actual, aquél en el cual se encuentra elalumno actualmente. Si el alumno se encuentra en un directorio y desea bajaren el árbol de directorios, no es necesario tipear el nombre de ruta absoluto apartir del directorio raíz (/). Tipee la ruta a partir del nombre del siguientedirectorio hacia abajo en la estructura de directorios. Si una ruta no comienzacon una barra, es un nombre de ruta relativo. Los nombres de ruta relativos sonútiles. Por lo general son más cortos que los nombres de ruta absolutos

Navegación por el Sistema de ArchivosPara navegar por el sistema de archivos, el usuario debe conocer el comando quemuestra la ubicación de su directorio actual dentro del sistema de archivos y elcomando que se utiliza para cambiarse a un directorio diferente. En primer lugar, noobstante, es necesario conocer la sintaxis apropiada para utilizar los comandos UNIX.Al loggearse en la línea de comandos o al utilizar una ventana de Terminal, apareceun prompt del shell en la pantalla. En el prompt del shell se tipean los comandos. Loscomandos son instrucciones que le indican al sistema que ejecute una acción. Lasintaxis se refiere a la estructura del comando y especifica opciones y argumentosdisponibles.

12

El formato general para los comandos UNIX se muestra a continuación: $comando [opción(es)] [argumento(s)]

Nota: los elementos entre corchetes son opcionales, lo cual significa que no siemprese los requiere.Debe utilizarse un espacio como delimitador entre cada parte del comando introducido.En una única línea de comandos pueden introducirse hasta 256 caracteres, aunqueesto no es lo común. Los comandos UNIX se escriben siempre en minúscula. Lasopciones suelen ser una única letra precedida por un guión (-), también denominadoraya o signo menos. Pueden combinarse varias opciones utilizando un único guión. Laopción podría escribirse en mayúscula o minúscula, dependiendo del comando.Muchos comandos no requieren las tres partes. Pueden introducirse varios comandosen una línea separándolos por medio de punto y coma (;).

Mostrando el directorio actualSuele suceder que sea difícil recordar en qué directorio se encuentra trabajandoactualmente. Utilice el comando pwd (print working directory - imprimir directorio detrabajo) para mostrar el nombre de ruta absoluto del directorio actual. El comando pwdse utiliza con frecuencia para verificar la ubicación actual en el árbol o jerarquía dedirectorios. Cuando conoce su ubicación en el árbol, puede desplazarse de undirectorio a otro por medio del comando cd (change directory - cambiar directorio).Nótese que el comando pwd no tiene opciones ni argumentos. Simplemente muestrael directorio en que se encuentra el alumno utilizando el nombre de ruta absoluto, paraque no haya ninguna duda.

Cambiando de directorio de trabajoLos archivos a los cuales necesita acceder a menudo se almacenan en subdirectoriosque se encuentran por debajo de su directorio home. Muchas veces es deseablecambiar las ubicaciones de los directorios a causa de la forma en la cual se configurael sistema de archivos UNIX. El comando cd (cambiar directorio) se utiliza para quesea otro el directorio actual. Este comando, como todos los comandos UNIX, aceptanombres de ruta tanto absolutos como relativos. Sigue un ejemplo del comando cd:

cd [nombre_del_directorio]El alumno puede desplazarse por la jerarquía de directorios utilizando el comando cdjunto con un nombre de ruta absoluto o relativo. También puede utilizar algunos de lossiguientes atajos:

El punto (.), que es un único punto: referencia el directorio actual El punto/punto (..), o dos puntos: referencia el directorio padre El tilde (~): representa al directorio home del usuario

Listado de los Contenidos de un DirectorioPara determinar los contenidos de un directorio, utilice el comando ls (lista). Estecomando muestra un listado de todos los archivos y directorios dentro del directorioactual o de un directorio especificado. Si no se da ningún nombre de ruta comoargumento, ls muestra los contenidos del directorio actual. El comando ls presenta enla lista cualquier subdirectorio y archivo que se encuentre en el directorio de trabajoactual si se especifica un nombre de ruta. También pasa por defecto a una listaamplia. Con el comando ls pueden utilizarse muchas opciones, lo cual lo convierte enuno de los comandos UNIX más flexibles y útiles.Formato del Comando:

13

ls [-opción(es)] [nombre(s)_de_ruta]Los nombres de archivo que comienzan con un punto (.) se denominan archivos depunto u ocultos. Los archivos ocultos frecuentemente se utilizan para personalizar elentorno de trabajo de un usuario. . El uso del comando ls con la opción -a (all -todos) muestra una lista de todos los archivos de un directorio, incluyendo los archivosocultos (.). Nótese que la opción -a se escribe en minúscula.Utilizando el comando ls con la opción -F (file type - tipo de archivo), el alumnopuede mostrar un listado con un símbolo que indica el tipo de archivo. El símbolo, si semuestra, se hallará al final del nombre de un archivo o directorio. Nótese que la opción-F es una F mayúscula. La Figura muestra los tipos de archivo que se muestranutilizando el comando ls -F. Los dos últimos son tipos de archivo avanzados y setratan en el curso de Sistemas Operativos de Redes. La siguiente lista describe lostipos de archivo y sus símbolos:

Una barra (/) después del nombre indica que se trata de un directorio osubdirectorio. En UNIX un directorio es considerado un tipo de archivo.

Si no hay ningún símbolo después del nombre, esto indica un archivo de textoASCII simple sin caracteres de formato. ASCII es el Código EstándarAmericano para el Intercambio de Información [American Standard Code forInformation Interchange]. Un archivo de texto ASCII es similar a un archivo detexto DOS.

Un asterisco (*) después del nombre indica que se trata de un comando, unaaplicación o un script que puede ejecutarse.

Un signo de arroba (@) después del nombre indica un vínculo simbólico. Éstaes una forma de dar a un archivo un nombre alternativo. Los vínculossimbólicos permiten a un archivo existir en más de un lugar, por motivos deconveniencia.

Un símbolo de pipe (|) después del nombre indica un pipe. Los pipes se utilizanpara la comunicación entre procesos. Un proceso abre el pipe para lectura, yotro lo abre para escritura, permitiendo la transferencia de datos. Un ejemploes la transferencia de datos hacia y desde un disco.

Un signo de igual (=) después del nombre indica un socket. Éste es similar a unpipe nombrado pero permite vínculos de redes y bi-direccionales.

El comando ls puede utilizarse con la opción -l (largo) para ver información detalladaacerca de cada archivo o directorio. La opción ls -l también distingue entrearchivos y directorios.En la siguiente figura se puede ver una descripción del resultado al ejecutar un listadolargo:

14

Otras opciones para el comando ls: ls –d: Muestra un directorio sin detallar su contenido ls –R: Lista un directorio en forma recursiva

Identificación y Uso de los MetacaracteresLos metacaracteres son caracteres del teclado que tienen un significado especial parael shell. Son una potente funcionalidad de cualquier shell. Una definición general demetacarácter es cualquier carácter del teclado que no sea alfanumérico. Losmetacaracteres se utilizan con muchos comandos UNIX para proporcionar una mayorflexibilidad.Algunos de los metacaracteres utilizados con UNIX son similares en función a aquéllosutilizados con DOS. El asterisco (*) y el signo de interrogación (?) son metacaracterestambién conocidos como wildcards ("comodines") y se utilizan para trabajar congrupos de archivos eficientemente. La figura muestra algunos de los metacaracteresmás comunes y proporciona una breve descripción de su función principal. Estecapítulo se centra en los metacaracteres *, ?, y []. Metacaracteres adicionales sepresentarán a lo largo del resto del curso.Es importante no utilizar metacaracteres al nombrar archivos y directorios. El punto (.)y el guión bajo (_) son los únicos caracteres no alfanuméricos que no sonmetacaracteres. Es por eso que el usuario puede utilizar el punto (.) y el guión bajo (_)en los nombres de archivo. Un guión (-), aunque es un metacarácter, puede utilizarseen nombres de archivo. Como metacarácter el guión (-) se utiliza para delinearopciones en una línea de comandos. Un espacio también se considera unmetacarácter y puede utilizarse en un nombre de archivo UNIX pero esto no serecomienda. Puesto que los espacios se utilizan como separadores entre argumentosde la línea de comandos, el shell en ocasiones tiene problemas de interpretación conlos nombres de archivo que poseen espacios. Aunque algunos de los metacaracteresdel listado de la figura pueden utilizarse en nombres de directorios o archivos, esto nose recomienda.

Metacaracter Descripción Formato de uso

; (punto y coma) Permite la ejecución de múltiplescomandos en sólo una línea

comando; comando

15

* (asterisco) Representa cualquier carácter ocaracteres

comando *

? (signo deinterrogación)

Representa cualquier carácter en unaocurrencia

comando ?

[ ] (corchetes) Representa la ocurrencia de uncarácter en un rango de valores

comando [ ]

< > (menor ymayor)

Redirección de la entrada o salida archivo < comandocomando > archivo

| (barra vertical) Toma la salida de un comando y lautiliza como entrada a otro

comando |comando

Administración de archivos y directoriosAdministración de Directorios y Archivos Utilizando la Línea de

ComandosEn algunos casos, el uso de la línea de comandos para emitir comandos es másrápido que el uso de una GUI tal como KDE o Nautilus. Las dos razones principalespara aprender el uso de la línea de comandos son:

Da al usuario acceso a las muchas opciones de comandos, proporcionandomayor flexibilidad.

Otorga al usuario la capacidad para llevar a cabo una administración dearchivos en un sistema remoto donde no está disponible una interfaz gráfica.

El conocimiento de la administración de archivos y directorios utilizando comandos esimportante para construir una base sólida para un ulterior estudio del sistema operativoUNIX. Los "power users" y administradores del sistema deben tener un conocimientopráctico de las capacidades y sintaxis de la línea de comandos. Muchas de las tareasde la administración del sistema operativo y de la configuración de dispositivosrequieren una comprensión de los comandos UNIX. En algunos casos, la línea decomandos es la única herramienta disponible. Los "power users" y administradorescrean frecuentemente scripts del shell ejecutables. Éstos son herramientas útiles paraautomatizar determinadas tareas tal como la copia de seguridad de archivos o lacreación de nuevas cuentas del usuario. Los archivos script contienen una serie decomandos del shell y son similares a los archivos batch utilizados en otros sistemasoperativos de redes. La creación de archivos script se trata en el Capítulo 15,"Introducción a los Scripts del Shell".

Uso de los Caracteres de ControlLos caracteres de control se utilizan para llevar a cabo tareas específicas. Estas tareasincluyen el detener e iniciar resultados en la pantalla y otras. Cuando se muestra en lapantalla, la tecla Ctrl está representada por el símbolo de intercalación o caret (^).Para introducir una secuencia de caracteres de control, mantenga presionada la teclaCtrl y presione el carácter apropiado en el teclado. Ctrl-c es una secuencia común decaracteres de control que se utiliza para interrumpir o cancelar un programa o proceso.El carácter real en el shell aparece como ^C, incluso aunque el usuario hayapresionado la tecla Ctrl y la tecla c al mismo tiempo.

16

Comandos para la manipulación de archivos file: Permite determinar el tipo de archivo. El resultado de este comando muy a

menudo es uno de los siguientes: texto, ejecutable o de datos.Formato: file nombre(s)_de_archivo(s)

cat: El comando cat, abreviatura de "concatenar", muestra los contenidos deun archivo de texto en la pantalla.Formato: cat nombre(s)_de_archivo(s)

more: El comando more muestra el contenido de un archivo de texto unapantalla a la vez.Formato: more nombre(s)_de_archivo(s)

head: El comando head se utiliza para mostrar las primeras n líneas de uno omás archivos de texto.Formato: head [ -n ] nombre(s)_de_archivo(s)

tail: Utilice el comando tail para mostrar las últimas n líneas de un archivo detexto.Formato: tail [ +n | -n ] nombre(s)_de_archivo(s)

wc: El comando wc (word count - conteo de palabras) puede utilizarse paramostrar conteos de líneas, palabras, bytes o caracteres de un archivo de texto.Formato: wc [opciones] nombre(s)_de_archivo(s)

touch: Este comando permite la creación de archivos vacíos. Alternativamentepuede ser utilizado para actualizar la fecha de acceso de un archivo que exista.Formato: touch nombre(s)_de_archivo(s)

mkdir: El comando mkdir permite crear un directorio (o carpeta). Para podercrear un directorio el usuario debe tener permisos en la ubicación donde deseacrearlo.Formato: mkdir [-p ] nombre_de_directorio nombre_de_directorio

rm: Permite eliminar archivos o directorios. Puede utilizarse conmetacaracteres para generalizar la identificación de archivos.Formato: rm [ -r | -i | -f ] nombre(s)_de_directorio(s) _o_archivo(s)

Administración de Directorios y Archivos Utilizando GNOMETodas las tareas de administración de archivos y directorios, descriptas anteriormentehaciendo uso de comandos en la interfaz de línea, pueden ser realizados (quizás nocon tanta velocidad pero sí de un modo más intuitivo) haciendo uso del Nautilius delGNOME.A continuación se puede una pantalla del Nautilius:

17

Para cada uno de los objetos, se puede seleccionar y activar el menú contextual depropiedades que permitirá realiza la mayor parte de las tareas habituales:

El uso cotidiano con Nautilius o la interfaz de líneas de comandos dará una mayorcantidad de herramientas para decidir que interfaz le resulte más conveniente.

Administración Avanzada de Directorios y Archivos Utilizando la Línea deComandos

Comandos para la administración más avanzada de archivos cp: El comando cp (copiar) copia archivos y directorios. Puede utilizarse con

metacaracteres o wildcards, tales como el asterisco (*) y el signo deinterrogación (?), para copiar grupos de archivos al mismo tiempo. Se debetener la prudencia (al igual del comando rm) de identificar como destino de lacopia a un archivo existente.

18

Formato para la copia de archivos: cp [ -i | -f ] arch_origen arch_destinoFormato para la copia de directorios: cp [ -i | -f ] –r dir_origen dir_destino

ln: El comando ln (link - vincular) se utiliza para darle a un archivo un nombreadicional para que el usuario pueda acceder a él desde más de un directorio opor otro nombre en el mismo directorio.Formato: ln file1 nuevonombredearchivo

mv: Los archivos y directorios pueden renombrarse y moverse utilizando elmismo comando multipropósito mv (mover). Se puede utilizar metacaracterespara mover más archivos de una forma más cómoda.Formato para renombrar arch. o directorios: mv [ -i ] arch_origenarch_destinoFormato para mover archivos a un dir.: mv [ -i ] arch(s)_origen dir_destino

Redireccionamiento de entrada / salidaTodas las operaciones de la unidad de procesamiento central (CPU) tienen entrada osalida (I/O). El teclado, por ejemplo, proporciona una entrada estándar, mientras que elmonitor muestra una salida estándar y un error estándar.Cada comando UNIX tiene un origen para la entrada estándar y un destino para lasalida o resultado estándar. El entorno informático UNIX permite a las I/O decomandos ser controladas utilizando el redireccionamiento. Esto es útil al intentarguardar el resultado de un comando en un archivo para su posterior visualización,enviar los contenidos de un archivo como mensaje de e-mail, o redirigir mensajes deerror a un archivo para su uso al hacer el debugging de un programaVarios metacaracteres se utilizan como símbolos de redireccionamiento. Elredireccionamiento de entrada utiliza un símbolo menor que (< o 0<). Elredireccionamiento de salida utiliza el símbolo mayor que (> o 1>). Elredireccionamiento de errores utiliza el símbolo mayor que, precedido por el número 2(2>)Uno de los metacaracteres más eficaces es el pipe (|). El pipe pasa el resultadoestándar de un comando como entrada estándar al siguiente comando. El usuariosiempre debe tener un comando a cada lado del pipe. Los espacios entre loscomandos y el pipe son opcionales.A continuación se listan un resumen de los modos de redireccionamiento:

Redireccionamiento de entrada: permite enviarle a un comando la entrada através de un archivo en lugar del teclado.Formato: comando < archivo

Redireccionamiento de salida: permite obtener el resultado de la ejecución deun comando en un archivo en lugar de la pantallaFormato: comando > archivoFormato para redirección agregando la salida al archivo: comando >> archivo

Redireccionamiento de error: permite obtener los errores de la ejecución de uncomando en un archivo en lugar de la pantalla.Formato: comando 2> archivo

Entubamiento: permite enviar la salida de un comando a la entrada de otrocomando.Formato: comando | comando

19

Administración Avanzada de Directorios y Archivos Utilizando GNOMEGNOME hace simple las tareas de copiado o traslado por medio del administrador dearchivos Nautilus. Usar una técnica llamada arrastrar y colocar permite copiar y moverarchivos moviendo o desplazando sus íconos por medio del uso del mouse.Para mover un archivo al escritorio:

Haga clic en el ícono del archivo y continúe manteniendo apretado el botón delmouse.

Desplace el puntero a un área del escritorio y suéltelo.Para copiar un archivo al escritorio:

Haga clic en el ícono del archivo y continúe manteniendo apretado el botón delmouse.

Con la tecla control CTRL presionada, desplace el puntero a un área delescritorio y suéltelo.

Si en lugar del escritorio el destino de la copia o traslado fuera otro directorio la técnicaes similar, desplazando el objeto a mover/copiar hacia otra ventana en lugar delescritorioSi el alumno hace clic en un único ícono, el menú File le permite seleccionar Rename(o renombrar). El nombre del archivo que se encuentra debajo del ícono cambia decolor, con un recuadro a su alrededor y permite que a través del teclado se ingrese unnuevo nombre para el ícono.La creación de un enlace o link es muy similar. Para efectuar un vínculo, resalte unarchivo o carpeta y elija Make Link (Crear Vínculo) desde el menú File.

Sistema de archivos y utilidadesDiscos y Sistemas de ArchivosUna unidad de disco duro es el principal dispositivo de almacenamiento permanentede una computadora.Dentro del disco, generalmente se definen particiones, que son secciones contiguasdel disco duro que almacenan datos. Esta división en particiones permite clasificar eindependizar la información que se almacena en el disco. En Windows esto sedenomina unidad C:, unidad D:, y unidad E:, etc. En UNIX están asociadas con unnombre de directorio, denominado punto de montaje; ejemplos de él son / (raíz), /usr, y/home. El sistema operativo Linux hace referencia a una partición utilizando un nombrede archivo de apariencia críptica tal como /dev/hda1Características y Beneficios de las Particiones

Subdividen un disco duro Organizan los datos funcionalmente Deben montarse para ser accesibles Pueden montarse con acceso de Sólo Lectura o Lectura/Escritura Facilitan las copias de seguridad diarias Reducen el tiempo de acceso a los datos Proporcionan opciones de seguridad Mejoran la confiabilidad Preservan los datos del usuario durante las actualizaciones del OS Los ejemplos incluyen / (raíz), /usr, y /home. Son similares a las letras de unidad de una PC y a los volúmenes de NetWare

20

Una vez que se crean los sistemas de archivos en las particiones del disco, todos lossistemas de archivos se combinan para formar un único árbol de directorios. Esto selogra adjuntando, o montando, el sistema de archivos a un directorio vacío, el punto demontaje, tal como se muestra en la Figura:

El montaje de un sistema de archivos es lo que da al directorio la capacidad paraalmacenar archivos. Los directorios y archivos en un sistema de archivos sin montarson inaccesibles. El tamaño de la partición cuando se creó el sistema de archivosdetermina la capacidad.El nombre de la partición y el nombre del sistema de archivos son normalmente lomismo que su punto de montaje en la estructura de directorios. Por ejemplo, /usr es elpunto de montaje para el sistema de archivos del usuario, y también se lo denominapartición del usuario.

Comandos para ver el uso de las particiones y discosLas estadísticas del sistema de archivos pueden mostrarse utilizando el comando df(disk free - disco libre).El comando du muestra el espacio en disco utilizado por los archivos y subdirectoriosy es frecuentemente utilizado por un usuario.

Búsqueda de Archivos Mediante el Uso de la Línea de ComandosEl comando find es un comando potente y de gran utilidad disponible para un usuariodel entorno UNIX. Este comando puede utilizarse para buscar archivos basándose enun criterio específico. Cuando se encuentra un archivo o grupo de archivos quecoinciden con un criterio de búsqueda, otro comando puede ejecutarse en los archivosque coinciden.Sintaxis del comando find:find directorio_inicial expresión [ acción ]

Opciones para el directorio inicial: indica el directorio donde comienza labúsqueda. La ruta puede ser un tilde (~) que representa al directorio home delusuario, un punto (.) que representa el directorio actual, un nombre de rutaabsoluto o relativo, o incluso el directorio raíz

Opciones para la expresión: La expresión es una o más opciones de criteriosde búsqueda que indican qué buscar. Las opciones básicas de find incluyennombre de archivo, tipo y tamaño.

21

Opciones para la expresión: La acción al final del comando es opcional ypuede utilizarse para ejecutar varios comandos una vez hallado el archivo o losarchivos deseados

Búsqueda de Cadenas de Texto en Archivos y Resultados de ComandosEl comando find de UNIX se utiliza para buscar archivos en el árbol de directorios. Lafamilia de comandos grep (global regular expression print - impresión de expresiónglobal regular) se utiliza para buscar una cadena de texto dentro del archivo o en elresultado de otro comando UNIX. El comando grep buscará todas las apariciones dela cadena de texto y mostrará las líneas en las cuales tienen lugar.Sintaxis del comando grep:grep [ opciones ] cadena archivo(s)

Opciones: Permite ajustar el comportamiento de grep, indicando entre otrasalternativas si hace distinción de mayúsculas y minúsculas o busca en formarecursiva.

Cadena: Texto a buscar en los archivos Archivo: Aquí se especifica el archivo donde ser realizará la búsqueda de la

cadena. Se pueden utilizar metacaracteres.

Ordenamiento de Archivos y Resultados de ComandosEl comando sort proporciona una forma rápida y fácil para que los operadoresorganicen datos en orden numérico o alfabético. Este comando utiliza el conjunto decaracteres ASCII como factor de ordenamiento. El comando sort funciona de izquierdaa derecha y carácter por carácter. Por defecto, sort se basa en espacios en blancopara delimitar los diversos campos dentro de los datos de un archivo. Algunasfuncionalidades de sort son las siguientes:

Llevar a cabo un ordenamiento multinivel Llevar a cabo un ordenamiento específico del campo Aceptar entradas estándar Producir resultados estándar

A continuación se muestra la sintaxis para el comando sort:sort [ opciones ] [ nombre_de_archivo_de_entrada ]Entre las opciones del comando existen modificadores que permiten ignorar lasprimeras o últimas líneas, realizar un orden inverso o realizar el orden en formanumérica.

Búsqueda de Archivos Mediante Herramientas GráficasGNOME también proporciona una forma de localizar archivos utilizando Search Tool(Herramienta de Búsqueda). Search Tool de GNOME proporciona dos opciones: Fullfind (full) (Búsqueda completa) y Quick find (locate) (Búsqueda rápida (ubicar)).Cualquiera de estas opciones pueden elegirse utilizando las solapas de la pantallainicial de Search Tool.

22

El modo búsqueda rápida es realmente un modo amigable del comando locate. Sinecesita información más detallada acerca de locate, deberá leer la página del manual(man) apropiada.La búsqueda completa comprende una combinación del comando find con elcomando grep.

Editores de textoEl editor ViEl editor vi ha sido parte del sistema operativo UNIX prácticamente desde suconcepción a principios de los 1970s. El editor vi está universalmente disponible entodos los sistemas UNIX. vi es un editor muy pequeño y potente con muchas opciones.Es lo suficientemente pequeño como para entrar en un diskette de inicio deemergencia. Esto es útil para la resolución de problemas.El editor vi es un editor interactivo que se utiliza para crear o modificar archivos detexto del Código Americano para el Intercambio de Información (ASCII). Los archivosde texto ASCII contienen sólo caracteres de texto sin ningún formato, como negritas ocursivas. Es un editor basado en caracteres que es parte integral de todos lossistemas operativos UNIX. El editor vi utiliza pantalla completa, pero el usuario nopuede utilizar el mouse para posicionar el cursor. Toda la edición con el editor vi selleva a cabo dentro de un buffer de memoria. Los cambios pueden escribirse en eldisco o ser descartados.Existen tres modos de operación en vi: de comandos, de entrada y de última línea.

Modo de Comandos: Cuando se inicia el editor vi, el usuario se encuentra enmodo de comandos. Aquí puede introducir comandos de posicionamiento delcursor para desplazarse por un archivo, y comandos de edición para llevar acabo funciones y modificaciones del texto existente. El modo de comandos esel punto de partida para los otros modos. Desde aquí, puede cambiar a modode entrada o a modo de última línea. La tecla Escape (Esc) siempre lleva alusuario al modo de comandos.

Modo de Entrada: Debe estar en modo de entrada, también conocido comomodo de edición, para introducir texto. Para ello, se tipea un comando vi talcomo i (input - entrada), o (open new line - abrir nueva línea), o a (append -agregar). Esto saca a vi del modo de comando y lo coloca en modo de entrada.En este modo, el texto no será interpretado como comandos de edición.Cuando termina de introducir texto en el archivo, presiona la tecla Esc paravolver al modo de comandos.

Modo de Última Línea: Desde el modo de comandos, se tipea dos puntos (:) uotro carácter designado para entrar al modo de última línea. Esto coloca elcursor en la línea inferior de la pantalla. Desde el modo de última línea, puedeintroducir comandos para guardar el trabajo periódicamente mientras

23

permanece en vi, o el alumno puede guardar y salir de vi. También puede salirde vi sin guardar los cambios. El modo de última línea también se utiliza parabuscar caracteres o palabras y para configurar las preferencias del editor vi.

El editor vi es una aplicación de edición de texto de UNIX que se inicia desde elprompt de la línea de comandos. Cada vez que inicia vi, se abre un archivo.Alternativamente puede especificar el nombre del archivo que ha de crearse o editarseal iniciar vi. La siguiente es la sintaxis básica del comando vi:vi [ opción(es) ] [ nombre_de_archivo ]

Comandos básicos de viComando Modo desde

dondese ejecuta

Acción del comando

a Comandos Comienza el modo insert desde la posiciónsiguiente al cursor

A Comandos Comienza el modo insert al final de la línea

i Comandos Comienza el modo insert desde la posiciónanterior al cursor

o Comandos Comienza el modo inser agregando unalínea debajo del cursor

:w Última línea Graba el archivo en el disco

:w file Última línea Graba el archivo con el nombre “file”

:wq Última línea Graba el archivo y sale de vi

:q! Última línea Sale de vi sin guardar cambios

Esc Cualquier modo Lleva la modo comandos

El editor EmacsEmacs es uno de los programas de edición más capaces disponibles. En estemomento existen dos versiones de Emacs: Emacs GNU, y XEmacs. A continuación sepresenta una lista parcial de las funcionalidades y ventajas de Emacs:

Gratuito y Abierto Simple y Fácil Auto-documentado Personalizable Programable Modos Orientado a la Producción Basado en Gráficos o Terminal E-mail Integración al Sistema

Aquí demostraremos cómo efectuar las operaciones de la manera Emacs tradicional,utilizando comandos del teclado (en lugar de menú). Esta operación, una vezaprendida, es mucho más rápida.

24

Se necesitará comprender un poco acerca de la notación de teclas encadenadas deEmacs para poder utilizar los comandos del teclado:

Teclas Significado

C-<carácter> Mantenga presionada la tecla CONTROL mientras se tipea la tecla<carácter>. Por ejemplo, C-a significa Control+A.

C-xC-fC-x s

Algunas teclas de control, tales como Control+X, son prefijos a losque siguen una o más otras teclas. Éstas pueden ser otro carácterde control o un carácter plano.

M-<carácter> Mantenga presionada la tecla META mientras se tipea <carácter>.Si no hay una tecla META, o el alumno no sabe dónde estáubicada, ha de presionar ESC (Escape) seguida de la tecla<carácter>.

M-x Ésta es una tecla importante que pide al alumno un comando aejecutar por nombre. Esto es útil cuando el alumno no recuerda lacombinación de teclas.

A continuación se describen los comandos para las principales tareas: Inicio de Emacs: Inicie Emacs simplemente lanzando el programa, o con uno

o más argumentos de nombre de archivo:emacsemacs myfile

Cómo Abortar una Entrada del Teclado: La combinación de teclas másimportante de Emacs esC-gC-g ejecuta un comando denominado keyboard quit (salida del teclado). Estopermite al alumno salir de cualquier operación cuando se vuelve demasiadodifícil o complicada para el usuario. Si el usuario se encuentra en una situaciónque ocasiona problemas, C-g casi siempre lo sacará de ella.

Apertura de un Archivo: Para abrir un archivo para su edición, presione lacombinaciónC-x C-fUn prompt en la parte inferior de la pantalla pide el nombre del archivo.Responda con:junkfileo el alumno puede elegir cualquier nombre. El archivo no tiene por qué existir.En Emacs el usuario está siempre en modo insertar. Esto lo diferencia de vi,donde el usuario alterna entre los modos insertar y de comandos. Tipeecualquier texto que el usuario quiera utilizar.

Cómo Deshacer Errores: Para deshacer un error, presioneC-/Repita C-/ para deshacer más cambios.

Guardado del Trabajo: Para guardar el archivo actual en cualquier momento,tipeeC-x C-sEl alumno aún puede tipear C-x u (undo - deshacer) en cualquier momento.Emacs continuará deshaciendo hasta que ya no recuerde cosas paradeshacer.

Salida de Emacs: Para salir de Emacs correctamente, tipeeC-x C-c

25

Si Emacs se da cuenta de que hay buffers de archivo sin salvar, preguntará alusuario si guarda cada uno de ellos.

Para acceder al TUTORIAL en cualquier momento, presioneC-h t

Para listar los posibles comandos de ayuda puede tipear:C-h ?

Editores Gráficos y Procesadores de TextoEl editor de texto gedit de GNOME es un editor gráfico que es comparable al bloc denotas de Windows. La inserción, el borrado y la edición de texto es muy similar. Paraacceder a gedit, haga clic en el menú principal de GNOME, luego en Programs(Programas) y finalmente selecciónelo del menú Applications (Aplicaciones). La Figuramuestra la pantalla inicial de gedit con algún texto tipeado en ella. La porción superiorde la ventana contiene botones que se utilizan para crear, abrir, guardar e imprimirarchivos así como los botones de edición de texto estándar para cortar, copiar y pegar.También existen botones para deshacer [undo] y rehacer [redo].

Los procesadores de texto son diferentes a los editores de texto. Los procesadores detexto están diseñados para crear documentos fáciles de leer. Los procesadores detexto incluyen funcionalidades para aplicar formatos al texto, como negritas,subrayado, etcétera. También incluyen funcionalidades para incluir gráficos eimágenes, insertar tablas, y una impresión flexible.En la mayoria de las distribuciones Linux se dispone de una suite de oficina (paqueteque incluye procesador de texto, planilla de cálculo, etc.) libre llamada Open Office.

26

Protección del sistema de archivosDescripción General de la SeguridadLa función principal de la seguridad del sistema es denegar el acceso a usuarios noautorizados. Mantener segura la información de las computadoras es importante tantopara el usuario como para el administrador del sistema. Al proteger sus archivos ycuentas de un uso no autorizado, los usuarios protegen también sus empleos y sureputación. Las funcionalidades de seguridad estándar del entorno UNIX incluyen lassiguientes:

Cuentas y contraseñas del usuario que restringen el acceso al sistema: Protección de archivos y directorios por medio de permisos Herramientas que controlan los logins y comandos remotos en estaciones de

trabajo individuales Otras herramientas que permiten a los administradores del sistema verificar

rupturas en la seguridad

Permisos del Sistema de ArchivosLos permisos determinan qué usuarios pueden acceder a los archivos y directorios delsistema de archivos y qué pueden hacer esos usuarios. Los permisos de directorios yarchivos pueden determinarse utilizando el comando ls (listado) con la opción -l(largo). El comando ls -l muestra un listado largo de los contenidos de un directorio. Sise incluye la opción -a (all - todos), se muestran todos los archivos. Esto tambiénincluye a los archivos ocultos, aquéllos que comienzan con un punto.

El primer carácter de la pantalla no es realmente una parte de los permisos pero indicael tipo de archivo. Este primer carácter es normalmente un guión (-) lo cual significaque se trata de un archivo o la letra d, que significa que se trata de un directorio.También pueden estar presentes otros caracteres de tipo de archivo según se pudover previamente. Los siguientes nueve caracteres representan los permisos delarchivo o el directorio. Éstos se dividen en tres conjuntos de tres permisos cada uno.Existe un conjunto para cada categoría de usuarios: usuario, grupo u otro. Lospermisos del usuario representan el primer conjunto de tres permisos. El segundoconjunto se aplica al grupo al que pertenece el usuario. El tercer conjunto se aplica atodos los otros usuarios. En resumen, los primeros 10 caracteres definen:

File type (Tipo de archivo) determina si se trata de un directorio o de unarchivo. Esto no es parte de los permisos.

27

Owner (Propietario) es el usuario que creó o es propietario del archivo odirectorio.

Group (Grupo) es el grupo de usuarios definido por el administrador delsistema.

Others (public) - Otros (público) son todos los otros usuarios que no formanparte de usuario o grupo.

Es importante comprender cada una de las categorías o clases de usuarios y cómo lospermisos de acceso a los archivos y directorios las afectan. Las categorías y permisosasociados con los usuarios determinan quién puede acceder a estos recursos y quépuede hacer con ellos.En la figura previa que muestra el listado de ls -l para el archivo .profile los primeros 10caracteres de la pantalla representan el tipo de archivo y los permisos para el mismo.El guión en la primera posición indica que se trata de un archivo. Los permisos delusuario (user2) son de lectura y escritura (r w -), los permisos para el grupo (personal)son de lectura (r - -), y los permisos para otros (todos los otros usuarios) son de lectura(r - -).

Aplicación de Permisos Basándose en la CategoríaEl usuario es propietario de los archivos que crea. La asociación grupal sobre estosarchivos es el grupo principal del usuario. El acceso está determinado por la categoríamás alta a la cual pertenece el usuario. La categoría de usuario o propietario tiene unaprioridad más alta que la categoría de grupo. Ésta, a su vez, tiene una prioridad másalta que la categoría otros. Un alumno que sea el usuario o propietario, incluso aunquesea un miembro del grupo sólo tendrá aplicados los permisos de la categoría deusuario. Los permisos para otros se aplican sólo a alguien que no sea ni el propietariode un archivo o directorio ni un miembro del grupo al que pertenece el propietario.Como ejemplo, si Ud. es el propietario de un archivo y tiene permisos de lectura,escritura y ejecución. El grupo al que pertenece el alumno tiene permisos para accesoa la lectura, y otros no tienen acceso. Los permisos del usuario tienen prioridad sobrelos permisos de grupo. Por lo tanto, los permisos del usuario serán de lectura,escritura y ejecución, que son los permisos de la categoría usuario o propietario. Sialguien del mismo grupo del usuario intenta acceder al archivo, esa persona sólopodrá leerlo. Cualquiera que pertenezca a la categoría otros ni siquiera tendrá accesoal archivo.

Determinación del acceso a los archivos y directoriosTodos los archivos y directorios tienen un número identificador de usuario (UID) y unnúmero identificador de grupo (GID) asociados a ellos. El kernel utiliza estos númerospara identificar la propiedad de los archivos en lugar del nombre de usuario y grupofamiliares para el usuario. El comando ls -n muestra el UID y el GID numéricos. Nóteseque, en la figura, la opción -a (all - todos) se incluyó para ver el archivo .profile quenormalmente está oculto. La Figura también muestra otros dos comandos útiles altrabajar con los UIDs y GIDs. El comando id muestra UIDs y GIDs numéricos yalfabéticos para el identificador efectivo del usuario (EUID). El comando groupsmuestra todos los grupos de los cuales es miembro.Cada proceso del sistema es iniciado por el sistema operativo. Cada sistema tambiéntiene un UID y un GID, dependiendo de quién inició el proceso. Cuando un procesointenta leer, escribir, o ejecutar un archivo, se comparan el UID y el GID del proceso.En primer lugar se compara el UID del archivo o directorio y luego el GID. Si ningunode ellos coincide, se utiliza la otra categoría de permisos. Cuando ocurre unacoincidencia, los permisos especificados para el archivo o directorio para esacategoría de usuario, grupo u otro, se aplican. Para determinar si se deberá permitir al

28

usuario llevar a cabo la acción, la ID de usuario y la ID de grupo de un archivo odirectorio se comparan con la lista de acceso permisible para el archivo o directorio. Eldiagrama de flujo de la Figura ilustra la lógica que se aplica para determinar si unproceso

Cambio de Permisos desde la Línea de ComandosLos permisos de archivos y directorios pueden cambiarse utilizando el comandochmod (cambiar modo) o por medio del Administrador de Archivos o Nautilius delGNOME. Los permisos por defecto para un archivo o directorio serán adecuados parala mayoría de las necesidades de seguridad. No obstante, el usuario puede desearcambiar los permisos para un archivo o directorio. Por defecto, todos los archivos secrean con permisos que permiten a la categoría de usuario otros leer el archivo. Estosignifica que cualquiera que tenga una ID de login puede ver el contenido del archivo ycopiarlo. Para archivos clasificados e información privada, el usuario deberá quitar elpermiso de lectura a la categoría otros.Los scripts de shell son otro ejemplo en donde es posible que el usuario desearacambiar permisos. Cuando un usuario crea un archivo de script de shell o cualquierarchivo, los permisos por defecto no incluyen la ejecución. Éste es el caso incluso parael propietario o creador del archivo.El comando chmod es utilizado por el propietario de un archivo, o superusuario, paracambiar los permisos de archivos. Los dos modos de operación para el comandochmod son simbólico (o relativo) y octal (o absoluto):

El Modo Simbólico utiliza combinaciones de letras y símbolos para agregar oquitar permisos para categorías de usuarios seleccionadas. El modo simbólicotambién se denomina modo relativo.El formato del comando para el modo simbólico es el siguiente:chmod modo nombre_de_archivoLa porción del modo del formato del comando está compuesta de tres partes,según se explica aquí:

o Quién, es la categoría de usuarios con la cual está trabajando el usuario(u, g, o, o a).

o Op, es el operador o lo que el usuario ha de hacer. Por ejemplo:configurar [set] (=), quitar [remove] (-), o dar [give] (+).

o Permisos son los permisos o el permiso asignado al archivo o directorio.Por ejemplo: lectura [read] (r), escritura [write] (w), o ejecución [execute](x).

El Modo Octal utiliza números octales para representar permisos de archivos yse utiliza para configurar permisos para las tres categorías de usuarios. Elmodo octal también se denomina modo absoluto o numérico.chmod modo_octal nombre_de_archivoEl “modo_octal” está dado por un número de tres dígitos (o cuatro en casosparticulares) donde cada uno de los dígitos comprendidos del 0 al 7 identificalos permisos a aplicar a cada conjunto (propietario, grupo, otros). La siguientetabla resume la correspondencia de número a permisos para cada dígito:

29

Cambio de Permisos por medio de Herramientas GráficasEl administrador de escritorio Nautilus que se incluye con GNOME proporciona unainterfaz gráfica para la administración de archivos. Este administrador de escritoriopuede utilizarse para visualizar y cambiar permisos para archivos y directorios.Es posible ver y cambiar las propiedades de un archivo o directorio haciendo clic en lasolapa Tree (Árbol) y luego navegando hasta el archivo. Elija Show Properties (MostrarPropiedades) desde el Menú File o haga clic en el ícono del archivo y seleccione apartir del menú popup.

La Figura muestra la ventana Properties del archivo projects. Hacer clic en la solapaBasic (Básicas) permite al alumno visualizar información acerca del archivo, tal comoel tamaño del archivo, la fecha de la última modificación y el tipo de mime. Hacer clicen el botón Permissions permite al alumno visualizar y cambiar los permisos. Paracambiar los permisos para el propietario o usuario, grupo u otros, seleccione elpermiso deseado haciendo clic en el recuadro de verificación. Haga clic en la X paracerrar la ventana cuando termine para guardar los cambios

Identificación y Cambio de UsuariosDos comandos principales muestran quién está utilizando el sistema: who y finger. Elcomando who muestra información acerca de todos los usuarios actualmenteloggeados al sistema local. Este comando presenta una lista del nombre de usuario, laterminal, el tiempo de login, el tiempo de inactividad en la línea de la terminal, y elnombre de la máquina host. La Figura muestra algunos ejemplos del uso del comando

30

who. El nombre de host es el nombre de la computadora desde la cual está loggeadoel usuario.El comando finger muestra la misma información que el comando who. El comandofinger también brinda información más específica acerca del usuario tal como elnombre completo del mismo a partir del archivo /etc/psswd, cuánto tiempo desde queel usuario ha estado inactivo, el nombre del host, si se loggeó remotamente y el últimologin. Cuando se proporcionan uno o más argumentos de nombre de usuario (fingermmouse dduck), se brinda información más detallada para cada nombre de usuarioespecificado. Esto es cierto ya sea que el usuario esté loggeado o no.Un usuario puede cambiarse temporalmente a la cuenta de otro usuario para accedera archivos y directorios que pertenecen a ese usuario utilizando el comando su (switchuser - cambiar de usuario). El usuario necesitará en ocasiones cambiarse a la cuentade otro usuario para modificar archivos de los cuales éste es propietario o para haceralgo de parte de dicho usuario. Los administradores normalmente utilizan el comandosu al resolver problemas del usuario o para probar la autorización y el comportamientode la cuenta con determinadas aplicaciones. Al cambiarse a la cuenta de otro usuario,el usuario tendrá acceso a los mismos archivos que tiene el primero. La siguiente es lasintaxis del comando su:su [ - ] nombre_de_usuarioPara cambiar de ID de usuario, debe proporcionarse la contraseña de la ID del usuarioa la cual se está cambiando. No obstante, si el alumno está actualmente loggeadocomo raíz no es necesario el uso de una contraseña. Al cambiarse a la cuenta de otrousuario, el alumno se convierte en él y tiene todos los accesos y privilegios que éstetiene. Para volver a la ID de usuario anterior del alumno, tipee exit.

ImpresiónEl Entorno de Impresión UNIXTodos los sistemas operativos de red deben proporcionar a los usuarios la capacidadpara imprimir en impresoras locales y remotas. En el entorno de impresión UNIX, losusuarios pueden tener impresoras locales conectadas a sus estaciones de trabajo ytambién pueden imprimir a impresoras de red remotas.En el entorno de impresión UNIX existen tres componentes principales:

La impresora es un dispositivo de impresión físico. La impresora puedeconectarse a una estación de trabajo o servidor de red utilizando un cableparalelo o, en algunos casos, un cable serie, como sucede con los plotters.

El Nombre de la Impresora (Cola) es el nombre de una cola de impresiónasociada con la impresora física. Es un nombre lógico para la impresora, quees asignado por el administrador del sistema. Éste es el nombre al cualimprimen los usuarios. Un nombre tal como hplaser1 describe un tipo deimpresora en particular, y el número 1 indica que es la primera instalada.

El Servidor de Impresión es la computadora que administra solicitudes deimpresión entrantes y envía dichas solicitudes, a medida que la impresora estálista. Los servidores de impresión ejecutan el daemon de impresora lpsched,que administra las solicitudes de impresión. La cola de impresión está ubicadaen el disco duro del servidor de impresión. Las solicitudes de impresión otrabajos de impresión se almacenan en el disco duro hasta que son impresos, yluego se borran o purgan.

El administrador del sistema configura el entorno de impresión instalando impresoras ydefiniendo colas de impresión y servidores para soportarlas. El administrador delsistema es quien administra el entorno de impresión. El administrador puede controlarla disponibilidad de las impresoras, definir impresoras por defecto, y decidir quién

31

puede imprimir a qué impresoras. El administrador también puede administrar la colade impresión de cada impresora. La cola de impresión es la lista de trabajos queesperan ser impresos. La Figura muestra el proceso de impresión.Cuando el usuario envía una solicitud de impresión a una impresora, la solicitud enrealidad se envía a una cola de impresión. La cola de impresión es un directorioespecial que se almacena en el disco duro de la estación de trabajo del usuario o enun servidor de red remoto. Todas las solicitudes o trabajos de impresión se dirigenprimeramente a la cola. Si la impresora está disponible, la solicitud es servidainmediatamente. Si la impresora está ocupada, la solicitud se coloca en la cola hastaque la impresora esté disponible. Cada impresora, ya sea que esté o no conectada auna computadora o conectada directamente a la red, debe tener asignada una cola deimpresión que esté ubicada en una computadora. Las impresoras usualmente notienen discos duros o la capacidad para almacenar solicitudes de impresión.

Impresión desde la Línea de ComandosLa impresión de texto ASCII o de archivos PostScript puede efectuarse desde la líneade comandos utilizando el comando de spooler de impresora lp (line printer -impresora de línea). No utilice este método para imprimir archivos de datos o archivosbinarios. Los archivos de datos se crean en aplicaciones tales como OpnOffice. Lafunción del comando lp es colocar en una cola texto para su impresión.Formato del comando:lp [ -opciones ] [ nombre(s)_de_archivo(s) ]Las opciones más comunes son:

-d: Especifica el nombre de la cola (impresora) seleccionada -o nobbaner: Indica que no se imprima una página iniciadle referencia al

documento -n #: Permite establecer el número de copias -m: Indica que se envíe un correo al finalizar la impresión

Administración de Colas de ImpresoraEl uso del comando lp envía la solicitud de impresión a la cola de una impresora. Lacola de una impresora es un directorio especial almacenado en el disco duro de laestación de trabajo del usuario o en el servidor de impresión de la red. Puesto que lasimpresoras por lo general no poseen discos duros para almacenar documentos, todaslas solicitudes o trabajos de impresión deben ser "spooled", es decir deben ir primero ala cola de impresión. Si la impresora está disponible, la solicitud se sirveinmediatamente. Si la impresora está ocupada, la solicitud se coloca en la cola hastaque esté disponible. En grandes redes con impresoras centralizadas, las colas deimpresión pueden ser bastante largas, con muchos trabajos de impresión esperandoimprimirse. Un administrador puede monitorear y administrar las colas de impresión demúltiples impresoras.El comando lpstat (line printer status - estado de la impresora de línea), o lpq ensistemas BSD, muestra el estado de la cola de la impresora por defecto. Para ver lassolicitudes de impresión para una impresora específica, utilice el comando lpstat –dseguido del nombre de la impresora o cola a mostrar.En ocasiones un usuario deseará quitar una solicitud de impresión desde la cola deimpresión. Esto puede ocurrir si el usuario imprime accidentalmente el documentoequivocado, especialmente si el documento es largo. En cualquiera de estos casos, siel trabajo de impresión se encuentra aún en la cola de impresión, puede cancelarloantes de que se imprima.Los usuarios sólo pueden cancelar aquéllas solicitudes de impresión que ellos haniniciado. Un usuario no puede quitar las solicitudes de impresión de otro usuario. Sólo

32

el administrador del sistema puede hacerlo. El comando cancel permite al usuariocancelar solicitudes de impresión enviadas previamente por medio del comando lp. Enlos sistemas BSD el comando es lprm. Para hacerlo, debe utilizar primeramente elcomando lpstat para identificar la ID de solicitud. Si el usuario cancela un trabajo deimpresión, esto no afecta a los números de ID de solicitud de los otros trabajos queaún se encuentran en la cola. Para cancelar una solicitud de impresión, utilice elsiguiente formato:Formato del Comando:cancel ID_de_solicitud

Uso de las Herramientas de Impresión GráficasEl usuario puede imprimir un archivo desde la ventana del Administrador de Archivosarrastrándolo y colocándolo en el ícono del Administrador de Impresión. Tambiénpuede imprimir un archivo colocándolo directamente en la ventana Printer Jobs delAdministrador de Impresión. Una vez que el objeto archivo ha sido colocado en laventana Print Jobs, se mostrará otra ventana en la cual un usuario puede:

Designar una impresora alternativa para imprimir el archivo Designar la cantidad de copias del archivo a ser impresas Configurar el título de un banner (que se mostrará en la ventana del

Administrador de Impresión junto con el objeto a imprimir) Seleccionar páginas específicas a imprimir Designar qué opciones de comandos de impresión UNIX deberán utilizarse

como alternativa al comando de impresión por defecto.Una vez seleccionado el botón Print (Imprimir), el archivo se enviará a la cola de laimpresora apropiada.

Copias de seguridadEstrategias de Copiado de SeguridadPodemos comparar varios tipos diferentes de copiado de seguridad, basándonos encuánto tiempo requiere el copiado de seguridad y en cuán fácil es restaurar los datos.Los tres tipos más comunes de copias de seguridad son las copias de seguridadcompleta, incremental y diferencial.Todas las organizaciones toman en cuenta una cierta cantidad de factores aldeterminar qué método utilizar:

La criticidad de los datos La cantidad de datos a ser copiados La "ventana temporal" disponible para hacer las copias de seguridad Los fondos disponibles para el sistema de copiado de seguridad

La pérdida de datos puede ser tan dañina para un pequeño negocio como para unagran corporación. El sistema de copiado de seguridad no es el lugar para reducircostos.

Copiado de Seguridad CompletoEn el copiado de seguridad completo, todos los datos críticos se resguardandiariamente. Cada noche después del cierre del negocio, todos los datos seresguardan, ya sea que hayan cambiado o no. Este método es el que lleva más tiempoy podría requerir de múltiples cintas, dependiendo de la cantidad de datos.

33

Copiado de Seguridad IncrementalEn el copiado de seguridad incremental, los datos se resguardan en incrementos.Todos los datos críticos se resguardan una vez por semana durante un día enparticular. Por ejemplo, el usuario puede resguardar los datos cada domingo a lanoche. Sólo los cambios se resguardarán cada día después del copiado de seguridadsemanal. El siguiente copiado de seguridad (del lunes) resguardará sólo los nuevosarchivos o aquéllos que han cambiado desde el copiado de seguridad del domingo a lanoche. El copiado de seguridad del martes resguardará sólo los archivos nuevos ycambiados desde el copiado de seguridad del lunes. El copiado de seguridad delmiércoles sólo sería para los archivos nuevos y cambiados desde el martes, etcétera,hasta que el usuario llega nuevamente al domingo y entonces lleva a cabo otrocopiado de seguridad completo.

Copiado de Seguridad DiferencialEn el copiado de seguridad diferencial, el usuario también efectúa un copiado deseguridad completo una vez por semana. Por ejemplo, el usuario puede realizar uncopiado de seguridad de los datos cada domingo a la noche. El usuario resguardaríatodo lo que haya cambiado desde el domingo, el lunes. El martes, el usuario tambiénresguardaría todo lo que haya cambiado desde el domingo. El miércoles, nuevamenteel usuario resguardaría todo lo que haya cambiado desde el domingo, etcétera. Elcopiado de seguridad del lunes podría no requerir mucho tiempo porque el usuarioestá resguardando sólo la cantidad de datos de un día al igual que sucede en elcopiado de seguridad incremental. No obstante, cada día después del lunes el copiadode seguridad requerirá más tiempo

Medios de Copiado de SeguridadExiste una cantidad de diferentes opciones de medios para resguardar los datos.Estas opciones abarcan desde diskettes de muy baja capacidad a unidades de cintade muy alta capacidad. La figura muestra la variedad de medios de resguardodisponibles.La cinta magnética streaming es el medio más común para resguardar datos porqueno es cara y puede almacenar grandes cantidades de datos. Las unidades de cintason dispositivos de grabación secuencial. Esto significa que los datos se ubican en unflujo de bits de un extremo a otro a medida que la cinta pasa por los cabezalesmagnéticos de lectura y escritura.Para ubicar un archivo específico en una cinta, ésta debe rebobinarse o avanzar hastala ubicación donde se grabó el archivo. Esto puede requerir varios minutos,dependiendo de la velocidad de la unidad y de dónde esté ubicado el archivo.Las unidades de cinta son los dispositivos de copiado de seguridad más comunes. Noobstante, los diskettes y CD se utilizan extensamente en los sistemas de escritorio,como UNIX y Windows, para resguardar pequeñas cantidades de archivos y paraintercambiar archivos entre sistemas cuando una conexión remota no está disponiblepara efectuar una transferencia directa.

Acceso a Diskettes y Dispositivos de CDLos principios del trabajo con medios removibles son los mismos en Linux que en otrasversiones de UNIX. Antes de utilizar un nuevo diskette, el disco debe formatearseprimero. Luego debe colocarse en el diskette un sistema de archivos UNIX o DOS. Undiskette con un sistema de archivos UNIX puede montarse y copiarse como particióndel disco duro. Con un sistema de archivos DOS, el dispositivo actúa como el diskettede una PC. Los archivos pueden copiarse, colocarse en una lista, y borrarse utilizandolas utilidades mtools. Mtools es un conjunto de utilidades que sirven para acceder a

34

discos MS DOS desde UNIX sin montar los discos. Mtools se incluye con muchasdistribuciones de Linux incluyendo a Red Hat. No obstante, es posible que seanecesario instalar mtools para hacerlo disponible.En GNOME, las unidades montables del usuario pueden montarse y desmontarseutilizando la applet Drive Mount (Montaje de la Unidad). El alumno puede agregartantas copias de esta applet en un panel como dispositivos removibles haya en elsistema. La configuración por defecto es para los diskettes, pero también puedeconfigurarse para CD ROM, Zip, Jaz e incluso unidades de disco duro.La forma de trabajar con discos de CD ROM en Linux es similar a la forma en que setrabaja con los diskettes, excepto en que los discos de CD ROM no necesitan serformateados. No obstante, los CDs de datos deben montarse y desmontarse como undiskette o partición del disco duro. GNOME permite a los usuarios montar CDs dedatos automáticamente al insertar los CDs en la unidad.

Copiado de Seguridad, Compresión y Restauración de ArchivosEl sistema operativo UNIX tiene varias utilidades integradas que permiten a múltiplesarchivos ser resguardados y comprimidos. El comando tar (tape archive - archivadorde cinta) permite hacer copias de seguridad de archivos únicos o múltiples de unajerarquía de directorios. El comando tar es estándar con todas las versiones delsistema operativo UNIX. tar originalmente fue desarrollado para utilizarse conunidades de cinta. No obstante, tar puede copiar archivos en otras ubicaciones deldisco duro o de un diskette y otros medios removibles. El comando tar puede crear unarchivador a partir de un único archivo. No obstante, tar se utiliza principalmente paracombinar múltiples archivos, tales como los contenidos de un directorio, en un únicoarchivo y luego extraer posteriormente el contenido, de ser necesario. Utilizado solo,tar no comprime los archivos al empaquetarlos, como los programas PKZIP y WinZippara las PCs. Muchos tipos de aplicaciones y paquetes de actualización para Linux sedistribuyen en forma de "Tarballs", que son grupos de archivos combinados en unosolo.Las opciones utilizadas más frecuentemente disponibles con el comando tar son c, t, yx. No es necesario, pero es aceptable, precederlos con un guión (-), como sucede conotras opciones de comandos UNIX. La sintaxis del comando se muestra aquí.tar función [ modificador ] [ archivo de resultado ]nombre(s)_de_archivo/directorio(s)Las funciones de tar son caracteres únicos utilizados para crear un archivo tar,visualizar el contenido de un archivo tar, o extraer archivos de un archivo tar. Estasfunciones se resumen a continuación:

c (crear) se utiliza para archivar uno o más archivos o directorios y crear unarchivador.

t (tabla de contenidos) se utiliza para ver la tabla de contenidos del archivo tar.Éste es un listado de los archivos que se combinaron para hacer un únicoarchivo tar.

x (extract - extraer) se utiliza para extraer el archivo o los archivos delarchivador y separarlos nuevamente en múltiples archivos. El archivo tar aúnexiste después de hacerlo.

Los modificadores de función tar son caracteres únicos utilizados en conjunción con uncarácter de función al crear, visualizar o extraer de un archivo tar. Los dosmodificadores de función más comunes se resumen aquí:

f (file - archivo) permite al alumno especificar un archivo tar a crear (c), del cualextraer (x), o del cual ver la tabla de contenidos (t).

35

v (verbose - "elocuente") ejecuta el comando en modo "elocuente", lo cualpermite al alumno ver los resultados detallados del comando tar a medida quetienen lugar.

Programas de Copiado de Seguridad y Compresión AlternativosEl comando cpio (copy in-out - copiar hacia-desde) es otro comando de copiado deseguridad popular de UNIX y se lo utiliza para copiar archivos hacia y desde undispositivo de copiado de seguridad. Al igual que el comando tar, el comando cpio creaun único archivador que contiene múltiples archivos. Una gran diferencia es que cpioutiliza una lista generada de archivos o nombres de ruta desde el resultado de otrocomando, tales como Is o find, en lugar de especificar nombres de archivos ydirectorios. cpio escribe luego los archivos seleccionados en un resultado estándar,que se redirige usualmente a un archivo o dispositivo.cpio opciones nombre(s)_de_archivo

ProcesosProcesos del Sistema UNIXTodos los sistemas operativos tienen algún medio de administrar las tareas. El sistemaoperativo de redes UNIX administra las tareas mediante el uso de procesos.Los procesos pueden ser iniciados por el sistema operativo o por los usuarios. Lamayoría de las tareas que se llevan a cabo en el entorno UNIX inician un proceso. Unproceso puede iniciar un subproceso. Esto crea una jerarquía o árbol de procesossimilar a la estructura del sistema de archivos, con relaciones padre/hijo. Por ejemplo,cuando utiliza vi para editar un archivo, o envía un archivo a la impresora por mediodel comando lp, se inicia un nuevo proceso. El shell donde se inició el proceso es elproceso padre. El comando en proceso de ejecución es el proceso hijo. El procesopadre proporciona un entorno para que se ejecute el proceso hijo. El proceso padreespera en estado suspendido hasta que el proceso hijo termine. Una vez completadoéste, o terminado por un usuario, el proceso padre reasume el control y el prompt delshell retorna. Cuando un proceso se coloca en segundo plano, como en:$sort largefile &(el signo et o ampersand al final de la línea de comandos instruye al shell para queprocese el ordenamiento en segundo plano), el shell no espera en estado suspendidoa que el proceso hijo termine. El prompt del shell regresa inmediatamente y el usuariopuede introducir otro comando mientras el proceso en segundo plano sigueejecutándose. Así es, básicamente, cómo funciona el multiprocesamiento en UNIX.Cada programa que el usuario ejecuta crea un proceso, al cual se asigna un númerode identificación del proceso [process identification number] (PID) único. El PID esutilizado por el sistema para identificar y rastrear el proceso hasta que éste secompleta.El kernel del OS administra el inicio y la terminación de todos los procesos. Cadaproceso requiere recursos del sistema, tal como tiempo de la unidad central deprocesamiento (CPU) y espacio de la memoria de acceso aleatorio (RAM) en quétrabajar. El OS adjudica estos recursos del sistema a cada proceso cuando se inicia ylos readjudica cuando el proceso finaliza.

Exposición de ProcesosEl comando ps (process status - estado del proceso) se utiliza para presentar una listade los procesos que se están ejecutando actualmente en el sistema. Esto se lleva acabo normalmente si un proceso está llevando demasiado tiempo o parece habersedetenido, como lo indica una ventana de Terminal que no responde. Mediante un

36

listado de los procesos, puede ver el nombre del comando o programa que inició elproceso. También verá cualquier proceso hijo que podría haber generado. Ejecutandoel comando ps más de una vez, el alumno puede ver si un proceso aún se estáejecutando mirando el tiempo del proceso. Éste es la cantidad de tiempo de la CPUque el proceso está utilizando. Si esta cantidad no se incrementa, entonces el procesopodría haberse detenido. El alumno puede utilizar el comando ps para verificar la PIDdel proceso y luego cerrarlo o "matarlo" si está requiriendo demasiado tiempo o se hadetenido.El resultado del comando ps mostrará el número de PID y el comando o programaasociado a él. El número de PID normalmente se utiliza para terminar un proceso. Lasiguiente es la sintaxis del comando ps:ps [-opciones]Existen tres opciones principales del comando ps:

-e (every process - cada proceso) -f (full listing - listado completo) -u (usuario)

Terminación de ProcesosEl comando kill proporciona una manera directa de terminar procesos de comandos nodeseados. Es útil cuando desea detener un comando que requiere mucho tiempo deejecución. También se utiliza el comando kill para terminar un proceso del cual nopuede salir de la manera normal. Especificar las PIDs del usuario normalmente "mata"los procesos. A los procesos en segundo plano, aquéllos emitidos utilizando el et oampersand, también se les asigna una ID de trabajo. Puede "matar" procesos ensegundo plano utilizando los comandos process id o job id. Para visualizar todos lostrabajos que se están ejecutando en segundo plano y las IDs de trabajo, el alumnoutiliza el comando jobs. El número que da como resultado entre corchetes es elnúmero de ID del trabajo. A continuación se muestra la sintaxis del comando kill:kill [-señal] process-id o %job-idPara terminar un proceso por medio del comando kill, el alumno tipea ps para conocerla PID o PIDs del proceso o procesos. Entonces se tipea kill seguido por la PID o PIDs.Si el alumno utiliza el comando kill sin especificar una señal, la señal 15 (SIGTERM)se envía al proceso con el número de PID especificado. Esto se denomina soft kill yusualmente hace que el proceso se termine. Es mejor utilizar un soft kill en unproceso, de ser posible, porque cierra los archivos apropiadamente y termina elproceso o los procesos de manera apropiada.

Procesos en Primer y Segundo PlanoUNIX es un OS multitarea con la capacidad para trabajar en muchas tareas diferentesal mismo tiempo. Mientras está trabajando en una ventana de Terminal o accediendoal explorador de Internet en primer plano, el sistema ejecuta muchos procesos ensegundo plano, permitiendo el funcionamiento apropiado del sistema.

Procesos en Primer PlanoLa comunicación entre el usuario y el shell sucede interactivamente, de a una tarea ala vez. Por ejemplo, cuando el alumno introduce un comando en una ventana deTerminal, el shell procesa el comando y muestra el resultado. Así, ud. debe esperarhasta que el shell complete la tarea antes de requerir otra. Esto se consideraprocesamiento en primer plano.

37

Procesos en Segundo PlanoUNIX es un sistema operativo multitarea. No obstante, la ejecución de procesos enprimer plano puede limitar la ejecución de comandos y programas a un proceso enserie en el cual se ejecutan uno tras otro y bloquean innecesariamente una ventana deTerminal. Si los programas han de ejecutarse simultáneamente, deben hacerlo desdeuna ventana de Terminal diferente o ejecutarse en segundo plano.Es posible ejecutar un proceso en segundo plano agregando un et o ampersand (&) alfinal de la línea de comandos. Los procesos en segundo plano se ejecutan de maneraconcurrente con otros procesos del sistema y programas del shell. Podría desearejecutar procesos en segundo plano porque éstos consumen mucho tiempo.

Planificación de ProcesosLa capacidad multitarea de UNIX no se limita a ejecutar procesos sólo en el presente.UNIX contiene programas que permiten planificar programas para que se ejecutensólo una vez en un momento especificado utilizando el comando at. También puedeplanificar operaciones repetidas utilizando el comando crontab.El comando at permite ejecutar programas, comandos o scripts del shell en algunafecha y hora futuras. Formato del comando:$at [espec temporal] [nombre del archivo script]Ej.:$at midnight clean_trash.shLa utilidad crontab permite a un usuario planificar un comando o programa a serejecutado en intervalos planificados. Esta utilidad es útil para planificar copiados deseguridad, buscar y borrar archivos nucleares del árbol de directorios home delusuario, o incluso para enviar por email a un amigo un saludo por su cumpleañosautomáticamente.El comando crontab se utiliza para visualizar y editar un archivo crontab del usuarioque almacena información de programas planificados. En algunos sistemas UNIX elusuario podría no tener permitido tener un archivo crontab por razones de seguridad ytendría que pedir al administrador del sistema que otorgue permiso al usuario.Cada entrada del archivo crontab consiste en seis campos separados por espacios otabulaciones. Por ejemplo:0 17 * * 5 /usr/bin/banner "Weekend Is Here!"Aquí cada línea especifica:

El minuto en el que se ejecuta la tarea La hora en que se ejecuta El día del mes El mes de año El dia de la semana El comando a ser ejecutado

Para editar el archivo crontab utilice el comando crontab -e (editar). Debe incluirse latotalidad de los seis campos en una nueva entrada de crontab. Una vez que el alumnoagrega una nueva entrada o edita una entrada existente, guarda el archivo. Para haceruna lista de las entradas del archivo crontab del alumno, éste utiliza el comandocrontab -l (lista). Para borrar el archivo crontab, utiliza el comando crontab -r (remove- borrar).

38

Interfaz de usuario principal: ShellRevisión del ShellUn shell es una interfaz entre el usuario y el kernel. El shell actúa como intérprete otraductor. En otras palabras, el shell acepta los comandos emitidos por el usuario, losinterpreta y ejecuta los programas apropiados.Los shells pueden ser de línea de comandos o gráficos. Los shells son tambiénintercambiables, haciendo posible el iniciar o alternar entre los shells en cualquiermomento para utilizar determinadas funcionalidades no disponibles en otros shells.El shell es el primer programa a ejecutar cuando el usuario se loggea en el sistema.Además del rol principal del shell como intérprete de comandos, el programa del shellposee numerosas características y comandos incorporados que hacen fácil elinteractuar con el sistema y completar las tareas. Varias de las funcionalidades delshell ya se han tratado en este curso incluyendo:

Funcionalidades Adicionales del ShellUn alias es una forma de dar a un comando un nombre diferente o más corto para suuso en el shell. Los alias proporcionan una excelente forma de mejorar la eficiencia yproductividad al utilizar comandos del shell. Por ejemplo, el alumno puede crear unalias llamado ll (por listado largo) que al ser introducido en la línea de comandosejecuta el comando ls -l.Cuando se configura un alias desde la línea de comandos, se activa sólo para el shellen el cual se creó el alias. Agregar alias al archivo de inicialización activa el alias alhacer login o cada vez que se crea una nueva ventana de terminal o se abre un shell.A continuación se muestra la sintaxis básica del comando alias, que se utiliza paracrear un alias en los shells tanto Korn como Bash:Formato del Comando:alias nombre_del_alias=valorEjemplo:alias ll=’ls –la’Un usuario puede desconfigurar un alias previamente definido por medio del comandounalias. La Figura muestra el uso del comando unalias para desconfigurar el aliasbye, que luego ya no aparece en el listado de alias. El alumno puede también pasarlopor alto temporalmente. Para pasar por alto el alias y utilizar la versión original delcomando, utilice una barra invertida, como lo muestra la Figura . A continuación semuestra la sintaxis básica del comando unalias que se utiliza para borrar un alias:Formato del Comando:unalias nombre_del_aliasOtra funcionalidad muy útil del shel es el history. La funcionalidad history (historial)mantiene un registro de las líneas exactas del comando que se introducen en el mismoorden en que fueron introducidas. El shell asigna a cada comando un número deevento y guarda la cantidad n de últimos comandos en un archivo de historial. Estopermite volver a invocar comandos anteriores, modificar los comandos si así se lorequiere, y re-ejecutar los comandos.Para hacer uso del historial en la mayoría de los Linux con shell bash sólo esnecesario utilizar las flechas hacia arriba y abajo del teclado para localizar el comandodeseado.El shell Bash contiene otra funcionalidad que completa el nombre de un archivo ocomando. Esta funcionalidad permite al usuario tipear los primeros caracteres de unnombre de archivo o comando y posteriormente a través de la tecla tab el shellcompleta el nombre en forma automática si no exitieran ambigüedades.

39

Variables del Shell y Prompts PersonalizadosTodo el trabajo que se lleva a cabo y los procesos que se ejecutan desde el momentodel login hasta el momento del logout se completan dentro de un entorno. El entornoconsiste en las opciones del shell que se activan tales como la edición desde la líneade comandos y también consiste en variables a las cuales los programas del shell ylos procesos acceden durante su ejecución.Las variables predefinidas o las variables creadas por un usuario pueden modificarse.Todas las variables son de uno de dos tipos:

Variables locales (del shell) son variables que están disponibles sólo para lasesión actual del shell.

Variables del entorno (globales) son variables que están disponibles para elshell actual y todos los shells hijos o sub-shells que el usuario o el sistemapodrían iniciar.

Entre las variables más comunes están: HOME: contiene la ruta absoluta al directorio home del usuario PATH: contiene la lista de directorios donde el shell buscará los programas

ejecutables LOGNAME: contiene el nombre que utilizó el usuario para iniciar sesión

Archivos de Inicialización del ShellComo parte de la creación de una cuenta de usuario, el administrador del sistemaelige el shell de para cada uno. El shell de login determina qué archivos deinicialización se leen durante el incio de sesión.Los archivos o scripts de inicialización contienen una serie de comandos,configuraciones y variables. Estos comandos, configuraciones y variables se ejecutany configuran cuando se inicia un shell para establecer el entorno de trabajo para elsistema del usuario. El shell lee estos archivos cuando el usuario hace login (script delogin), cuando un subshell es ejecutado desde el shell de login por el usuario oautomáticamente por el sistema (script del entorno), y cuando un usuario hace logout(script de logout).Existen dos niveles de archivos de inicialización. El primer nivel abarca a todo elsistema. Los archivos de inicialización que abarcan todo el sistema son mantenidospor un administrador del sistema y residen en el directorio /etc. El segundo nivelrepresenta a los archivos de inicialización específicos del usuario que residen en eldirectorio home de cada uno. Durante el proceso de login el archivo de inicializaciónde todo el sistema se lee primero, y los archivos específicos del usuario se leen acontinuación.

Shell ScriptsConceptos Básicos sobre los Scripts del ShellLos comandos y opciones UNIX son numerosos, pueden ser difíciles de recordar, einvolucran mucho tipeo. Para evitar tener que recordar la sintaxis de los comandosUNIX, o para poder ejecutar varios comandos simultáneamente, un usuario puededesear crear un alias o escribir un script de shell. Los scripts de shell se escribenutilizando un editor de texto tal como vi.Un alias se utiliza normalmente para ejecutar uno o más comandos separados porpunto y coma (;). Un script de shell es un archivo de texto que contiene una secuenciade comandos para que el shell ejecute de a una línea a la vez. Tareas complejas queinvolucran variables y otras funciones de programación se logran utilizando scripts deshell.

40

Además de los comandos, los scripts de shell incluyen comentarios. Los comentariosson texto que se utiliza para documentar qué hace el script y describir qué se suponeque hagan las líneas dentro del script cuando éste se ejecuta. Los comentarios vanprecedidos por un símbolo numeral (#) y pueden tener una línea propia o estar en lamisma línea que un comando, a continuación del mismo. La figura muestra un scriptde shell simple llamado userstat creado utilizando vi.

Este script contiene comentarios, precedidos por #, y utiliza tres comandos UNIX parabrindar un resumen de los usuarios del sistema:

echo date who

Los programas del shell son interpretados, no compilados. Los comandos se leen ypasan al shell para ejecutarse de a uno por vez, en secuencia.

Scripts de Shell AvanzadosIncorporado a cada shell UNIX hay un lenguaje de programación completo queconsiste en comandos y construcciones que pueden utilizarse para crear scripts máscomplejos, que van más allá de hacer simplemente una lista de una serie decomandos.Además de contener comandos de programación de shell incorporados tales como if,else, read, case, while, y exit, los scripts complejos utilizan variables predefinidas ydefinidas por el usuario. La figura es un ejemplo de un script de shell más complejoque contiene comandos y variables de shell.

41

El condicional ifLa forma más simple de un comando condicional es el comando if.El comando if es un comando de shell incorporado que le permite al alumno probaruna condición y luego cambiar el flujo de la ejecución de un script de shell basándoseen el resultado de la prueba.Existen tres formatos del comando if. El comando fi (if invertido) se coloca siempre alfinal de un condicional if.El Formato del Comando if-then (si-entonces):

if el comando tiene éxitothenejecutar el/los comando(s)fi

El Formato del Comando if-then-else (si-entonces-de lo contrario):if el comando tiene éxitothenejecutar el/los comando(s)elseejecutar el/los comando(s)fi

Existen más estructuras de control al if, que las podemos resumir (por ser las máscomunes) en:

for case test while

Puede consultar la página man del bash o del shell que utilice para conocer la sintaxisy comportamiento de cada una.

RedesInformática Cliente/ServidorEl modelo de informática cliente/servidor distribuye el procesamiento a lo largo devarias computadoras. El procesamiento distribuido permite el acceso a sistemasremotos con el propósito de compartir información y recursos de la red. En un entornocliente/servidor, el cliente y el servidor comparten o distribuyen responsabilidades deprocesamiento. La mayor parte de los sistemas operativos de red, y especialmenteUNIX, están diseñados en torno al modelo de Cliente/Servidor para proporcionarservicios de red a los usuarios. Las computadoras de una red pueden denominarsehost, servidor o cliente.En un entorno de servidor de archivos normal, el cliente podría tener que recuperargrandes porciones de los archivos de la base de datos para procesarlos localmente.Esta recuperación de los archivos de la base de datos puede ocasionar un tráficoexcesivo en la red. Con el modelo cliente/servidor, el cliente presenta una solicitud alservidor, y el motor de la base de datos del servidor podría procesar 100.000 registrosy derivar sólo unos pocos al cliente para satisfacer la solicitud. Normalmente losservidores son mucho más potentes que las computadoras de los clientes y estánmejor equipados para procesar grandes cantidades de datos. Con la informáticacliente/servidor, la gran base de datos se almacena y el procesamiento tiene lugar enel potente servidor. El cliente tiene que tratar sólo con la creación de la consulta. Una

42

cantidad relativamente pequeña de datos o resultados podrían pasarse a través de lared. Esto satisface la consulta del cliente y resulta en un menor uso del ancho debanda de la red. La figura muestra un ejemplo de la informática cliente/servidor.Nótese que la estación de trabajo y el servidor normalmente estarían conectados a laLAN por medio de un hub o switch

Utilidades de Red y Acceso RemotoA medida que las redes informáticas UNIX comenzaron a desarrollarse, se fueronagregando comandos y utilidades para hacer más fácil el trabajo con programas yarchivos que residen en otras computadoras clientes o servidores de la red, y latransferencia de archivos. Estos comandos eran específicos de UNIX tales comorlogin, rsh, ssh, y rcp o comunes a TCP/IP tales como ping, traceroute, telnet, y ftp.Los comandos rlogin, rsh, ssh, y telnet proporcionan acceso a computadoras remotas.Los comandos ping y traceroute pueden servir como herramientas para resolverproblemas de conectividad de redes. Telnet también puede utilizarse para resolverproblemas de las conexiones de la red.Ping (Packet Internet Groper - Buscador de Paquetes de Internet) es una utilidad degran ayuda que es parte del paquete de protocolos TCP/IP y es estándar de todos lossistemas UNIX. Una computadora que esté ejecutando la pila de protocolos TCP/IPpuede hacer uso del comando ping.ping nombre_de_hostoping [dirección ip]Ping es una buena herramienta de resolución de problemas de bajo nivel. El comandoping prueba la conectividad básica entre hosts TCP/IP.Traceroute es otra utilidad de gran ayuda que es parte de la suite del protocolo TCP/IPbásico. Cualquier computadora en la cual se ejecute TCP/IP puede utilizar el comandotraceroute.traceroute nombre_del_hostotraceroute [dirección ip]Traceroute es una buena herramienta de resolución de problemas para verificar laconexión entre computadoras que están interconectadas a través de routers.Otra utilidad TCP/IP muy útil es Telnet. La utilidad Telnet es estándar en la mayoría delos sistemas operativos. Telnet es un programa de emulación de terminalcliente/servidor que permite al usuario conectarse a otro sistema. El servidor Telnetsimula una terminal para autorizar a un usuario o cliente Telnet a conectarse a unsistema remoto y trabajar en ese entorno. Al hacer Telnet a otro host, se pide unnombre de usuario y contraseña. Una vez establecida una sesión desde el clienteTelnet, puede introducir comandos como si los estuviera introduciendo directamenteen la consola del sistema. Puede hacer Telnet a varios hosts diferentes y tenerabiertas varias sesiones de Telnet simultáneamente.Actualmente se tiene a reempalzar el uso de telnet por ssh ya que este último permiterealizar las mismas tareas pero aplicando políticas de cifrado en el canal decomunicación entre el cliente y el servidor.

Servicios de Nombrado y Resolución de Nombres de HostLos servicios de nombrado almacenan en una ubicación central información que losusuarios, las estaciones de trabajo y las aplicaciones deben tener para comunicarse através de la red. Estos servicios incluyen los siguientes:

Nombres y direcciones de host Nombres de usuario

43

ContraseñasSin un servicio de nombrado central, cada estación de trabajo tendría que mantener supropia copia de esta información. La información del servicio de nombrado puedealmacenarse en archivos, mapas o tablas de bases de datos. La ubicación central deestos datos hace más fácil el administrar grandes redes.El objetivo del servicio de nombrado es permitir la centralización de la administraciónde redes. La administración de un grupo de máquinas crece en complejidad con lacantidad de máquinas y usuarios a administrar. Como resultado, una administracióndescentralizada es concebible para dos o tres máquinas, pero se vuelve más complejasi la cantidad excede dicho límite. Por ejemplo, existe un grupo de cinco máquinas. Sitodos los usuarios tienen que poder hacer login como ellos mismos en cada máquina,el administrador debe duplicar el archivo /etc/passwd en cada una. Aunque hacerloinicialmente es posible, el mantenimiento se torna dificultoso. En efecto, cadamodificación de un elemento del archivo password hace necesario reproducir elcambio en cada máquina. El problema que surge del archivo /etc/passwd seincrementa mucho debido a los cambios necesarios a muchos otros archivosadministrativos, tales como los archivos de grupos y hosts.Los administradores deberán configurar las redes con una administración centralizadaque distribuye una base de datos a todas las máquinas conocidas por laadministración distribuida. Esta base de datos puede centralizarse en un únicoservidor, que proporciona los servicios administrativos. El grupo de máquinas queutilizan la base de datos del servidor se denomina dominio. Esta administracióncentralizada utiliza un servicio de nombrado como marco para el o los dominios. ElSistema de Nombres de Dominio [Domain Name System] (DNS) y el Servicio deInformación de la Red [Network Information Service] (NIS) son dos servicios denombrado que pueden ser configurados en el entorno de redes UNIX

Cómo Compartir Recursos de RedEl Sistema de Archivos de la Red (NFS) es un sistema de archivos distribuido. Es unservicio de red que permite a los usuarios acceder a archivos y directorios ubicados enotros discos de la red de manera transparente. NFS permite a computadoras dediferentes arquitecturas ejecutar diferentes sistemas operativos para acceder arecursos remotos como si fueran locales. NFS se ha adoptado como sistema dearchivos en red estándar de la industria para la mayoría de los vendedores de UNIX.NFS proporciona unos cuantos beneficios a los usuarios:

Los archivos centralizados permiten a múltiples computadoras utilizar losmismos archivos. Puesto que los archivos residen en una o más computadorasy se comparten a la red, otros pueden acceder a ellos. Los archivoscentralizados son útiles con los directorios de login o los archivos de datoscomunes. Es más fácil para un administrador respaldar un sistema de archivoshome que contiene muchos directorios home de usuarios que residen en unúnico sistema en lugar de en estaciones de trabajo individuales.

El software común permite a los sistemas compartir programas de software. Esmás fácil instalar y actualizar una versión en red de un programa en un únicoservidor que instalar el programa en cada estación de trabajo individual.

El acceso a los archivos es transparente para el usuario. Un usuario podríatrabajar en una aplicación o cambiarse a un directorio que reside en otracomputadora de la red y ni siquiera darse cuenta. La funcionalidad deautomontaje hace que los archivos parezcan estar en la computadora delusuario.

Los archivos compartidos normalmente se hacen disponibles en el inicio o en elautomontaje.

44