Curso Básico de UNIX
Curso Básico de UNIX
(Ultima revisión: Mayo 2002) (Ultima revisión: Mayo 2002) Sistemas Operativos Sistemas Operativos Introducción a UNIX Introducción a UNIX Tutorial Tutorial ejercicios ejercicios ejercicios
ejercicios complemencomplementariostarios GNU info GNU info Introducción al Shell Introducción al Shell ejercicios ejercicios ejercicios
ejercicios complemencomplementariostarios UNIX y C UNIX y C Sistema de archivos Sistema de archivos ejercicios ejercicios Manejo de archivos Manejo de archivos ejercicios ejercicios ejercicios
ejercicios complemencomplementariostarios Editor vi Editor vi ejercicios ejercicios Expresiones regulares Expresiones regulares ejercicios ejercicios Filtros Filtros ejercicios ejercicios
Programación del Shell Programación del Shell problemas soluciones problemas soluciones
--Reseña de comandos básicos Reseña de comandos básicos Reseña de comandos de filtro Reseña de comandos de filtro Bibliografía
Conceptos de Sistemas
Conceptos de Sistemas Operativos
Operativos
•
• HardwareHardware •
• Qué es un Sistema OperativoQué es un Sistema Operativo •
• Historia de los Sistemas OperativosHistoria de los Sistemas Operativos •
• Conceptos de Sistemas OperativosConceptos de Sistemas Operativos •
• ProcesosProcesos •
• ArchivosArchivos •
• Llamadas al SistemaLlamadas al Sistema •
• El intérprete de El intérprete de comandos ("shell")comandos ("shell") •
• Ejemplos de comandosEjemplos de comandos •
• ReferenciasReferencias •
•
Una computadora sin software no presta ninguna utilidad. El
Una computadora sin software no presta ninguna utilidad. El software puedesoftware puede clasificarse en dos grandes grupos:
clasificarse en dos grandes grupos:
•
• programas de sistema (software de base, software de sistema): controlan la programas de sistema (software de base, software de sistema): controlan la operaciónoperación
de la
de la computadora.computadora.
•
• programas de aplicación (software de aplicación): resuelven problemas para losprogramas de aplicación (software de aplicación): resuelven problemas para los
usuarios. usuarios.
•
•El Sistema Operativo es el El Sistema Operativo es el programa fundamentaprograma fundamental entre los l entre los programas de sistemas;programas de sistemas;
controla todos los recursos de la
controla todos los recursos de la computadora y proporciona la base sobre la computadora y proporciona la base sobre la queque pueden escribirse los programas de aplicación. Es un nivel
pueden escribirse los programas de aplicación. Es un nivel de software por encima delde software por encima del hardware que controla todas las partes del sistema y presenta al usuario una interfaz o hardware que controla todas las partes del sistema y presenta al usuario una interfaz o máquina virtual.
máquina virtual.
•
•En un sistema de computación se reconocen los siguientes niveles, yendo desde elEn un sistema de computación se reconocen los siguientes niveles, yendo desde el
usuario hacia la máquina física: usuario hacia la máquina física:
•
• Programas de aplicación: Programas de aplicación: Sistema bancario, Reservaciones aéreas, Juegos.Sistema bancario, Reservaciones aéreas, Juegos. •
• Compiladores, Editores, Intérprete de comandos.Compiladores, Editores, Intérprete de comandos. •
• Sistema operativo.Sistema operativo. •
•Hardware:Hardware: •
•Lenguaje de máquina: instrucciones directas a la máquina. Tiene de 50 a 300Lenguaje de máquina: instrucciones directas a la máquina. Tiene de 50 a 300
instrucciones y es muy difícil
instrucciones y es muy difícil de programarde programar..
•
•MicroprogramaciónMicroprogramación: control directo : control directo de dispositivos. En memoria de sólo lectura, o de dispositivos. En memoria de sólo lectura, o aa
veces en el propio hardware; i
veces en el propio hardware; interpreta el lenguaje de máquina.nterpreta el lenguaje de máquina.
•
•Dispositivos físicos: chips, barras, cables, fuentes Dispositivos físicos: chips, barras, cables, fuentes de potencia, conectores, etc.de potencia, conectores, etc. •
•El sistema operativo ejecuta en modo superusuario, con plenos poderes; no puede serEl sistema operativo ejecuta en modo superusuario, con plenos poderes; no puede ser
alterado por el usuario. Los
alterado por el usuario. Los compiladores y editores se ejecutan en modo usuario, concompiladores y editores se ejecutan en modo usuario, con poderes limitados. Cada usuario podría escribir su propio
poderes limitados. Cada usuario podría escribir su propio editor, compiladeditor, compilador u otroor u otro utilitario. Los programas de aplicación son escritos por
utilitario. Los programas de aplicación son escritos por los usuarios para resolverlos usuarios para resolver problemas particulares.
•
•Qué es un sistema operativo.Qué es un sistema operativo. •
•Como máquina extendida. El sistema operativo presenta al usuario una máquinaComo máquina extendida. El sistema operativo presenta al usuario una máquina
extendida o máquina virtual más fácil de
extendida o máquina virtual más fácil de programar que accionar en forma directaprogramar que accionar en forma directa sobre el hardware subyacente. En este sentido se
sobre el hardware subyacente. En este sentido se dice que el sistema operativo "definedice que el sistema operativo "define un ambiente de trabajo".
un ambiente de trabajo".
•
•Como controlador de recursos. Permite Como controlador de recursos. Permite la asignación ordenada de la asignación ordenada de procesadores, memoriaprocesadores, memoria
y dispositivos de entrada/salida para los
y dispositivos de entrada/salida para los varios programas que compiten por el uso devarios programas que compiten por el uso de estos recursos.
estos recursos.
•
•Historia de los Sistemas Operativos.Historia de los Sistemas Operativos. •
•Primera generación (1945-1955): bulbos y Primera generación (1945-1955): bulbos y conexiones. Programacconexiones. Programación en ión en lenguaje delenguaje de
máquina absoluto, o realizando directamente las
máquina absoluto, o realizando directamente las conexiones eléctricas. Alredconexiones eléctricas. Alrededor deedor de 1950 se introducen las tarjetas perforadas.
1950 se introducen las tarjetas perforadas.
•
•Segunda generación (1955-1965): transistores y sistemas de Segunda generación (1955-1965): transistores y sistemas de procesamiento por lotes. Losprocesamiento por lotes. Los
programas y datos se entregaban en tarjetas, se
programas y datos se entregaban en tarjetas, se acumulaban y luego eran procesadosacumulaban y luego eran procesados todos juntos por la
todos juntos por la máquina, buscandmáquina, buscando minimizar los tiempos muertos.o minimizar los tiempos muertos.
•
•TTercera generación (1965-1980): circuitos integrados y ercera generación (1965-1980): circuitos integrados y multiprogramaciónmultiprogramación. El . El sistemasistema
360 de IBM unifica
360 de IBM unifica computadoras comcomputadoras comerciales y científicas en erciales y científicas en una sola línea deuna sola línea de máquinas con software compatible. Se introduce la multiprogramación, que divide la máquinas con software compatible. Se introduce la multiprogramación, que divide la memoria en partes y ejecuta un
memoria en partes y ejecuta un programa distinto en cada una. El programa distinto en cada una. El spooling permite laspooling permite la operación simultánea y en línea de
operación simultánea y en línea de periféricos. El tiempo compartido es una varianteperiféricos. El tiempo compartido es una variante de multiprogramación que habilita a
de multiprogramación que habilita a cada usuario una terminal cada usuario una terminal en línea. en línea. MULMULTICS,TICS, un gigantesco sistema operativo, fracasa en su construcción pero aporta muchas ideas un gigantesco sistema operativo, fracasa en su construcción pero aporta muchas ideas que hacen surgir UNIX.
que hacen surgir UNIX.
•
•Cuarta generación (1980-1990): estaciones de trabajo Cuarta generación (1980-1990): estaciones de trabajo y computadoras personales.y computadoras personales.
Sistemas operativos DOS y UNIX. Software "amigable con el
Sistemas operativos DOS y UNIX. Software "amigable con el usuario". Sistemasusuario". Sistemas operativos de red,
operativos de red, con varias computadoras interconectadas que pueden ser con varias computadoras interconectadas que pueden ser accedidasaccedidas por un
por un mismo usuario. Sistemas operativos distribuídos, compuestos por variosmismo usuario. Sistemas operativos distribuídos, compuestos por varios procesadores que se presentan al usuario como un sistema único.
procesadores que se presentan al usuario como un sistema único.
•
•Conceptos de Sistemas Operativos.Conceptos de Sistemas Operativos. •
•La interfaz entre los La interfaz entre los programas de usuario y el programas de usuario y el sistema operativo está formada porsistema operativo está formada por
llamadas al sistema capaces de crear, utilizar y eliminar procesos y
llamadas al sistema capaces de crear, utilizar y eliminar procesos y archivos.archivos.
•
•Procesos.Procesos. •
•Un proceso es básicamente un Un proceso es básicamente un programa en ejecución. Consta del programa en ejecución. Consta del programa ejecutable,programa ejecutable,
datos, pilas, registros y toda
datos, pilas, registros y toda la información necesaria para ejecutarla información necesaria para ejecutar. Un intérprete . Un intérprete dede comandos (shell) es un proceso que lee los
comandos (shell) es un proceso que lee los comandos de usuario desde una terminal ycomandos de usuario desde una terminal y crea procesos hijo para ejecutar ese comando. Se crea así
crea procesos hijo para ejecutar ese comando. Se crea así un árbol de procesos enun árbol de procesos en ejecución. Los procesos se manejan mediante señales que los obligan a suspender, ejecución. Los procesos se manejan mediante señales que los obligan a suspender, reiniciar o terminar su
reiniciar o terminar su acción. Las señales se utilizan también para comunicaciónacción. Las señales se utilizan también para comunicación entre procesos.
entre procesos.
•
•Cada usuario tiene asignado un identificador de usuario (Cada usuario tiene asignado un identificador de usuario (uid), y grupos de uid), y grupos de usuarios tienenusuarios tienen
un identificador de grupo (gid). Un proceso tiene asignado el uid y gid del
un identificador de grupo (gid). Un proceso tiene asignado el uid y gid del usuario queusuario que lo inició. Ambos identificadores se utilizan para proteger la información manejada por lo inició. Ambos identificadores se utilizan para proteger la información manejada por el proceso.
el proceso.
•
•
•Existen llamadas al sistema para crear, eliminarExisten llamadas al sistema para crear, eliminar, leer y , leer y escribir archivos. Los archivos seescribir archivos. Los archivos se
agrupan en directorios, y existen ll
agrupan en directorios, y existen llamadas al sistema para crear y amadas al sistema para crear y eliminar directorios,eliminar directorios, y para colocar y quitar archivos de ellos. Esto crea una jerarquía de
y para colocar y quitar archivos de ellos. Esto crea una jerarquía de directorios ydirectorios y archivos llamada sistema de archivos. Un archivo se reconoce unívocamente dando la archivos llamada sistema de archivos. Un archivo se reconoce unívocamente dando la ruta de acceso, que es l
ruta de acceso, que es la sucesión de directorios que permiten alcanzar el a sucesión de directorios que permiten alcanzar el archivo aarchivo a partir del directorio raíz. Cada proceso activo tiene un directorio de tr
partir del directorio raíz. Cada proceso activo tiene un directorio de tr abajo en el queabajo en el que se buscan primariamente los archivos cuando se indica sólo el
se buscan primariamente los archivos cuando se indica sólo el nombre y no la nombre y no la ruta deruta de acceso.
acceso.
•
•En un sistema multiusuario, es preciso dar privacidad a En un sistema multiusuario, es preciso dar privacidad a los archivos de cada persona.los archivos de cada persona.
UNIX utiliza un código de 9 bits en 3
UNIX utiliza un código de 9 bits en 3 grupos de 3 bits. Estos grupos correspondientesgrupos de 3 bits. Estos grupos correspondientes al dueño, el grupo y el resto del
al dueño, el grupo y el resto del mundo. Cada conjunto de 3 bits corresponde amundo. Cada conjunto de 3 bits corresponde a permiso de lectura, escritura y
permiso de lectura, escritura y ejecución. Se presentan como rwx (Read, Write,ejecución. Se presentan como rwx (Read, Write, eXecute); cuando uno de estos permisos está denegado se sustituye la
eXecute); cuando uno de estos permisos está denegado se sustituye la letra por -,letra por -, como en r-- o en rw-.
como en r-- o en rw-.
•
•Para acceder a un archivo, se Para acceder a un archivo, se verifican primero sus permisos; si son correctos, el verifican primero sus permisos; si son correctos, el sistemasistema
devuelve un descriptor de archivo o
devuelve un descriptor de archivo o "entrada de manejo", un número entero que se"entrada de manejo", un número entero que se utiliza en todas las
utiliza en todas las operaciones subsiguienoperaciones subsiguientes. Al cerrarse el archivo, el descriptor tes. Al cerrarse el archivo, el descriptor eses desasignado y el número entero queda disponible para otro
desasignado y el número entero queda disponible para otro acceso.acceso.
•
•UNIX maneja los dispositivos de entrada y UNIX maneja los dispositivos de entrada y salida con un artificio salida con un artificio que los presenta comoque los presenta como
archivos especiales, lo que permite escribir y
archivos especiales, lo que permite escribir y leer en ellos con leer en ellos con las mismas llamadas allas mismas llamadas al sistema que se usan para los archivos. Los
sistema que se usan para los archivos. Los archivos especiales de bloque se usan paraarchivos especiales de bloque se usan para dispositivos que organizan los datos en bloques de tamaño fijo y
dispositivos que organizan los datos en bloques de tamaño fijo y acceso aleatorio,acceso aleatorio, como los discos. Los
como los discos. Los archivos especiales de caracteres modelan los archivos especiales de caracteres modelan los dispositivosdispositivos
formados con flujos de caracteres como las terminales, impresoras e interfaces de red. formados con flujos de caracteres como las terminales, impresoras e interfaces de red.
•
•En UNIX y DOS, al iniciar En UNIX y DOS, al iniciar un proceso se establece el descriptor de archivo 0 comoun proceso se establece el descriptor de archivo 0 como
entrada estándar para recibir datos desde el teclado y el descriptor de archivo 1 como entrada estándar para recibir datos desde el teclado y el descriptor de archivo 1 como salida estándar para presentar información en la pantalla. El descriptor de archivo 2 es salida estándar para presentar información en la pantalla. El descriptor de archivo 2 es el de error estándar; se usa para mensajes de error y se asigna normalmente a la
el de error estándar; se usa para mensajes de error y se asigna normalmente a la pantalla.
pantalla.
•
•La interconexión de procesos se realiza a La interconexión de procesos se realiza a través de una tubería, entubamiento, tubo otravés de una tubería, entubamiento, tubo o
secuencia de coman
secuencia de comandos, indicado por el caracter | (barra vertical). Un dos, indicado por el caracter | (barra vertical). Un tubo es untubo es un seudoarchivo en el cual un primer proceso escribe su salida para ser leída por un seudoarchivo en el cual un primer proceso escribe su salida para ser leída por un segundo proceso; la salida del primero es
segundo proceso; la salida del primero es la entrada del segundo.la entrada del segundo.
•
•Llamadas al sistema.Llamadas al sistema. •
•Los programas de usuario se comunican con el sistema operativo mediante llamadas alLos programas de usuario se comunican con el sistema operativo mediante llamadas al
sistema. Para cada llamada existe un procedimiento de biblioteca que puede ser sistema. Para cada llamada existe un procedimiento de biblioteca que puede ser invocado desde un programa de usuario mediante un nombre y parámetros. invocado desde un programa de usuario mediante un nombre y parámetros.
•
•El intérprete de comandos (shell).El intérprete de comandos (shell). •
•El intérprete de El intérprete de comandos de UNIX, o shell, es un comandos de UNIX, o shell, es un proceso que muestra un indicador deproceso que muestra un indicador de
comandos ($, %, o #)
comandos ($, %, o #) y aguarda que el y aguarda que el usuario digite un comando. Tusuario digite un comando. Toda vez que eloda vez que el usuario digita un comando, el intérprete lo valida, y si es correcto crea un
usuario digita un comando, el intérprete lo valida, y si es correcto crea un proceso hijoproceso hijo que realiza la acción encomendada. Al terminar el proceso hijo, exhibe nuevamente el que realiza la acción encomendada. Al terminar el proceso hijo, exhibe nuevamente el indicador de comando e intenta leer una nueva línea de la entrada.
indicador de comando e intenta leer una nueva línea de la entrada.
•
•Ejemplos de comandos (UNIX):Ejemplos de comandos (UNIX): •
• datedate •
•imprime la fecha.imprime la fecha. •
•
•imprime la fecha pero la imprime la fecha pero la redirecciona hacia el archivo1.redirecciona hacia el archivo1. •
• sort <archivo1 >archivo2sort <archivo1 >archivo2 •
•lee archivo1, reordena sus líneas y lee archivo1, reordena sus líneas y las graba en archivo2.las graba en archivo2. •
• cat arch1 arch2 arch3 | sort >/dev/lpcat arch1 arch2 arch3 | sort >/dev/lp •
•concatena los archivos arch1, arch2 y arch3, dirige concatena los archivos arch1, arch2 y arch3, dirige su salida hacia el su salida hacia el comando sort quecomando sort que
ordena las líneas de los tres archivos juntos y las envía al dispositivo de impresión / ordena las líneas de los tres archivos juntos y las envía al dispositivo de impresión / dev/lp.
Introducción a UNIX
Introducción a UNIX
•
• Qué es UNIXQué es UNIX •
• CaracterísticasCaracterísticas •
• Historia de UNIXHistoria de UNIX •
• AntecedentesAntecedentes •
• UNIXUNIX •
• Versiones actuales de UNIXVersiones actuales de UNIX •
• Objetivos de UNIXObjetivos de UNIX •
• Filosofía del sistema UNIXFilosofía del sistema UNIX •
• El UNIX modernoEl UNIX moderno •
• ReferenciasReferencias •
•Qué es UNIX.Qué es UNIX. •
•Esctrictamente, UNIX designa el núcleo de un sistema operativo multiusuario yEsctrictamente, UNIX designa el núcleo de un sistema operativo multiusuario y
multitarea. En un sentido más amplio, comprende el núcleo del
multitarea. En un sentido más amplio, comprende el núcleo del sistema operativo mássistema operativo más un conjunto de programas que permiten compilar lenguajes de programación, editar un conjunto de programas que permiten compilar lenguajes de programación, editar texto, interpretar comandos, manejar archivos y discos, acceder a otras máquinas, texto, interpretar comandos, manejar archivos y discos, acceder a otras máquinas, establecer comunicacio
establecer comunicaciones telefónicas, enviar y recibir nes telefónicas, enviar y recibir correo electrónico, manejar lascorreo electrónico, manejar las colas de impresión y un
colas de impresión y un sinfín de tareas más. Algunos de estos programas puedensinfín de tareas más. Algunos de estos programas pueden haber sido desarrollados por los propios usuarios.
haber sido desarrollados por los propios usuarios.
•
•UNIX designa al mismo tiempo un cierto UNIX designa al mismo tiempo un cierto "ambiente de trabajo", un conjunto de"ambiente de trabajo", un conjunto de
circunstancias que encuentra el usuario de la
circunstancias que encuentra el usuario de la computadora donde corre UNIX, talescomputadora donde corre UNIX, tales como la presentación en pantalla, los programas disponibles y la
como la presentación en pantalla, los programas disponibles y la forma de trabajo queforma de trabajo que impone o permite.
impone o permite.
•
•Cuando hablemos de UNIX nos Cuando hablemos de UNIX nos estaremos refiriendo al sentido estaremos refiriendo al sentido amplio y, conjuntamamplio y, conjuntamente,ente,
a su ambiente de trabajo. a su ambiente de trabajo.
•
•Características:Características: •
• muchas herramientas de software (compiladores, editores, utilitarios muchas herramientas de software (compiladores, editores, utilitarios para muchaspara muchas
tareas). tareas).
•
• reutiliza el software, a reutiliza el software, a través de la combinación de comandos simples en aplicacionestravés de la combinación de comandos simples en aplicaciones
complejas. complejas.
•
• portable: el mismo sistema operativo corre en portable: el mismo sistema operativo corre en un espectro de máquinas que van desdeun espectro de máquinas que van desde
notebooks a supercomputadoras. Es el único
notebooks a supercomputadoras. Es el único sistema operativo con estassistema operativo con estas características.
características.
•
• flexible: se adapta a flexible: se adapta a muchas aplicacionemuchas aplicaciones diferentes.s diferentes. •
• potente: dispone de muchos comandos y potente: dispone de muchos comandos y servicios ya incorporados.servicios ya incorporados. •
• multiusuario: atiende a multiusuario: atiende a muchas personas simultáneamente.muchas personas simultáneamente. •
• multitarea: hace muchas cosas a la vez.multitarea: hace muchas cosas a la vez. •
• elegante: sus comandos son breves, coherentes, especelegante: sus comandos son breves, coherentes, específicos para cada tarea y íficos para cada tarea y muymuy
eficientes. eficientes.
•
•
• dispone de un estándar (POSIX) que debe dispone de un estándar (POSIX) que debe cumplir todo sistema operativo quecumplir todo sistema operativo que
pretenda ser UNIX, lo
pretenda ser UNIX, lo que asegura una evolución predecible.que asegura una evolución predecible.
•
•Historia de UNIXHistoria de UNIX •
•Antecedentes:Antecedentes: •
• las computadoras ejecutan un trabajo por vez (años '40 las computadoras ejecutan un trabajo por vez (años '40 y '50).y '50). •
• los trabajos se agrupan y ejecutan "por lotes" (años '60).los trabajos se agrupan y ejecutan "por lotes" (años '60). •
• CTSS, un sistema operativo de propósito general y CTSS, un sistema operativo de propósito general y tiempo compartido, logra enormetiempo compartido, logra enorme
éxito. éxito.
•
• MULMULTICS, un ambicioso proyecto TICS, un ambicioso proyecto de sistema operativo para de sistema operativo para cientos de usuarioscientos de usuarios
fracasa y no llega a terminarse. fracasa y no llega a terminarse.
•
•UNIX.UNIX. •
• Ken Thomson, desarrollador de MULTICS, con ideas y apoyo de algunosKen Thomson, desarrollador de MULTICS, con ideas y apoyo de algunos
compañeros, escribe un nuevo MULTICS más modesto en una máquina PDP-7 compañeros, escribe un nuevo MULTICS más modesto en una máquina PDP-7 desechada (1969). Brian Kernighan, compañero de Thomson, lo
desechada (1969). Brian Kernighan, compañero de Thomson, lo llama irónicamentellama irónicamente UNICS.
UNICS.
•
• UNIX pasa a una máquina PDP-11 (1970). Ritchie diseñó y UNIX pasa a una máquina PDP-11 (1970). Ritchie diseñó y escribió un compiladorescribió un compilador
para lenguaje C. para lenguaje C.
•
• Thomson y Ritchie reescriben UNIX en C, Thomson y Ritchie reescriben UNIX en C, rompiendo la tradición de sistemasrompiendo la tradición de sistemas
operativos escritos en lenguaje ensamblador (1973). Esto aumenta la portabilidad del operativos escritos en lenguaje ensamblador (1973). Esto aumenta la portabilidad del sistema hacia otras máquinas.
sistema hacia otras máquinas.
•
• Thomson y Ritchie reciben el Thomson y Ritchie reciben el premio Tupremio Turing por un ring por un memorable artículo sobre UNIXmemorable artículo sobre UNIX
escrito en 1974. escrito en 1974.
•
• UNIX es adoptado en las universidades, por trUNIX es adoptado en las universidades, por tratarse de un "sistema abierto" queatarse de un "sistema abierto" que
proporciona todo el código fuente (1974). proporciona todo el código fuente (1974).
•
• BSD y System V; el estándar de POSIX.BSD y System V; el estándar de POSIX. •
• El desmembramiento de AT&T (1984) permite a esta empresa ingresar en el mercadoEl desmembramiento de AT&T (1984) permite a esta empresa ingresar en el mercado
de computadoras, y produce la primera versión comercial de UNIX,
de computadoras, y produce la primera versión comercial de UNIX, el Sistema III,el Sistema III, que pronto es sustituído por el Sistema V versiones 2, 3 y 4.
que pronto es sustituído por el Sistema V versiones 2, 3 y 4.
•
• La Universidad de Berkeley produjo una versión mejorada para lLa Universidad de Berkeley produjo una versión mejorada para la PDP-11, llamadaa PDP-11, llamada
1BSD; luego fueron la 3BSD y luego 4BSD, que incorporó el protocolo de redes 1BSD; luego fueron la 3BSD y luego 4BSD, que incorporó el protocolo de redes TCP/IP.
TCP/IP.
•
• El grupo POSIX estudió y El grupo POSIX estudió y propuso un estándar para UNIX, llamado 1003.1, quepropuso un estándar para UNIX, llamado 1003.1, que
define un conjunto de procedimientos de biblioteca que cualquier sistema conforme define un conjunto de procedimientos de biblioteca que cualquier sistema conforme con UNIX debe proporcionar. Esto resolvió la controversia entre Sistema V y BSD. con UNIX debe proporcionar. Esto resolvió la controversia entre Sistema V y BSD.
•
• Se forma OSF, Open Software Foundation, integrada por IBM, DEC, HP y otros paraSe forma OSF, Open Software Foundation, integrada por IBM, DEC, HP y otros para
enfrentar a AT&T. Crea un UNIX con más prestaciones que el estándar de POSIX. enfrentar a AT&T. Crea un UNIX con más prestaciones que el estándar de POSIX.
•
•Versiones actuales de UNIX.Versiones actuales de UNIX. •
• AT&T, para enfrentar a OSF, crea UI, UNIX International, junto con otras empresas;AT&T, para enfrentar a OSF, crea UI, UNIX International, junto con otras empresas;
crea otro UNIX ampliado de
crea otro UNIX ampliado de POSIX.POSIX.
•
• IBM crea su propia IBM crea su propia variante de UNIX, llamada AIX. La confusión de versionesvariante de UNIX, llamada AIX. La confusión de versiones
continúa. continúa.
•
• surgen las versiones UNIX de dominio público FreeBSD y surgen las versiones UNIX de dominio público FreeBSD y Linux, que se distribuyenLinux, que se distribuyen
sin costo. Linux es desarrollado por
sin costo. Linux es desarrollado por una multitud de personas y equipos de una multitud de personas y equipos de trabajo atrabajo a través de Internet. FreeBSD es desarrollado por
•
• UNIX hacia el usuario final: UNIX hacia el usuario final: distribuciones fáciles de instalar (SuSE, Redhat,distribuciones fáciles de instalar (SuSE, Redhat,
Mandrake, Corel), aplicaciones de escritorio
Mandrake, Corel), aplicaciones de escritorio (Applixware, StarOffice), programas(Applixware, StarOffice), programas asistentes de administración para estaciones de trabajo o servidores.
asistentes de administración para estaciones de trabajo o servidores.
•
•Objetivos de UNIX.Objetivos de UNIX. •
•UNIX fue diseñado teniendo en mente los siguientes objetivos:UNIX fue diseñado teniendo en mente los siguientes objetivos: •
• crear un sistema interactivo de ticrear un sistema interactivo de tiempo compartido diseñado por programadores y paraempo compartido diseñado por programadores y para
programadores
programadores, destinado , destinado a usuarios a usuarios calificados.calificados.
•
• que fuera sencillo, elegante, escueto y consistente.que fuera sencillo, elegante, escueto y consistente. •
• que permitiera resolver problemas complejos combinando un número rque permitiera resolver problemas complejos combinando un número reducido deeducido de
comandos básicos. comandos básicos.
•
•Filosofía del sistema UNIX.Filosofía del sistema UNIX. •
•Los objetivos con que se creó determinaron una "fiLos objetivos con que se creó determinaron una "filosofía" de UNIX caracterizada por:losofía" de UNIX caracterizada por: •
• comandos cortos, simplescomandos cortos, simples, específicos y muy eficientes, que , específicos y muy eficientes, que "hacen una sola cosa"hacen una sola cosa
pero la hacen muy bien". pero la hacen muy bien".
•
• entrada y salida estandarizadas que permiten la ientrada y salida estandarizadas que permiten la interconexión de comandosnterconexión de comandos. Esto se. Esto se
llama entubamiento ("pipelining"): la salida de
llama entubamiento ("pipelining"): la salida de un comando es tomada por el siguienteun comando es tomada por el siguiente como entrada.
como entrada.
•
•El UNIX moderno.El UNIX moderno. •
•Orientado en primera instancia a terminales de Orientado en primera instancia a terminales de caracteres, actualmente dispone de lacaracteres, actualmente dispone de la
interface gráfica X-Windows. Esto ha simplificado mucho el uso para los no interface gráfica X-Windows. Esto ha simplificado mucho el uso para los no especialistas.
especialistas.
•
•Es ideal para trabajar Es ideal para trabajar como servidor: una máquina potente como servidor, terminales ocomo servidor: una máquina potente como servidor, terminales o
computadores p
computadores personales baratas en los personales baratas en los puestos de trabajo. uestos de trabajo. El paquete de libre usoEl paquete de libre uso Samba permite que una máquina UNIX actúe como servidor de puestos de
Samba permite que una máquina UNIX actúe como servidor de puestos de trabajotrabajo Windows 3.11, Windows 95, y Windows NT.
Windows 3.11, Windows 95, y Windows NT.
•
•Se orienta en la dirección contraria a la tendencia de hacer invisible al Se orienta en la dirección contraria a la tendencia de hacer invisible al usuario el sistemausuario el sistema
operativo, permitiendo el uso de todas las
operativo, permitiendo el uso de todas las bibliotecas, llamadas al sistema ybibliotecas, llamadas al sistema y herramientas internas
herramientas internas, aunque su uso requiere un alto nive, aunque su uso requiere un alto nivel de especialización. l de especialización. EsEs posible compilar un núcleo
posible compilar un núcleo específicamenespecíficamente adaptado a te adaptado a las necesidades particulareslas necesidades particulares de una empresa o grupo de
de una empresa o grupo de trabajo, reduciendo el uso de recursos y trabajo, reduciendo el uso de recursos y aumentando laaumentando la rapidez.
rapidez.
•
•Las máquinas RISC de los '80 y Las máquinas RISC de los '80 y '90 adoptaron UNIX como sistema operativo; es por'90 adoptaron UNIX como sistema operativo; es por
lejos el sistema predominante en las estaciones de trabajo orientadas a
lejos el sistema predominante en las estaciones de trabajo orientadas a cálculos ecálculos e investigación. T
investigación. También fue adoptado para ambién fue adoptado para la creación de la creación de Internet, mayoritariamenteInternet, mayoritariamente soportada por UNIX.
soportada por UNIX.
•
•Por sus características de diseño, está especialmente preparado para su ampliación yPor sus características de diseño, está especialmente preparado para su ampliación y
desarrollo en 64 bits
desarrollo en 64 bits y el multiprocesamiento en varias CPUs.y el multiprocesamiento en varias CPUs.
•
Tutorial
Tutorial
•
• Emulador de TerminalEmulador de Terminal •
• Ingreso al sistema (login)Ingreso al sistema (login) •
• DirectoriosDirectorios •
• Listado de archivosListado de archivos •
• Manual de UNIXManual de UNIX •
• Contenido de un archivoContenido de un archivo •
• Crear y borrar un archivoCrear y borrar un archivo •
• Correo electrónico de UNIXCorreo electrónico de UNIX •
• Usuarios en el sistemaUsuarios en el sistema •
• TalkTalk •
• Cambio de contraseñaCambio de contraseña •
• Fin de SesiónFin de Sesión •
• OtrosOtros •
• Bibliografía y ReferenciasBibliografía y Referencias •
•Emulador de Terminal.Emulador de Terminal. •
•Para ingresar a un Para ingresar a un sistema UNIX remoto desde un PC se usa sistema UNIX remoto desde un PC se usa habitualmente un "emuladorhabitualmente un "emulador
de terminal". Este programa permite al
de terminal". Este programa permite al PC comportarse como una terminal (teclado yPC comportarse como una terminal (teclado y pantalla, sin procesador) conectada directamente a la máquina UNIX. En el
pantalla, sin procesador) conectada directamente a la máquina UNIX. En el emuladoremulador de terminal se deben fijar
de terminal se deben fijar los siguientes parámetros:los siguientes parámetros:
•
• Nombre descriptivo de la conexión a establecer (arbitrario).Nombre descriptivo de la conexión a establecer (arbitrario). •
• Nombre en la red de la máquina a la que se quiere conectar.Nombre en la red de la máquina a la que se quiere conectar. •
• Tipo de terminal que se emulará (VT100 es el Tipo de terminal que se emulará (VT100 es el más conocido).más conocido). •
• Conexión vía TCP/IP, protocolo de comunicación en la red.Conexión vía TCP/IP, protocolo de comunicación en la red. •
•Ingreso al sistema (login).Ingreso al sistema (login). •
• login:login: id-usuarioid-usuario •
• password:password: •
•id-usuarioid-usuarioes el nombre identificador del es el nombre identificador del usuario para ingreso al sistema, proceso que seusuario para ingreso al sistema, proceso que se
denomina "login". Este nombre de usuario suele tener hasta
denomina "login". Este nombre de usuario suele tener hasta 8 caracteres (letras,8 caracteres (letras, números y algunos símbolos), debe comenzar con
números y algunos símbolos), debe comenzar con minúscula. UNIX distingue entreminúscula. UNIX distingue entre mayúsculas y minúsculas. En el ingreso al sistema, no
mayúsculas y minúsculas. En el ingreso al sistema, no se permiten correcciones.se permiten correcciones.
• • •
• <mensaje del día><mensaje del día> •
•se despliega siempre después del login, es puesto por el se despliega siempre después del login, es puesto por el administrador del sistema paraadministrador del sistema para
información o bienvenida. información o bienvenida. • • • • <noticias><noticias> •
•aviso de noticias nuevas. Las noticias se usan para aviso de noticias nuevas. Las noticias se usan para informaciones generales de mayorinformaciones generales de mayor
tiempo de validez. Las noticias no
tiempo de validez. Las noticias no aparecen más después de haber sido leídas. Paraaparecen más después de haber sido leídas. Para leer las noticias debe digitarse
leer las noticias debe digitarse el comandoel comando newsnews..
• • •
•
•indica que hay mensajes de otros usuarios, o indica que hay mensajes de otros usuarios, o del sistema. El correo electrónico permite adel sistema. El correo electrónico permite a
cualquier usuario enviar y recibir
cualquier usuario enviar y recibir mensajes.mensajes.
• • • • $$ •
•es el indicador de es el indicador de comandos del sistema; indica que el sistema está listo comandos del sistema; indica que el sistema está listo y aguarda unay aguarda una
orden del operador, que debe ser escrita a
orden del operador, que debe ser escrita a continuación de $ y finalizada con continuación de $ y finalizada con la teclala tecla <Enter>.
<Enter>.
• • •
•En los siguientes ejemplos debe escribirse el comando tal cual En los siguientes ejemplos debe escribirse el comando tal cual se muestra, digitando lase muestra, digitando la
tecla <Enter> al final. tecla <Enter> al final.
•
• datedate •
•comando que muestra la fecha y hora.comando que muestra la fecha y hora. •
• whowho •
•muestra los nombres de usuarios muestra los nombres de usuarios conectados al sistema en este conectados al sistema en este momento.momento. •
• hostnamehostname •
•muestra el nombre de la máquina UNIX.muestra el nombre de la máquina UNIX. •
•Directorios.Directorios. •
•Cada usuario tiene un directorio Cada usuario tiene un directorio propio, llamado a veces "directorio home". Cuando elpropio, llamado a veces "directorio home". Cuando el
usuario ingresa al sistema ya está
usuario ingresa al sistema ya está ubicado en su directorio propio. El ubicado en su directorio propio. El comandocomando
•
• pwdpwd •
•muestra el directorio actual.muestra el directorio actual. •
• cd /homecd /home •
•cambia hacia el directorio /home, lo cambia hacia el directorio /home, lo que puede verificarse con el comandoque puede verificarse con el comando pwdpwd.. •
• cdcd •
•sin parámetros devuelve al usuario a su sin parámetros devuelve al usuario a su directorio propio, desde cualquier lugar dondedirectorio propio, desde cualquier lugar donde
esté. Este comando es útil cuando se
esté. Este comando es útil cuando se han hecho varios cambios de directorio y han hecho varios cambios de directorio y sese quiere retornar a una
quiere retornar a una situación conocida, ubicándose en el directorio propio.situación conocida, ubicándose en el directorio propio.
•
•Listado de archivos.Listado de archivos. •
•Ensayemos el comando ls:Ensayemos el comando ls: •
• lsls •
•lista archivos del directorio actual.lista archivos del directorio actual. •
• ls -l /binls -l /bin •
•lista archivos en el lista archivos en el directorio /bin; aquí se directorio /bin; aquí se encuentran los archivos de comandosencuentran los archivos de comandos
ejecutables del sistema. No cambia de directorio; el
ejecutables del sistema. No cambia de directorio; el directorio actual sigue siendo eldirectorio actual sigue siendo el mismo.
mismo.
•
• ls -lls -l •
•lista archivos en formato largo, dando detalles. El -l se llama opción o bandera; se leelista archivos en formato largo, dando detalles. El -l se llama opción o bandera; se lee
"menos ele". "menos ele".
•
•La salida obtenida consta de renglones parecidos aLa salida obtenida consta de renglones parecidos a •
• -rw-rw-rw- 1 esteban users 138 Apr 5 19:34 leame-rw-rw-rw- 1 esteban users 138 Apr 5 19:34 leame •
•y se interpretan así:y se interpretan así: •
• • - -•
•indica el tipo de archivo de que se trata, con esta indica el tipo de archivo de que se trata, con esta convención:convención: •
• - archivo común,- archivo común, •
• d directorio,d directorio, •
• l enlace o referencia a otro archivo.l enlace o referencia a otro archivo. •
• •
• rw-rw-rwrw-rw-rw •
•son los permisos del archivo;son los permisos del archivo; •
• r (read) permiso para leer el archivor (read) permiso para leer el archivo •
• w (write) permiso para modificar o eliminar el archivow (write) permiso para modificar o eliminar el archivo •
• x (execute) si se trata de x (execute) si se trata de un archivo, permiso paraun archivo, permiso para
ejecutarlo como ejecutarlo como
•
• programa; si se trata de un directorio, permiso paraprograma; si se trata de un directorio, permiso para
ingresar ingresar
•
• en él y recorrerlo.en él y recorrerlo. •
•Los tres grupos de 3 Los tres grupos de 3 caracteres indican permisos para el dueño del archivo (esteban), sucaracteres indican permisos para el dueño del archivo (esteban), su
grupo (users) y el resto del mundo. grupo (users) y el resto del mundo.
• • • • 11 •
•cantidad de enlaces, referencias a este archivo desde otros archivos ubicados encantidad de enlaces, referencias a este archivo desde otros archivos ubicados en
diferentes lugares. diferentes lugares.
•
• estebanesteban •
•nombre del usuario dueño del archivo.nombre del usuario dueño del archivo. •
• usersusers •
•nombre del grupo al que nombre del grupo al que pertenece el archivopertenece el archivo •
• 138138 •
•tamaño en bytes del archivo. Si se trata de un directorio, este número es de control deltamaño en bytes del archivo. Si se trata de un directorio, este número es de control del
sistema, sin interpretación inmediata para el usuario. sistema, sin interpretación inmediata para el usuario.
• • •
• Apr 5 19:34Apr 5 19:34 •
•fecha y hora de última modificación. Si no aparece el año, se asume el año corriente.fecha y hora de última modificación. Si no aparece el año, se asume el año corriente. •
• •
• leameleame •
•nombre del archivo. Notar que el nombre del archivo. Notar que el nombre del archivo está siempre al final.nombre del archivo está siempre al final. •
• •
• ls -als -a •
•muestra también archivos ocultos, normalmenmuestra también archivos ocultos, normalmente no visibles en te no visibles en el listado. Los archivosel listado. Los archivos
cuyo nombre empieza con un punto son ocultos, en
cuyo nombre empieza con un punto son ocultos, en este sentido. Laseste sentido. Las entradas
entradas .. yy .... representan el directorio actual y el directorio padre,representan el directorio actual y el directorio padre, respectivamente.
respectivamente.
•
• ls -lals -la •
•formato largo y archivos ocultos.formato largo y archivos ocultos. •
• ls -la /varls -la /var •
•
•Manual de UNIX.Manual de UNIX. •
•UNIX dispone de un manual en lUNIX dispone de un manual en línea o "páginas man" con información sobre comandos,ínea o "páginas man" con información sobre comandos,
archivos y otros elementos del sistema operativo. Aunque muy técnicas y a veces archivos y otros elementos del sistema operativo. Aunque muy técnicas y a veces difíciles de comprender, son una referencia obligada para operar con solvencia. difíciles de comprender, son una referencia obligada para operar con solvencia.
•
• man lsman ls •
•muestra la página man del comandomuestra la página man del comando lsls, paginada para poder leer una pantalla por vez., paginada para poder leer una pantalla por vez.
Para salir antes de
Para salir antes de terminarterminar, digitar 'q'., digitar 'q'.
•
• man manman man •
•muestra la página man del propio comandomuestra la página man del propio comando manman.. •
• man man > man.txtman man > man.txt •
•redirecciona la salida y graba el contenido de la página man en el archivo man.txt, lo queredirecciona la salida y graba el contenido de la página man en el archivo man.txt, lo que
se puede verificar con se puede verificar con lsls..
•
•Contenido de un archivo.Contenido de un archivo. •
• cat man.txtcat man.txt •
•muestra el contenido del archivo. El muestra el contenido del archivo. El archivo man.txt, por provenir de una archivo man.txt, por provenir de una página man,página man,
contiene muchos caracteres de control para regular su despliegue en
contiene muchos caracteres de control para regular su despliegue en pantalla. Elpantalla. El comando
comando catcat no intrepreta estos caracteres de control. no intrepreta estos caracteres de control. El comandoEl comando catcat permitepermite también concatenar archivos, según se verá.
también concatenar archivos, según se verá.
•
• head man.txthead man.txt •
•muestra las primeras 10 líneas de un muestra las primeras 10 líneas de un archivo.archivo. •
• tail man.txttail man.txt •
•muestra las 10 líneas finales de muestra las 10 líneas finales de un archivo.un archivo. •
• cat man.txt | morecat man.txt | more •
•lee una nota larga paginando; la lee una nota larga paginando; la salida desalida de catcat es tomada pores tomada por moremore, que presenta la, que presenta la
información página por página. Para interrumpir el
información página por página. Para interrumpir el paginado depaginado de moremore, digitar 'q'. La, digitar 'q'. La tecla espaciadora avanza una pantalla, la combinación de teclas Ctrl-B
tecla espaciadora avanza una pantalla, la combinación de teclas Ctrl-B retrocede unaretrocede una pantalla.
pantalla.
•
• more man.txtmore man.txt •
•presenta la información depresenta la información de man.txtman.txt ya paginada.ya paginada. •
• ls -l /etc | morels -l /etc | more •
•muestra el extenso contenido del directoriomuestra el extenso contenido del directorio /etc/etc paginando la salida.paginando la salida. •
•Crear y borrar un archivo.Crear y borrar un archivo. •
• touch nota.vaciatouch nota.vacia •
•crea el archivocrea el archivo nota.vacianota.vacia, sin contenido alguno., sin contenido alguno. •
• ls -l nota.vacials -l nota.vacia •
•muestra datos del archivo creado.muestra datos del archivo creado. •
• cat nota.vaciacat nota.vacia •
•no muestra nada, el archivo está vacío.no muestra nada, el archivo está vacío. •
• •
• touch touch .archivo_ocul.archivo_ocultoto •
•crea un archivo vacío y oculto.crea un archivo vacío y oculto. •
•
•no muestra el archivo oculto creado, perono muestra el archivo oculto creado, pero • • ls -als -a • •sí lo muestra.sí lo muestra. • • ls -lals -la •
•muestra datos en formato largo del archivo oculto.muestra datos en formato largo del archivo oculto. •
• •
• rm nota.vaciarm nota.vacia •
•borra el archivoborra el archivo nota.vacianota.vacia. Como muchos comandos de UNIX, su nombre deriva de. Como muchos comandos de UNIX, su nombre deriva de
palabras inglesas: rm proviene de "remove", eliminar o
palabras inglesas: rm proviene de "remove", eliminar o borrarborrar..
• • •
• rm -i man.txtrm -i man.txt •
•borrado interactivo, pide confirmación antes borrado interactivo, pide confirmación antes de actuar.de actuar. • • • • rm rm .archivo_ocult.archivo_ocultoo • • ls -lals -la •
•borra el archivo oculto y verifica listando los archivos del directorio.borra el archivo oculto y verifica listando los archivos del directorio. •
• •
• echo Mensaje en pantallaecho Mensaje en pantalla •
•muestra en la pantalla la muestra en la pantalla la leyenda indicada.leyenda indicada. •
• echo Este es el archivo mensaje1 > mensaje1echo Este es el archivo mensaje1 > mensaje1 •
•direcciona la salida del comando echo y direcciona la salida del comando echo y graba la leyenda en graba la leyenda en el archivo mensaje1.el archivo mensaje1. •
• ls -l mensaje1ls -l mensaje1 •
• cat mensaje1cat mensaje1 •
•muestra datos del archivo y verifica muestra datos del archivo y verifica su contenido.su contenido. •
• echo Esta línea es agregada >> mensaje1echo Esta línea es agregada >> mensaje1 •
• echo Esta es otra línea agregada >> mensaje1echo Esta es otra línea agregada >> mensaje1 •
• cat mensaje1cat mensaje1 •
•redirecciona la salida deredirecciona la salida de echoecho para agregar dos líneas más al archivo yapara agregar dos líneas más al archivo ya
existente
existente mensaje1mensaje1. Verifica el contenido con. Verifica el contenido con catcat..
•
•Correo electrónico de UNIX.Correo electrónico de UNIX. •
•Para leer el correo, digitarPara leer el correo, digitar •
• mailmail •
•Este comando ingresa al usuario en el Este comando ingresa al usuario en el sistema de correo electrónico de UNIX. sistema de correo electrónico de UNIX. Revisa laRevisa la
casilla de entrada de mensajes mostrando la lista
casilla de entrada de mensajes mostrando la lista de recibidos. De ahora en de recibidos. De ahora en adelante,adelante, sólo se aceptan los comandos propios de mail. El
sólo se aceptan los comandos propios de mail. El indicador de comandos deindicador de comandos de mailmail eses
• • && •
•Comandos disponibles dentro del sistema de Comandos disponibles dentro del sistema de correo:correo: •
• d borra mensaje corriente, marcado con d borra mensaje corriente, marcado con '>''>' •
• ? muestra lista de comandos para manejo de mensajes? muestra lista de comandos para manejo de mensajes •
• 5 muestra el mensaje 55 muestra el mensaje 5 •
• h muestra la lista de mensajesh muestra la lista de mensajes •
• h 3 muestra la lista de h 3 muestra la lista de mensajes comenzando en el 3mensajes comenzando en el 3 •
•
•Para enviar un correo al usuario juan, desde la línea de comando de UNIX digitarPara enviar un correo al usuario juan, desde la línea de comando de UNIX digitar •
• mail juanmail juan •
•Escribir entonces el texto del Escribir entonces el texto del mensaje. mensaje. Antes de llegar al Antes de llegar al fin de la fin de la pantalla, digitarpantalla, digitar
<Enter> para que cambie al otro
<Enter> para que cambie al otro renglón. El comandorenglón. El comando mailmail no es un editor: nono es un editor: no arregla las líneas ni permite corregir líneas anteriores. Al finalizar de escribir el arregla las líneas ni permite corregir líneas anteriores. Al finalizar de escribir el mensaje, digitar
mensaje, digitar
• • .. •
•(un punto solo en una línea) y dar <Enter>. Un punto solo en l(un punto solo en una línea) y dar <Enter>. Un punto solo en la línea termina el mensajea línea termina el mensaje
y devuelve al usuario a la línea de comandos de UNIX. y devuelve al usuario a la línea de comandos de UNIX.
•
•El usuario puede probar el El usuario puede probar el correo enviándose un mensaje a sí mismo y correo enviándose un mensaje a sí mismo y luego leyéndolo.luego leyéndolo. •
• •
• mail juan estebanmail juan esteban •
•envía mensaje al usuario juan y envía mensaje al usuario juan y al usuario esteban.al usuario esteban. •
• mail -s "Mensaje de prueba" juanmail -s "Mensaje de prueba" juan •
•envía un mensaje de prueba al usuario juan con el título "Mensaje de prueba". Es deenvía un mensaje de prueba al usuario juan con el título "Mensaje de prueba". Es de
cortesía indicar siempre el tema del
cortesía indicar siempre el tema del mensaje, para que el destinatario sepamensaje, para que el destinatario sepa inmediatamen
inmediatamente de qué se te de qué se trata.trata.
• • •
•Existen en UNIX muchos programas para manejo de correo, más potentes y Existen en UNIX muchos programas para manejo de correo, más potentes y sofisticados;sofisticados;
aquí nos limitamos a
aquí nos limitamos a mailmail como ejemplo de un comando de UNIX más biencomo ejemplo de un comando de UNIX más bien artesanal, pero siempre presente y útil
artesanal, pero siempre presente y útil para mensajería sencilla.para mensajería sencilla.
•
•Usuarios en el sistema.Usuarios en el sistema. •
• whowho •
•muestra los usuarios que están actualmente en el sistema. Indica identificador de muestra los usuarios que están actualmente en el sistema. Indica identificador de usuario,usuario,
terminal en que está conectado, fecha y
terminal en que está conectado, fecha y hora de ingreso al sistema.hora de ingreso al sistema.
•
• who am iwho am i •
•da información sobre el usuario que está da información sobre el usuario que está trabajando, indicando su máquina y nombre detrabajando, indicando su máquina y nombre de
usuario, terminal, fecha y hora. usuario, terminal, fecha y hora.
•
• whoamiwhoami •
•presenta sólo el nombre del usuario que presenta sólo el nombre del usuario que está operando.está operando. •
• idid •
•proporciona la identificación del usuario invocante, dando el nombre de proporciona la identificación del usuario invocante, dando el nombre de usuario y suusuario y su
número (UID), nombre de grupo primario y
número (UID), nombre de grupo primario y su número (GID), nombres de otrossu número (GID), nombres de otros grupos a los cuales pertenece (si
grupos a los cuales pertenece (si los hay) y los hay) y sus números.sus números.
•
• id jperezid jperez •
•proporciona datos de identificación del usuario indicado (jperez).proporciona datos de identificación del usuario indicado (jperez). •
• fingerfinger •
•proporciona nombre del usuario en el sistema, nombproporciona nombre del usuario en el sistema, nombre en la vida real y re en la vida real y otros datos delotros datos del
usuario invocante, indicando si está en este momento en el
usuario invocante, indicando si está en este momento en el sistema, y si tiene sistema, y si tiene correocorreo por leer.
por leer.
•
• finger jperezfinger jperez •
•
• Talk.Talk. •
•Talk es un programa que permite a dos usuarios en el sistema comunicarse escribiendo enTalk es un programa que permite a dos usuarios en el sistema comunicarse escribiendo en
el teclado. Al invocar
el teclado. Al invocar talktalk la pantalla se divide en dos partes, cada unala pantalla se divide en dos partes, cada una correspondiente a uno de
correspondiente a uno de los usuarios. Ambos pueden escribir simultáneamenlos usuarios. Ambos pueden escribir simultáneamente, yte, y ambos ven la salida en su
ambos ven la salida en su parte correspondiente de la pantalla.parte correspondiente de la pantalla.
•
• talk usuario1talk usuario1 •
•solicita apertura de una sesión desolicita apertura de una sesión de talktalk al usuario1, que debe responder con otroal usuario1, que debe responder con otro
comando similar cuando recibe el pedido. comando similar cuando recibe el pedido.
•
•Para terminar la sesión dePara terminar la sesión de talktalk, cualquiera de los usuarios puede digitar Ctrl-C., cualquiera de los usuarios puede digitar Ctrl-C. •
•El comandoEl comando mesgmesg permite regular si se desea recibir mensajes o no. Para evitar recibirpermite regular si se desea recibir mensajes o no. Para evitar recibir
mensajes de
mensajes de talktalk es posible bloquear a otros es posible bloquear a otros usuarios el acceso a la usuarios el acceso a la terminal dondeterminal donde uno está trabajando; quienes intenten iniciar una
uno está trabajando; quienes intenten iniciar una sesión recibirán un mensajesesión recibirán un mensaje indicando que la terminal destino no
indicando que la terminal destino no está habilitada para recibir mensajes.está habilitada para recibir mensajes.
•
• mesg nmesg n •
•deshabilita recepción de deshabilita recepción de mensajes,mensajes, •
• mesg ymesg y •
•habilita recepción de habilita recepción de mensajesmensajes.. •
• mesgmesg •
•muestra el estado: si responde "y" está habilitada la recepción, si responde "n" semuestra el estado: si responde "y" está habilitada la recepción, si responde "n" se
rechazan los pedidos de
rechazan los pedidos de conexión.conexión.
•
•Cambio de contraseña.Cambio de contraseña. •
• passwdpasswd •
•pide la vieja contraseña y pide la vieja contraseña y luego la nueva; la luego la nueva; la nueva contraseña deberá ingresarse dosnueva contraseña deberá ingresarse dos
veces, para evitar posibles errores de digitación.
veces, para evitar posibles errores de digitación. En sistemas con servicio deEn sistemas con servicio de información de red (NIS), el
información de red (NIS), el comando escomando es
•
• yppasswdyppasswd •
•El administrador del El administrador del sistema indicará cuál de sistema indicará cuál de estos comandos debe usar.estos comandos debe usar. •
•Fin de sesión.Fin de sesión. •
• exitexit •
•termina la sesión con UNIX, vuelve a termina la sesión con UNIX, vuelve a presentar el mensaje inicialpresentar el mensaje inicial •
• login:login: •
•habilitando a un nuevo usuario a habilitando a un nuevo usuario a ingresar al sistema. Las teclas <Ctrl-D> tingresar al sistema. Las teclas <Ctrl-D> tambiénambién
terminan la sesión. terminan la sesión.
•
•Otros.Otros. •
•Las teclasLas teclas Ctrl-CCtrl-C interrumpen la ejecución de un comando. Las teclasinterrumpen la ejecución de un comando. Las teclas Ctrl-DCtrl-D indicanindican
un fin de ingreso; si se dan en el
un fin de ingreso; si se dan en el indicador de comandos, termina la sesión UNIX. Enindicador de comandos, termina la sesión UNIX. En UNIX no hay un caracter reservado para fin de archivo;
UNIX no hay un caracter reservado para fin de archivo; Ctrl-DCtrl-D simplemente indicasimplemente indica la terminación de un flujo de datos.
la terminación de un flujo de datos.
•
•En UNIX, la tEn UNIX, la tecla <Enter> coloca un caracter nueva línea, que ecla <Enter> coloca un caracter nueva línea, que en ASCII es <Ctrl-J>; conen ASCII es <Ctrl-J>; con
la tecla <Enter> DOS o
la tecla <Enter> DOS o MS-WindoMS-Windows colocan dos caracteres al final ws colocan dos caracteres al final de una línea: unde una línea: un nueva línea <Ctrl-J> y un retorno <Ctrl-M>. Al mirar un archivo creado en DOS o nueva línea <Ctrl-J> y un retorno <Ctrl-M>. Al mirar un archivo creado en DOS o
MS-Wind
MS-Windows con algunos programas UNIX se pueden llegar a ows con algunos programas UNIX se pueden llegar a ver caracteres '^M' alver caracteres '^M' al final por esta razón.
final por esta razón.
•
•Algunas terminales adminten un control instantáneo de la salida, con Algunas terminales adminten un control instantáneo de la salida, con las teclaslas teclas •
• <Ctrl-S> <Ctrl-S> detiene despliegue.detiene despliegue. •
• <Ctrl-Q> <Ctrl-Q> continúa despliegue.continúa despliegue. •
• En las máquinas UNIX, el En las máquinas UNIX, el terminal de la propia terminal de la propia máquina UNIX se denomina "consola";máquina UNIX se denomina "consola";
se usa preferentemente para administración del
se usa preferentemente para administración del sistema. Tsistema. Todas las teclas odas las teclas de controlde control funcionan bien en la consola; el
funcionan bien en la consola; el funcionamiento en los emuladores de terminalfuncionamiento en los emuladores de terminal depende de la construcción del programa de emulación.
depende de la construcción del programa de emulación.
•
•Preguntas y Ejercicios.Preguntas y Ejercicios. •
•Ejercicios Ejercicios ComplemenComplementariostarios
•
•Bibliografía y Referencias.Bibliografía y Referencias. •
•
Comandos:
Comandos:
••apropos cat cd date exit echo finger head hostname id infoapropos cat cd date exit echo finger head hostname id info
less ls mail man mesg more
less ls mail man mesg more passwd pwd rm talk tail touchpasswd pwd rm talk tail touch whatis who who am i
whatis who who am i whoamiwhoami
•
Preguntas y Ejercicios.
Preguntas y Ejercicios.
Ficha referencia: Tutorial
Ficha referencia: Tutorial
Los ejercicios propuestos referencian comandos vistos en esta ficha y anteriores. No
Los ejercicios propuestos referencian comandos vistos en esta ficha y anteriores. No obstante,obstante, algunas de las
algunas de las tareas pedidas exigen conocer opciones no tareas pedidas exigen conocer opciones no mencionadasmencionadas. Las mismas pueden. Las mismas pueden encontrarse en la
encontrarse en la "Reseña de Comandos"."Reseña de Comandos".
1. LISTADO DE ARCHIVOS (teórico).
1. LISTADO DE ARCHIVOS (teórico).
Estudiar el formato largo de
Estudiar el formato largo de salida del comandosalida del comando lsls. Interpretar las siguientes líneas de. Interpretar las siguientes líneas de salida:
salida:
drwxr-xr-x
drwxr-xr-x 5 5 pedroso pedroso prod prod 512 512 Sep Sep 11 11 15:09 15:09 articulosarticulos -rw-r--r--
-rw-r--r-- 1 1 pedroso pedroso prod prod 1430 1430 Ago Ago 10 10 07:56 07:56 docum1.proddocum1.prod -rwxr-xr-x
-rwxr-xr-x 3 3 admin1 admin1 adminfo adminfo 2330 2330 Jan Jan 7 7 09:34 09:34 rvrv lrwxr--r-- 1 nicasio almacen 9500 Sep 11 10:56 lrwxr--r-- 1 nicasio almacen 9500 Sep 11 10:56 listado.partes
listado.partes
2. LISTADO DE ARCHIVOS.
2. LISTADO DE ARCHIVOS.
Estudiar el
Estudiar el comandocomando lsls..
a) Listar recursivamente todos los archivos bajo el
a) Listar recursivamente todos los archivos bajo el directoriodirectorio /etc/etc deteniendo el desplieguedeteniendo el despliegue en cada pantalla.
en cada pantalla.
b) Probar otras opciones del
b) Probar otras opciones del comandocomando lsls usando el directoriousando el directorio /etc/etc oo /bin/bin.. c) Listar archivos visibles e invisibles bajo el directorio corriente, en formato largo. c) Listar archivos visibles e invisibles bajo el directorio corriente, en formato largo.
3. REDIRECCION E/S.
3. REDIRECCION E/S.
a) Crear el archivo
a) Crear el archivo cap1cap1 con el contenido "Este es el capítulo 1". Repetircon el contenido "Este es el capítulo 1". Repetir con
con cap2cap2 yy cap3cap3. Verificar mostrando cada uno con. Verificar mostrando cada uno con catcat.. b) Mostrar en pantalla uno tras otro, de una sola vez, los b) Mostrar en pantalla uno tras otro, de una sola vez, los archivos
archivos cap1cap1,, cap2cap2 yy cap3cap3 creados.creados. c) Grabar en un
c) Grabar en un único archivo, llamadoúnico archivo, llamado librolibro, los archivos, los archivos cap1cap1,, cap2cap2 yy cap3cap3..
4. EDITOR ae.
4. EDITOR ae.
El editor por excelencia de UNIX es
El editor por excelencia de UNIX es vivi, presente en todas las , presente en todas las variedades de UNIX, usadovariedades de UNIX, usado preferentemente para administración del sistema. La
preferentemente para administración del sistema. La distribución Linux Debian/GNUdistribución Linux Debian/GNU contiene un editor sencillo y
contiene un editor sencillo y pequeño llamadopequeño llamado aeae. Invocarlo escribiendo ae. Interpretar la. Invocarlo escribiendo ae. Interpretar la ayuda y experimentar con él
ayuda y experimentar con él creando y modificando textos breves.creando y modificando textos breves.
5. SISTEMA DE ARCHIVOS.
5. SISTEMA DE ARCHIVOS.
a) Trasladarse al directorio
a) Trasladarse al directorio docdoc, debajo del directorio, debajo del directorio usrusr, debajo del directorio raíz., debajo del directorio raíz. Mostrar el directorio actual.
Mostrar el directorio actual. b) Trasladars
b) Trasladarse al directorio e al directorio local, debajo del directoriolocal, debajo del directorio usrusr, debajo del directorio raíz., debajo del directorio raíz. Mostrar el directorio actual; mostrar los archivos contenidos en él.
Mostrar el directorio actual; mostrar los archivos contenidos en él. c) Trasladars
c) Trasladarse al directorio e al directorio propio del usuario desde cualquier otro directorio.propio del usuario desde cualquier otro directorio.
6. USUARIOS.
6. USUARIOS.
a) Mostrar información relativa al usuario en la sesión actual. a) Mostrar información relativa al usuario en la sesión actual. b) Mostrar qué usuarios hay
b) Mostrar qué usuarios hay en el sistema en el en el sistema en el momento actual.momento actual. c) Mostrar el nombre de la máquina.
7. MANUAL.
7. MANUAL.
a) Desplegar en pantalla la
a) Desplegar en pantalla la página del manual para el comando que muestra en página del manual para el comando que muestra en pantalla laspantalla las páginas del manual.
páginas del manual.
b) Guardar en el archivo
b) Guardar en el archivo pwd.manpwd.man del directorio actual, la del directorio actual, la página del manualpágina del manual pwdpwd.. c) Mostrar el archivo
c) Mostrar el archivo pwd.manpwd.man con el comandoscon el comandos moremore; luego visualizarlo con ae. ; luego visualizarlo con ae. ¿Puede¿Puede explicar
explicar las las diferencias?diferencias?
8. F
8. FIL
ILTROS.
TROS.
a) Grabar la salida de la página man del comando
a) Grabar la salida de la página man del comando echoecho en el archivoen el archivo echo.manecho.man. V. Verifierificarcar mostrando
mostrando echo.manecho.man concon moremore..
b) Mostrar las 15 primeras líneas del archivo
b) Mostrar las 15 primeras líneas del archivo echo.manecho.man. Mostrar las últimas 20 líneas del. Mostrar las últimas 20 líneas del archivo
archivo echo.manecho.man..
c) Capturar las 15 primeras líneas del archivo
c) Capturar las 15 primeras líneas del archivo echo.manecho.man en elen el archivo
archivo extracto.echo.manextracto.echo.man.. d) Agregar al archivo
d) Agregar al archivo extracto.echo.manextracto.echo.man las últimas 20 líneas dellas últimas 20 líneas del archivo
archivo echo.manecho.man..
9. MAIL (teórico).
9. MAIL (teórico).
Estudiar el
Estudiar el comandocomando mailmail. Asegurars. Asegurarse de ser e de ser capaz de invocar el programa de capaz de invocar el programa de correo paracorreo para leer mensajes recibidos, y luego emitir
leer mensajes recibidos, y luego emitir comandos internos del programa de correo paracomandos internos del programa de correo para - mostrar la
- mostrar la lista de mensajes recibidos;lista de mensajes recibidos; - mostrar la
- mostrar la lista de mensajes recibidos comenzando en el 21;lista de mensajes recibidos comenzando en el 21; - leer el mensaje 5;
- leer el mensaje 5;
- borrar los mensajes 5, 7, 9 al 23; - borrar los mensajes 5, 7, 9 al 23;
- salir del correo actualizando la casilla. - salir del correo actualizando la casilla.
10. MAIL.
10. MAIL.
a) Envíese usted mismo un mensa
a) Envíese usted mismo un mensaje de correo con el título je de correo con el título "Mensaje 1" y el siguiente"Mensaje 1" y el siguiente contenido: contenido: Este es el mensaje 1. Este es el mensaje 1. Va dirigido a mí mismo. Va dirigido a mí mismo. Saludos, Saludos, Yo. Yo.
Repita con textos similares para los
Repita con textos similares para los mensajes de título "Mensaje 2" y mensajes de título "Mensaje 2" y "Mensaje 3"."Mensaje 3". b) Lea el
b) Lea el primero, y sólo el primero, y sólo el primero, de todos estos mensajes con el comandoprimero, de todos estos mensajes con el comando mailmail, y salga, y salga de
de mailmail. Vuelva a digitar mail. ¿Cuántos mensajes tiene? ¿Cuáles han quedado? Confirme. Vuelva a digitar mail. ¿Cuántos mensajes tiene? ¿Cuáles han quedado? Confirme leyendo el mensaje 2, y sólo éste.
leyendo el mensaje 2, y sólo éste. c) Digite ahora el
c) Digite ahora el comandocomando mail -f mbox
mail -f mbox
¿Cuál es su contenido? ¿Para qué servirá el
¿Cuál es su contenido? ¿Para qué servirá el archivo mbox?archivo mbox? d) Pruebe borrar algún mensaje del archivo
d) Pruebe borrar algún mensaje del archivo mbox, salga dembox, salga de mailmail y vuelva a leer losy vuelva a leer los mensajes de mbox con
mensajes de mbox con mail -f mboxmail -f mbox. ¿Qué ha pasado?. ¿Qué ha pasado? e) Repita estas pruebas hasta asegurarse de comprender bien el
e) Repita estas pruebas hasta asegurarse de comprender bien el funcionamiento defuncionamiento de mailmail..
11. SISTEMA DE ARCHIVOS.
11. SISTEMA DE ARCHIVOS.
Estudie el comando
Estudie el comando touchtouch. ¿Qué hará el . ¿Qué hará el comandocomando touch archreftouch archref si este archivo nosi este archivo no existe? ¿Y si ya existe? Verificar en máquina.