SlideShare a Scribd company logo
1 of 124
UNIXWARE
Autor: Ing. Jack Daniel Cáceres Meza
May - 1,915
Agradecemos de antemano cualquier sugerencia que nos hagan llegar
Cualquier sugerencia sobre el material aquí
expuesto, sírvase hacerla directamente a:
Ing. Jack Daniel Cáceres Meza
al siguiente teléfono: 5114-475866
ó por escrito a la siguiente dirección: Av. Paseo de La República 3937,
Dpto. 102, Surquillo
Lima - Perú
UNIXWARE BÁSICO
JDCM UNIX SVR4 - NB i
TABLA DE CONTENIDO
ILUSTRACIONES: Pág
Figura No. 1: Integración del Sistema Operativo UNIX __________________________________ 1
Figura No. 2: Resumen Arquitectónico del Sistema Operativo UNIX _______________________ 5
Figura No. 3: Jerarquía del Sistema Operativo UNIX____________________________________ 8
Figura No. 4: Funcionamiento del shell _____________________________________________ 11
PARTES CONSTITUTIVAS: Pág
BASES DEL SISTEMA OPERATIVO UNIX ______________________________________________ 1
COMANDOS BASICOS ______________________________________________________________ 17
COMUNICACIONES ________________________________________________________________ 38
APENDICES ________________________________________________________________________ a
CONTENIDO: Pág
TABLA DE CONTENIDO..................................................................................................................i
Comandos de Referencia en Línea iii
BASES DEL SISTEMA OPERATIVO UNIX ______________________________________________ 1
A. ESTRUCTURA DEL SISTEMA UNIX.........................................................................................1
01. DEFINICION DEL SISTEMA UNIX 1
02. CARACTERISTICAS UNIX 1
03. UN POCO DE HISTORIA SOBRE EL SISTEMA UNIX 1
04. COMPOSICION DEL SISTEMA OPERATIVO UNIX 5
05. CAPAS QUE LO CONFORMAN 5
06. CLASIFICACION DE ARCHIVOS 6
07. CONVENCIONES PARA NOMBRAR ARCHIVOS 6
08. CARACTERES DE REDIRECCIONAMIENTO 7
09. METACARACTERES 7
10. INTERPRETACION DE LOS METACARACTERES 7
11. SU LUGAR EN EL SISTEMA DE ARCHIVOS 7
12. NAVEGANDO POR LA ESTRUCTURA DE ARCHIVOS 7
13. DESCRIPCION DE DIRECTORIOS IMPORTANTES 8
B. ACCESO AL SISTEMA UNIX .....................................................................................................9
01. QUE ES NECESARIO? 9
02. CONVENCIONES GENERALES 9
C. LINEAS DE COMANDO............................................................................................................10
01. INTRODUCCION 10
02. SINTAXIS O COMO EJECUTARLOS 10
03. COMO EJECUTA EL SISTEMA UNIX UN COMANDO 11
D. EDITORES DE TEXTOS............................................................................................................11
01. INTRODUCCION 11
02. COMO TRABAJAN 11
03. EDITOR ‘ed’ 12
04. EDITOR ‘vi’ - PARTE I 13
COMANDOS BASICOS ______________________________________________________________ 17
A. MANEJO DE DIRECTORIOS Y ARCHIVOS............................................................................17
01. Comando ‘pwd’ 17
JDCM UNIX SVR4 - NB ii
02. Comando ‘ls’ 17
03. Comando ‘mkdir’ 18
04. Comando ‘rmdir’ 18
05. Comando ‘rm’ 19
06. Comando ‘cd’ 19
07. Comando ‘cp’ 20
08. Comando ‘mv’ 20
09. Comando ‘file’ 21
10. Comando ‘cat’ 21
11. Comando ‘pg’ 22
12. Comando ‘head’ 22
13. Comando ‘tail’ 23
14. Comando ‘diff’ 23
15. Comando ‘wc’ 24
16. Comando ‘grep’ 24
17. Comando ‘sort’ 25
18. Comando ‘cut’ 25
19. Comando ‘find’ 26
B. OTROS COMANDOS.................................................................................................................26
01. Comando ‘date’ 27
02. Comando ‘cal’ 27
03. Comando ‘calendar’ 28
04. Comando ‘banner’ 28
05. Comando ‘split’ 28
C. IMPRESION DE ARCHIVOS - PARTE I....................................................................................29
01. Comando ‘lp’ 29
02. Comando ‘lpstat’ 29
03. Comando ‘cancel’ 30
D. MANEJO DE ACCESOS ............................................................................................................30
01. CONSIDERACIONES EN LOS PASSWORD 30
02. FACTORES PARA VIGENCIA DEL PASSWORD 31
03. Comando ‘passwd’ 32
04. Comando ‘chown’ 35
05. Comando ‘id’ 35
06. Comando ‘groups’ 35
07. Comando ‘chgrp’ 36
08. Comando ‘newgrp’ 36
09. MANEJO DE LOS PERMISOS DE ACCESO 36
10. Comando ‘chmod’ 37
COMUNICACIONES ________________________________________________________________ 38
A. COMUNICACIONES EN EL AMBIENTE UNIX ......................................................................38
01. INTRODUCCION 38
02. ARCHIVOS PARA MENSAJES BASICOS 38
03. Comando ‘tty’ 38
04. Comando ‘stty’ 39
05. Comando ‘news’ 39
06. Comando ‘mesg’ 40
07. Comando ‘who’ 40
08. Comando ‘finger’ 41
09. Comando ‘write’ 41
10. Comando ‘wall’ 42
11. Comando ‘mailx’ 43
APENDICES ________________________________________________________________________ a
ACCESO A MS-DOS.........................................................................................................................a
BIBLIOGRAFIA a
Notas b
JDCM UNIX SVR4 - NB iii
Comandos de Referencia en Línea
 Los siguientes comandos UNIX le brindan acceso en línea a la información del manual de referencia:
• MAN Accesa a las entradas del manual de referencia en el sistema.
• MANDEX Accesa a un sistema indexado manejado por menú con el fin de buscar
los manuales en línea seleccionados para un determinado asunto o
comando.
 Utilícelos siempre!
JDCM UNIX SVR4 - NB 1
BASES DEL SISTEMA OPERATIVO UNIX
A. ESTRUCTURA DEL SISTEMA UNIX
01. DEFINICION DEL SISTEMA UNIX
a) DEFINIMOS UNIX COMO
 Un sistema operativo o conjunto especial de programas (software) que controla el
funcionamiento del computador.
 Una colección de programas aplicativos denominados a menudo “herramientas” o
“utilitarios”.
b) QUE ES UN SISTEMA OPERATIVO?
 Un conjunto de programas que controla y organiza las actividades de un computador.
 Actúa como nexo entre el computador y sus usuarios, terminales, impresoras y dispositivos para
almacenamiento de información como discos y unidades de cinta.
 Distribuye los recursos del computador al:
 Controlar la memoria del mismo,
 Controlar y organizar las tareas a realizarse,
 Mantener eficientemente el uso de la memoria y dispositivos periféricos.
02. CARACTERISTICAS UNIX
 Provee un medio computacional simple, eficiente, flexible.
 Ofrece las siguientes ventajas:
 Ser un sistema de propósito general para realizar una gran variedad de trabajos o aplicaciones.
 UNIX es un ambiente interactivo que permite comunicarse directamente con el computador y recibir
respuestas inmediatas a sus requerimientos y mensajes.
 Es un ambiente multi-usuario que le permite compartir los recursos del computador con otros
usuarios sin sacrificar su productividad.
 Es un ambiente multi-tarea que le permite a cualquier usuario el ejecutar más de un programa
simultáneamente.
 Es portable ya que existe en muchos tipos de computadores y es debido a que está escrito de modo
que no se centra en un hardware específico.
 Posee herramientas poderosas para desarrollo.
 El UNIX SVR4 unifica las versiones importantes de UNIX (BSD, SunOS, XENIX, AT&T) en un
producto robusto que sigue los estándares de la industria.
XENIX
UNIX SVR4
SunOS
4.3BSD
UNIX
SVR3
Figura No. 2: Integración del Sistema Operativo UNIX
03. UN POCO DE HISTORIA SOBRE EL SISTEMA UNIX
JDCM UNIX SVR4 - NB 2
En 1965, los Bell Telephone Laboratories
participaron en un proyecto junto con la General
Electric Company y el Projecto MAC del MIT
(Massachusetts Institute of Technology) para
desarrollar un nuevo sistema operativo denominado
MULTICS (Multiplexed Information and Computing
System). Las metas del sistema MULTICS eran las de
proveer acceso simultáneo al computador por parte de
una gran comunidad de usuarios, amplio poder de
cómputo y almacenamiento de información, y permitir
a los usuarios el compartir fácilmente su información,
si así lo deseaban.
Aunque hacia 1969 estaba corriendo una versión
primitiva del sistema MULTICS en un computador
General Electric 645, no brindaba el servicio general
de computación que se suponía ni tampoco estaba
claro para cuándo se lograrían sus metas por lo tanto,
la Bell Laboratories suspendió su participación en el
proyecto.
Sin embargo, puesto que otros sistemas
operativos de esos dias eran orientados al proceso
batch, Ken Thompson, Dennis Ritchie y otros,
miembros del Computing Science Research Center de
los Bell Laboratories y participantes en el desarrollo
de MULTICS, permanecieron leales a él y decidieron
escribir su propio sistema operativo basado en sus
mejores características, a la vez que incorporaban
algunos conceptos propios. Este sistema operativo fue
escrito en lenguaje ensamblador en 1969 y fue
llamado UNIX en 1970, habiendo cambiado su
nombre del original UNICS (Uniplexed Information
and Computing System), dado por Kernighan.
Para probar este nuevo sistema operativo se
escogió el computador PDP-7 de Digital Equipment
Corporation en 1971 (realmente, se encontraba sin
uso), y aunque de alguna manera primitivo según los
estándares actuales, el PDP-7 UNIX brindó a
Thompson y Ritchie un ambiente para programación
más amigable que sus alternativas.
En este ambiente, los dos continuaron
implementando ideas para el Sistema UNIX.
Cimentaron las bases para un interpretador de
comandos al que denominaron “shell”i. Este shell
actúa como intermediario entre el usuario y el
computador al traspasar al sistema los comandos
ingresados por el usuario y al disponer la ejecución de
los mismos.
El trabajo con el sistema operativo continuó y
durante ese tiempo, el Sistema UNIX fuere-escrito en
un lenguaje de alto nivel denominado “B” por su
creador Thompson, el cual era interpretativo.
En 1971, Ritchie refinó “B” y agregó
características de programación estructurada
renombrándolo “C”, a la par que ya se podía generar
código máquina, declaración de tipos de datos, y
definición de estructuras de datos.
Pero como un sistema operativo escrito en
lenguaje ensamblador es dependiente de la máquina
para la cual se escribió, no puede transferirse de una
máquina a otra. Hoy sólo unas cuantas rutinas del
núcleo del sistema operativo están escritas en lenguaje
ensamblador. Puesto que el Sistema UNIX fué re-
escrito en el nuevo lenguaje “C” en 1973, tiene la
habilidad adicional de ser transportable entre
diferentes computadores.
Este fué el primer intento de codificar un sistema
operativo entero en un lenguaje de alto nivel, y la
portabilidad que se consiguió está ampliamente
considerada como una de las razones principales de la
popularidad que el Sistema Operativo UNIX goza hoy.
Durante este período se introdujeron los “pipes”
(enlaces, tubos o cauces). Al enlazar la salida
(resultado) de un comando con la entrada (órdenes) de
otro comando, se pueden encadenar comandos que
evitan la creación de excesivos archivos temporales.
Por esos años también se iniciaron las herramientas
para proceso de textos lo que condujo a que el primer
cliente real del sistema UNIX fuera la Oficina de
Abogados de Patentes de los Laboratorios Bell.
Las mejoras a la estructura del sistema de
archivos básico condujeron a la creación de la
estructura jerárquica o de árbol, existente hoy. La
descripción absoluta del nombre de un archivo en esta
jerarquía permite al usuario moverse a través de todos
los directorios y redes de archivos en el sistema.
Se asignaron nombres a dispositivos tales como
terminales, discos, o cintas y a través de estos
nombres, el Sistema Operativo UNIX puede
comunicarse con cada dispositivo.
Dado que el Sistema UNIX tuvo sus raíces en el
centro de desarrollo de los laboratorios Bell y en las
salas de cómputo de las universidades -ya que éstas
escucharon acerca de las actividades en los
Laboratorios Bell y empezaron a indagar por el
Sistema Operativo UNIX, a través de los años se han
desarrollado muchas versiones del sistema UNIX las
cuales incorporaron las mejoras y modificaciones
creadas por estos esfuerzos de desarrollo.
Esto dió lugar a que a finales de los ‘70ii
una
generación completa de profesionales en informática
aprendiera su profesión con el sistema UNIX y que
apareciera toda una ola de innovaciones entre las que
destaca la ampliamente utilizada versión de la
Universidad de California en Berkeley iii
-la cual
estuvo involucrada en el Sistema UNIX desde 1974
gracias a Thompson.
Esta versión es tan importante que la Defense’s
Advanced Research Projects Agency (DARPA) de
Estados Unidos decidió basar su entorno de
computación universal en el Sistema UNIX y lo
encargó a Berkeley.
El sistema UNIX pasó por varias revisiones
internas antes que estuvieran disponibles fuera de los
Laboratorios Bell unas pocas copias de la Versión 4 y
a fines de 1973 la Versión 5, ésta última por una
mínima regalía, pero sin ofrecer soporte para él. En
1976 la Versión 6 fué la primera versión ampliamente
difundida y en 1978, el Grupo de Investigaciones de
los Laboratorios Bell liberó la Versión 7 para la PDP-
11, seguida por la 32V para sistemas VAX de DEC la
cual adiciona paginación de memoria, produciendo el
3BSD (Release 3 de la BSD). Posteriormente, los
Laboratorios Bell ATT han desarrollado la Edición
Octava y Edición Novena, como investigación interna.
Desarrollos posteriores incluyen la Edición Sexta
en 1975 y la Edición Séptima en 1977 iv
. Las
versiones comerciales del Sistema UNIX empezaron
en 1977 con el “Programmer’s Workbench System”
(PWB/UNIX), que se derivó de la Versión 6. En 1980
Microsoft introdujo el Sistema XENIX v
, una
variante del Sistema UNIX Séptima Edición y algunos
utilitarios del 4.1BSD, que fue diseñado para
ejecutarse en microcomputadoras. El System III
apareció en 1981 y combinaba características del
PWB/UNIX y de la Versión 7.
JDCM UNIX SVR4 - NB 3
Sin embargo, algunas restricciones
gubernamentales previnieron comercializar esta
versión fuera de Bell por el Decreto de Concesión de
1956 del Departamento de Justicia, que impedía que el
sistema contuviera tecnología del momento. Una vez
que estas restricciones fueron removidas, debido al
desmembramiento judicial de las Bell Operating
Companies, se anunció el UNIX System V en
1983 vi
.
Esta versión ofrecía un paquete sofisticado para
comunicaciones entre procesos el cual incluía
semáforos, mensajes y memoria compartida, así como
algunas características tomadas de la versión del
sistema de Berkeley de ese entonces como por
ejemplo, el editor ‘vi’, el ‘C-shell’, el manejador de
base de datos relacional INGRES, control de tareas,
redes -las cuales, en 1984 vii
, con el 4.2BSD
permitieron un amplio acceso a los protocolos
Ethernet y TCP/IP los cuales fueron adoptados por
muchos vendedores, así como otras nuevas
facilidades-.
Debido a la portabilidad de los Sistemas UNIX,
durante los siguientes dos años se captó rápidamente
el interés comercial y compañías como Rand Corp.,
Yourdon Inc., y Onyx Systems adquirieron las
primeras licencias de uso comercial.
Luego aparecieron el UNIX System V Release 2
en 1984 -que introdujo protección de archivos durante
cortes de potencia, bloqueo de archivos y registros
para uso exclusivo por un programa, control de
trabajos, entre otras cosas- y el UNIX System V
Release 3 en 1987, conocidos como SVR2 y SVR3
respectivamente. Esta última ha incorporado la
facilidad de comunicaciones STREAMS y la TLI
(Transport Layer Interface) las cuales permiten el
soporte de servicios para red en forma independiente
del medio y del protocolo, y el FACE (Framed Access
Command Environment), que proporciona una interfaz
de usuario orientada a menú.
Esta sofisticación técnica en aumento, junto con
una campaña de mercadeo por parte de ATT, puso al
System V en una posición de liderazgo en el mercado
mundial, mientras que las versiones BSD resultaban
dominantes en las comunidades universitarias y
técnicas.
En Enero de 1985 ATT liberó la SVID (System
V Interface Definition) el cual es un documento legal
y protegido para sistemas abiertos no propietarios, la
que codificaba muchas de las interfaces del System V
Release 2. Fué influenciado por el ‘/usr/group’
Standard viii
de 1984, adoptando facilidades como
bloqueo de archivos.
Al igual que el ‘/usr/group Standard’, la intención
del SVID es la de promover la portabilidad de
aplicaciones y es de la misma manera, independientes
del hardware. Se evitó la información específica de la
implementación en lo posible y se utilizaron nombres
simbólicos para valores numéricos.
El primer volumen del SVID define el sistema
base y las extensiones del kernel mientras que el
segundo define utilitarios básicos y avanzados, soporte
al desarrollo de software, administración del sistema y
extensiones para la interface de terminales. Un tercer
volumen dado a conocer en 1987 incluye una adición
al sistema base que actualiza los dos primeros
volúmenes, así como material acerca de nuevas
facilidades en el System V Release 3. Este volumen
incluye los últimos desarrollos técnicos específicos al
System V, como la facilidad de comunicaciones
STREAMS y redes.
Un nuevo capítulo, titulado SVID89 incluye
características del también nuevo System V Release 4,
el cual soporta muchas interfaces y comandos
adoptados de sistemas BSD y XENIX, interfaces para
ventanas, mayor soporte para la administración del
sistema, internacionalización y tiempo real, además de
incluir el soporte a la X/OPEN Portability Guide
Version 3 ix
, ANSI-C y POSIX.1 x
.
A pesar de estos estándares, el mover
aplicaciones de una arquitectura de procesadores a otra
o aún, entre un equipo de un vendedor y otro
utilizando la misma arquitectura resulta costoso y
lento. Aquí empezó un esfuerzo para unificar las
muchas variantes de UNIX.
A principios de 1987, ATT anunció un acuerdo
con Microsoft para unir su XENIX en el System V. En
octubre del mismo año, ATT y SUN Microsystems
anunciaron una alianza en la cual SUN trabajaría con
ATT para unir su sistema operativo SunOS -basado
en el 4.2BSD- con el SVR4, junto con XENIX. Esto
hubiera conducido a un único estándar -unificado- de
UNIX si los temores de la competencia no hubieran
intervenido.
La decisión de ATT de adoptar el
microprocesador SPARC como la arquitectura para
afinar el sistema UNIX asustó a los competidores de
SUN en el mercado de las estaciones de trabajo, que
temieron que el rendimiento de UNIX estuviera
comprometido en sus propias arquitecturas.
Es así que Hewlett Packard, DEC e IBM
formaron la OSF xi (Open Software Foundation) en
mayo de 1988 para desarrollar su propia
implementación de UNIX. En respuesta, los
vendedores de hardware y software leales al SVR4
formaron UNIX INTERNATIONAl (UI) xii
.
El 15 de mayo de 1990, la OSF liberó
oficialmente un nuevo estándar para la computación
distribuída, el DCE (Distributed Computing
Environment).
UNIX International ha definido un producto más
competitivo que el DCE utilizando la arquitectura
ODC (Open Distributed Computing) de UNIX
Software Laboratories como el núcleo de su
arquitectura la cual denomina ATLAS, y está presente
desde el 16 de Setiembre de 1991.
a) LA NECESIDAD DEL MERCADO DE UN ESTANDAR
A medida que el Sistema Operativo UNIX ha incrementado su sofisticación, también lo han
hecho las necesidades de sus usuarios.
Los tipos de hardware y diferentes sistemas continúan en aumento. las velocidades y
capacidades han aumentado dramáticamente, el sistema corre en hardware que va de micros a
minis, multiprocesadores, mainframes y supercomputadores.
JDCM UNIX SVR4 - NB 4
Los usuarios de Sistemas UNIX no son más meros programadores o están vigentes sólo en
ambientes de investigación académica. La base de usuarios se extiende ahora también al mundo de
los negocios: ejecutivos, grupos de soporte, personal de mercadeo e investigadores industriales.
Nuevas clases de usuarios demandan nuevas clases de aplicaciones. A medida que los
vendedores han adicionado nuevas facilidades a los sistemas para soportar estas nuevas demandas
de aplicaciones, sus productos han adquirido a menudo diferentes facilidades y nuevas
implementaciones de interface. Con esto, los diferentes sistemas han diferido y se acrecienta la
necesidad de estándares.
b) ¿POR QUE ESTANDARES?
Un estándar de interface para sistema operativo que sea seguido por todos los vendedores
permitiría que los programas sean escritos para un ambiente específico en el cual éstos pudieran ser
ejecutados sin modificaciones en diferentes sistemas.
Para la industria, una portabilidad como ésta es importante ya que permite mayor producción y
distribución de aplicaciones. De esta manera, los estándares ahorran tiempo y dinero a los usuarios
y a los proveedores, a la par que ofrecen una base firme en un mercado incierto.
c) LA ARQUITECTURA ATLAS
 Un ambiente completo de servicios y aplicaciones distribuídas: amplia.
 Una solución de estado del arte que impulsa la tecnología existente: está establecida.
 Una metodología que integra la computación heterogénea sin interrumpir aplicaciones
existentes, comunicaciones y/o formatos de datos: no invade otros terrenos.
d) ¿QUE PROVEE LA ARQUITECTURA UI-ATLAS?
 Necesidades computacionales totales:
 Toma las necesidades de tres audiencias claves:
» Usuarios finales/centro de datos,
» Administradores de sistemas distribuídos,
» Desarrolladores de aplicaciones distribuídas.
 Administradores de Sistemas.
 Administradores de Transacciones.
 Compatibilidad con bases instaladas (ahora y en el futuro).
 Evolución transparente a partir de tecnología disponible hoy en el System V.
 Evolución controlada por la industria (basada en estándares).
 Soporte de tecnologías que prometan reducir significativamente el costo del
desarrollo/portabilidad de aplicaciones.
e) BIBLIOGRAFIA
UNIX International
UNIFORUM
Unix System V Version 4
Kenneth H.Rosen - Richard R. Rosinski - James M.
Farber,
Osborne/McGraw Hill, 1991
The Design of the UNIX Operating System
Maurice J. Bach
Prentice-Hall INC./ATT,1987
JDCM UNIX SVR4 - NB 5
04. COMPOSICION DEL SISTEMA OPERATIVO UNIX
Manipulación
de
archivos
Utilidades
Matemáticas
Utilidades
para
manejar
impresoras
Redes y
Comunicaciones
Herramientas
para
Desarrollo de
Software
Procesamiento
de Textos (vi)
Compilador 'C'
Utilidades
para
manejar
terminales
kernel
shell
Figura No. 3: Resumen Arquitectónico del Sistema Operativo UNIX
05. CAPAS QUE LO CONFORMAN
a) KERNEL
 Maneja la memoria.
 Mantiene el sistema de archivos.
 Controla el acceso al computador.
 Distribuye los recursos del sistema entre los usuarios.
b) FILESYSTEM
 Piedra angular del Sistema Operativo UNIX.
 Proporciona un método lógico para organizar, obtener y manejar información.
 Su estructura es jerárquica, semeja un árbol invertido u organigrama.
 Su unidad básica es el archivo.
c) SHELL
 Es un programa que sirve como interpretador de comandos y permite la comunicación con el
sistema operativo.
 Pasa los requerimientos al kernel y se asegura que son ejecutados.
 El más popular es el Bourne shell.
 También es un lenguaje de programación.
 Puesto que puede leer las entradas que se le den y retornar mensajes, se le describe como
interactivo.
d) APLICACIONES O HERRAMIENTAS
 Son un conjunto de intrucciones para el computador.
JDCM UNIX SVR4 - NB 6
 Si un conjunto de instrucciones es ejecutado por el computador sin necesidad de traducirlo
entonces a este conjunto se denomina “programa ejecutable” o “comando”.
 Son utilitarios diversos (procesadores de texto, hojas de cálculo, graficadores, etc.)
 Se utilizan para comunicaciones (comunicaciones simples como entre el terminal del usuario y
el computador hasta comunicaciones con otros computadores utilizando protocolos específicos
-SNA, X.25, OSI)
 Algunas permiten el manejo de información (desde crear un archivo hasta manejar bases de
datos con construcciones complejas como disco espejo, etc.)
 Otras preparan un ambiente para programación (todos los compiladores disponibles en el
mercado)
06. CLASIFICACION DE ARCHIVOS
a) ARCHIVO ORDINARIO
 Es una colección de caracteres que se trata como una unidad.
 Se usan para almacenar información.
 Esta información puede ser texto, reporte, comando, etc.
b) DIRECTORIO
 Es un super archivo que contiene un grupo de archivos relacionados.
 Su función es la de ser un puntero a otros archivos o directorios.
 A esta relación (jerarquía) se denomina relación padre - hijo ya que los archivos contenidos en
un directorio están subordinados a éste.
c) ARCHIVOS ESPECIALES
 En realidad es un puntero a un dispositivo (impresora, terminal, disco).
 Se ubican en general en el directorio /dev.
 El sistema los lee y escribe de la misma forma que lo hace con los archivos ordinarios sin
embargo,
 Los requerimientos de lectura y escritura no activan el mecanismo normal de acceso a archivos
sino que activan el manejador del dispositivo asociado con el archivo.
07. CONVENCIONES PARA NOMBRAR ARCHIVOS
 Deben ser descriptivos.
 Los nombres pueden tener hasta un máximo de 14 caracteres de longitud para el sistema de archivos tipo
‘ s5 ‘ y 256 para el tipo ‘ ufs ‘.
 Pueden consistir de:
1. Letras mayúsculas : ( A - Z )
2. Letras minúsculas : ( a - z )
3. Números : ( 0 - 9 )
4. Puntos : ( . )
5. Comas : ( , )
6. Caracter subrayado : ( _ )
 No pueden tener caracteres especiales (esto es, caracteres diferentes a los mencionados antes).
 Deben empezar con un caracter alfanumérico.
 No debe haber espacios dentro del nombre.
 Las mayúsculas se diferencian de las minúsculas.
 Dentro de un directorio los nombres deben ser únicos.
JDCM UNIX SVR4 - NB 7
08. CARACTERES DE REDIRECCIONAMIENTO
  Input desde un archivo.
  Salida hacia un archivo.
  Adiciona a un archivo.
09. METACARACTERES
 El caracter ‘ ? ‘ identifica un solo caracter:
fi? encuentra “fig”, “fin”
 El caracter ‘ * ‘ identifica cualquier combinación de cualquier número de caracteres:
fi* encuentra “fig”, “figura”, “finura”
 El conjunto de caracteres ‘ [ ] ‘ identifica un agrupamiento de caracteres:
 fi[gn] encuentra “fig”, “fin”
 file[1-4] encuentra “file1”,”file2”,”file3”,”file4”
 [Ff]ile encuentra “File” o “file”
 [F,g,h]ile encuentra “File” o “gile” o “hile”
 file[!1-3] encuentra aquellos archivos que no terminan en 1 o 2 o 3
10. INTERPRETACION DE LOS METACARACTERES
 Encerrarlos entre apóstrofes simples ( ‘ ) para tratar todo el dato entre ellos como un solo literal.
 Las comillas permiten interpretar dentro del dato algunos caracteres especiales como: $, `, . .
 El backslash (  ) que precede a un metacaracter neutraliza su significado.
 Los acentos graves o apóstrofes invertidos ( ` ) permiten la sustitución de un comando por su resultado.
Ejemplos:
$ echo “No haga eso !”
No haga eso !
$ echo ***
***
$ echo x `*` y
x * y
$ echo “La fecha es: `date`”
La fecha es: Thu Nov 20 12:45:16 EDT
11. SU LUGAR EN EL SISTEMA DE ARCHIVOS
 Cada vez que Ud. interactúa con el sistema UNIX, lo hace desde una ubicación precisa dentro de su
estructura de archivos.
 El Sistema UNIX lo posiciona automáticamente en un punto específico de su sistema de archivos cada
vez que Ud. lo accesa.
 Desde ese punto Ud. puede moverse a través de la jerarquía para trabajar con sus directorios y archivos
y accesar a aquellos que pertenecen a otros usuarios y sobre los cuales Ud. tiene permiso de acceso.
 Igualmente, aquí puede crear o borrar archivos y directorios así como controlar el acceso a los mismos.
12. NAVEGANDO POR LA ESTRUCTURA DE ARCHIVOS
 Una estructura de archivos UNIX siempre se inicia con un directorio proporcionado por el sistema,
denominado “root” y representado por el símbolo “ / “.
 Este directorio es la raíz, origen o punto de partida de cualquier otro directorio o archivo que se cree en
el sistema.
 Un directorio es un archivo que contiene punteros hacia otros archivos u otros directorios. Estos
directorios denominados “subdirectorios” pueden a su vez contener punteros hacia otros archivos o
directorios, y así sucesivamente.
 El formato utilizado para referirse a un archivo en esta estructura es:
/directorio/directorio/nombre_del_archivo
JDCM UNIX SVR4 - NB 8
 Esta estructura de concatenación de archivos utilizando el caracter “ / “ se denomina nombre completo o
“pathname”. cuando a Ud. se le asigna un nombre de usuario, también se le asigna un directorio y a
éste directorio se le denomina “directorio base”, pudiendo estar localizado en cualquier parte de la
estructura de archivos UNIX. El sistema UNIX busca a lo largo del camino correcto hasta que ubica su
directorio base; cuando Ud. accesa al sistema UNIX, automáticamente es puesto en ese directorio. El
camino entre el directorio raíz y su directorio base es un ejemplo de “pathname”.
 En la medida que Ud. continúe trabajando en su directorio base, éste se considera su “ directorio de
trabajo “ o “ directorio actual ”.
 Si cambia a otro directorio, este nuevo directorio se convierte en su nuevo directorio actual.
 Al directorio actual se le representa con un punto ( . ) y es denominado también “ directorio hijo “
 El directorio del cual parte o al cual pertenece este último, denominado a su vez “directorio padre”, se
representa con dos puntos ( .. ).
 Ud. puede navegar a través de la estructura de archivos especificando la “trayectoria absoluta” (o
“trayectoria completa”), o la “trayectoria relativa” de un archivo.
 Una trayectoria absoluta o completa es el camino hacia un archivo empezando en el directorio raíz.
 Una trayectoria relativa es el camino hacia un archivo relativo a su directorio actual o de trabajo.
/
(root)
stand
sbin
dev etcunix
term
console
home
jose maria
tmp
var
usr
bin
lib
sbin
ls cat
= Directorios
= Archivos Ordinarios
= Archivos Especiales
= Enlaces
Figura No. 4: Jerarquía del Sistema Operativo UNIX
13. DESCRIPCION DE DIRECTORIOS IMPORTANTES
/bin Contiene programas ejecutables y utilitarios propios del sistema.
/dev Contiene archivos especiales que representan dispositivos periféricos como la consola,
impresora, terminales, discos, cintas.
/etc Contiene programas y archivos que UNIX utiliza para su administración.
/lib Contiene librerías para programas y lenguajes (compiladores). Es un enlace simbólico
con el directorio ‘ /usr/lib ‘, y es creado para compatibilidad con versiones anteriores
de UNIX.
/tmp Contiene archivos temporales que pueden ser creados por cualquier usuario o el mismo
sistema operativo.
/usr Contiene archivos, programas, o utilitarios que son adicionales a los del sistema
operativo.
JDCM UNIX SVR4 - NB 9
/hinv Contiene archivos de configuración de hardware. Sistema de archivos propio de
UNISYS.
/home Directorio por defecto para los directorios de los usuarios.
/proc Punto de montaje para otro tipo de sistema de archivos. Los archivos aquí contenidos
representan los procesos en ejecución en memoria y su nombre es el número de
identificación del proceso.
/sbin Contienen los programas requeridos por el comando ‘ init ‘ para el proceso de carga o
para recuperación a partir de una falla del sistema. También contiene los comandos
administrativos para el modo mono_usuario.
/stand Punto de montaje para el sistema de archivos de carga (bfs).
E. ACCESO AL SISTEMA UNIX
01. QUE ES NECESARIO?
 Un terminal con las siguientes características:
 Debe estar en línea.
 Configurado a:
 FULL DUPLEX.
 NO PARITY.
 BAUD RATE (acorde con el computador).
 Generar letras minúsculas siempre.
 Se define con la variable TERM:
 TERM=tipo_de_terminal
 Se hace que el sistema la reconozca para toda la sesión de trabajo con:
export TERM
 Un nombre para acceso (login) mediante el cual el sistema UNIX lo identifique como usuario
autorizado.
 Una palabra clave (password) que verifique su identidad.
02. CONVENCIONES GENERALES
 Los comandos deben ser ingresados en minúsculas (a menos que se especifique lo contrario)
 Existen caracteres especiales simples:
• # para borrar un caracter
• @ para borrar una línea entera
 o compuestos: xiii
### ^d CTRL d, salir del sistema
### ^s / ^q CTRL s / CTRL q, XON/XOFF
### ^h CTRL h, borrar caracter
### ^u CTRL u, borrar línea
### ^c CTRL c, interrumpir la ejecución del comando
 o teclas especialmente etiquetadas:
• CR Termina una línea y posiciona el cursor en una nueva línea.
• ESC Realiza una función específica al usarse con otra tecla.
• DEL Anula la línea de comando actual.
• BREAK Detiene la ejecución de un comando o programa.
 Los nombres para login deben ser de 3 a 8 caracteres, en minúsculas e iniciándose siempre por una letra,
sin símbolos. Cada vez que desee ingresar al sistema debe usarlo. La expresión “ login “ se deriva del
hecho que el sistema mantiene un “ log “ por cada usuario que ingresa al sistema. La línea que aparece
en el terminal:
JDCM UNIX SVR4 - NB 10
login:
indica que el sistema está esperando su ingreso al mismo.
 El nombre para los password debe seguir las siguientes normas:
 De 6 a 8 caracteres, pero su longitud se puede definir en el archivo ‘/etc/default/passwd’.
 Por lo menos dos caracteres alfanuméricos (mayúsculas o minúsculas) y por lo menos 1 caracter
especial o numérico.
 Debe ser diferente del login incluso, no debe ser el inverso o rotación de éste. Para la verificación,
mayúsculas y minúsculas son lo mismo.
 Por razones de seguridad, el sistema UNIX no muestra este nombre en pantalla. Aparece
inmediatamente después que ha ingresado el login:
login: empleado CR
password:
F. LINEAS DE COMANDO
01. INTRODUCCION
 Un programa es un conjunto de instrucciones para el computador.
 Todos aquellos programas que puede ejecutar el computador sin necesitar transformación previa se
denominan archivos ejecutables o comandos.
 El sistema UNIX le brinda muchos programas estandard y herramientas con los cuales Ud. puede:
 Procesar textos (editarlos).
 Manejar información esto es, organizar el filesystem.
 Transmitir y/o recibir información de otros sistemas (comunicación electrónica).
 Desarrollar software (establecer ambiente para programación amigable).
 Accesar a utilitarios adicionales (para gráficos o cálculos).
02. SINTAXIS O COMO EJECUTARLOS
 Con el fin de que sus requerimientos sean comprensibles para el sistema UNIX, Ud. debe presentar cada
comando en el formato o sintaxis de comando correcto.
 La sintaxis define el orden en el que debe ingresar los componentes de una línea de comando:
comando opcion(es) argumento(s)
donde:
• comando Es el nombre del comando/programa que se desea ejecutar
• opción Modifica la forma en que el comando se ejecuta (usualmente precedido por
“ - “).
• argumento Especifica la información sobre la que opera ese comando.
 Las palabras que componen un comando completo se separan por lo menos con un blanco (un espacio o
una tabulación).
 Si un argumento contiene blancos debe encerrarlo entre comillas.
 Algunos comandos le permiten especificar múltiples opciones y/o argumentos en una línea de
comandos.
 Las opciones deben estar separadas por un guión ( - ) y espacios en blanco entre ellas.
 O por lo menos un guión y las demás opciones juntas, sin espacios en blanco ni guiones.
Ejemplo:
incorrecto correcto
wcfile wc file
JDCM UNIX SVR4 - NB 11
wc-lfile wc -l file
wc -l w file wc -l -w file
wc file1file2 wc file1 file2
03. COMO EJECUTA EL SISTEMA UNIX UN COMANDO
USUARIO SHELL KERNEL PROGRAMAS
COMANDOS
UTILITARIOS
ETC.
Figura No. 7: Funcionamiento del shell
 Luego de presionar la tecla CR para ejecutar un comando, el shell:
 Chequea que exista el comando.
 Chequea los permisos.
 Analiza los argumentos y opciones de la línea de comando.
 Inicia el proceso.
 Al terminar vuelve al prompt.
H. EDITORES DE TEXTOS
01. INTRODUCCION
 Un editor de textos realiza las tareas de insertar, adicionar, borrar o transponer textos y finalmente,
preparar una copia limpia y corregida de éstos logrando que su escritura y revisión sea mucho más fácil
y rápida que si se hiciera manualmente.
 Para el sistema UNIX, los editores de textos son programas interactivos que aceptan comandos propios
y luego realizan las funciones requeridas.
02. COMO TRABAJAN
 Tan pronto como un editor es invocado éste separa un espacio de trabajo temporal denominado “buffer
de edición” y cualquier información que pueda ingresar mientras se edita un archivo, se almacena en
este buffer donde puede modificarse.
 No importa si Ud. crea o actualiza un archivo, el texto dentro del buffer está organizado en líneas que
son simplemente una serie de caracte-res que aparecen horizontalmente en la pantalla y terminan cuando
presiona la tecla RETURN.
 Se diferencian dos modos de operación: de comando y de operación.
 Cuando se inicia una sesión de edición, ésta comienza en modo comando pero sólo puede modificar,
adicionar o crear un texto en el modo texto y en este modo, todos los caracteres que tipee se colocan en
el buffer como parte de su archivo texto.
 El editor de líneas es muy rápido. Manipula texto línea por línea de modo que se necesita especificar el
número de la línea que desea trabajar.
 El editor de pantalla es una herramienta interactiva orientada a la visualización de un texto en toda la
pantalla, página por página. Esto permite posicionar el cursor en cualquier punto de la pantalla en donde
se quiera modificar algo, logrando resultados inmediatos. Este editor consume recursos del computador:
JDCM UNIX SVR4 - NB 12
procesador (debido al reformateo de la pantalla por cada cambio realizado), disco (ya que genera
archivos intermedios para su trabajo), si los cambios son mayores.
03. EDITOR ‘ed’
a) INGRESO Y SALIDA DEL EDITOR
Ingresamos:
$ed archivo
Aparece:
• ? archivo Si no existe, indicando que es nuevo.
• xxx Donde ‘xxx’ es el número de bytes existentes en el archivo.
Salimos:
• q En modo comando.
b) CARACTERISTICAS GENERALES
 Pasamos a modo comando al presionar “ . “ como único caracter en la línea.
 Guardamos el texto en el archivo especificado al presionar “ w “ como único caracter en la
línea.
 En general, todo comando debe ser ingresado solo, como único caracter en la línea.
 El editor no indica en qué modo se está trabajando a menos que se ejecute el comando “P” el
cual muestra un “ * “ cada vez que se ingresa al modo comando.
 Si deseamos cambiar el “ * “ (prompt), lo podemos hacer en el momento que invocamos el
editor y usamos la opción:
“ -p “ (este prompt puede ser uno o varios caracteres)
$ed -p prompt archivo
 Un comando ‘ed’ consta de hasta 3 componentes:
posición comando opción
donde la posición se refiere a la línea (o líneas) sobre las que se desea trabajar. Si no se
especifican líneas, la operación se realiza sobre la línea actual en el buffer (la última en la que
se estuvo trabajando).
 Dos líneas separadas por una coma se interpreta como un rango de líneas.
 Cuando una sesión de edición termina anormalmente, el sistema operativo UNIX trata de salvar
el contenido del buffer de edición en el archivo ‘ed.hup’ en el directorio de trabajo.
c) COMANDOS PROPIOS
• [.]a Adiciona líneas tras la actual.
• [.,.]c Modifica un rango de líneas.
• [.]i Inserta líneas delante de la actual.
• [.,.]p Muestra un rango de líneas.
• . Indica la línea actual en modo comando o, pasa de modo texto a modo comando.
• $ Indica la última línea.
• ! cmnd Ejecuta un comando externo en forma temporal.
Ejemplos:
3i Ingresa al modo texto e inserta un texto digitado antes de la línea 3.
8c Ingresa al modo texto y reemplaza la línea 8 por otro texto digitado.
1,5c Ingresa al modo texto y reemplaza las líneas 1 a la 5.
5p Muestra la línea 5.
2,6p Muestra las líneas 2 a la 6.
$c Ingresa al modo texto y cambia el texto de las líneas 10 hasta el final del archivo.
!ls Muestra el contenido del directorio actual y retorna al editor. La salida de este comando no es
parte del archivo que se edita.
JDCM UNIX SVR4 - NB 13
d) OTROS COMANDOS
• 1,$p Muestra todo el archivo.
### ,p Igual al anterior.
• .,$p Muestra el contenido del archivo entre la línea actual ( . ) y la última línea ( $ ).
• n Muestra la línea y el número de la línea actualmente en el buffer.
• 1,$n Muestra todas las líneas con número de línea.
### = Muestra el número de líneas del buffer.
### + o RETURN, pasa a la siguiente línea, mostrándola.
### - Pasa a la línea anterior, mostrándola.
• l Muestra caracteres visibles y no visibles de la línea actual.
• [.,.]mn Mueve el rango de líneas especificado por [.,.] después de la línea ‘n’.
• [.,.]tn Copia las líneas especificadas por [.,.] después de la línea n.
• [.,.]d Remueve las líneas especificadas por el rango [.,.].
### /texto/ Búsqueda del “texto”xiv
hacia adelante.
### / Siguiente ocurrencia xv
hacia adelante del “texto” previamente establecido.
• ?texto? Búsqueda del “texto” hacia atrás.
• ? Siguiente ocurrencia hacia atrás del “texto” previamente establecido.
• [.,.]s/antiguo/nuevo/
Sustitución simple de la primera ocurrencia en la línea del texto “antiguo” por el
“nuevo”.
• [.,.]s/antiguo/nuevo/g
Sustitución global del texto “antiguo” por el “nuevo” en la línea.
• [.,.]s/antiguo/nuevo/p
Muestra el resultado de la sustitución del texto “antiguo” por el “nuevo”.
• u Deja sin efecto el último comando efectuado.
• H Causa que automáticamente se muestre un mensaje de error cada vez que aparece
“ ? “.
• h Causa que se muestre un mensaje de error explicando la razón del “ ? “ más reciente.
• [1,$]w[archivo]
Graba el contenido del buffer actual en un “archivo” diferente al original.
Ejemplos:
.= Muestra el número de la línea actual
m4 Mueve la línea actual después de la línea 4
$m0 Mueve desde la línea 5 hasta la última hacia el inicio del archivo
1,4t10 Copia las líneas 1 a 4 colocándolas después de la línea 10
+3p Muestra las 3 líneas posteriores a la actual
5p Muestra las 5 líneas anteriores a la actual
5d Remueve la linea 5
5,6d Remueve las líneas 5 y 6
s/a 12/b 14/ Reemplaza la primera ocurrencia de “a 12” por “b 14” en la línea actual.
s2s/azul//g Borra todas las palabras “azul” de la línea 2.
$s/azul/mar/gp xvi
Reemplaza todas las ocurrencias de la palabra “azul” por la palabra “mar” y muestra los resultados.
04. EDITOR ‘vi’ - PARTE I
a) INGRESO Y SALIDA DEL EDITOR
Ingresamos:
$vi archivo
Aparece:
~
~
.
.
.
~
“archivo” [New file]
JDCM UNIX SVR4 - NB 14
Salimos:
### :q Pasamos a modo comando y digitamos ‘ q ‘ seguido de CR.
b) CARACTERISTICAS GENERALES
 Pasamos a modo comando al presionar ESC.
 Invocamos a la línea de comando con “ : “ (siempre aparece en la última línea).
 Guardamos la información con la siguiente secuencia:
ESC + “ : “ + “ w “
 Utiliza toda la pantalla, el cursor aparece en la columna superior izquierda, llena la pantalla con
tildes ( ~ ) indicando que no hay información.
 Al igual que el editor `ed`, `vi` nos proporciona una forma de distinguir entre el Modo
Comando y el Modo Texto:
$vedit archivo
el editor muestra el modo de operación en la esquina inferior derecha de la pantalla.
 Depende de las características específicas y capacidades de cada terminal.
 Cuando una sesión termina anormalmente, UNIX salva el contenido del buffer de edición en
un archivo en el directorio de trabajo teniendo el mismo nombre que el archivo de trabajo. Se
recupera con la opción siguiente:
vi -r nombre_de_archivo
c) COMANDOS BASICOS
(1) ADICION E INSERCION DE TEXTO
• a Adiciona caracteres a la derecha del cursor.
• A Adiciona caracteres después del último caracter de la línea.
• i Inserta caracteres antes del cursor.
• I Inserta caracteres al inicio de la línea.
• o Abre una línea en blanco bajo la línea actual.
• O Abre una línea en blanco sobre la actual.
Ejemplos:
Texto original : Una línea de texto
Adicionamos : xxzz
Cursor ubicado en : ‘e’ de ‘línea’
Comando Resultado
a Una línexxzza de texto
A Una línea de textoxxzz
i Una línxxzzea de texto
I xxzzUna Línea de texto
o Una línea de texto
xxzz
O xxzz
Una línea de texto
(2) BORRADO DE TEXTOS
• e Del cursor al final de la palabra.
• w Del cursor al inicio de la palabra.
• $ Del cursor al final de la línea.
• 0 Del caracter antes del cursor hasta el inicio de la línea.
• b Del caracter antes del cursor hasta el inicio de la palabra.
• [n] Número de caracteres a borrar hacia la derecha (x) o izquierda (X).
• xp Intercambia el caracter bajo el cursor por el de su derecha.
JDCM UNIX SVR4 - NB 15
d) MOVIMIENTO DEL CURSOR
(1) MOVIMIENTOS BASICOS DEL CURSOR
• [n]k Mueve el cursor ‘ n ‘ líneas hacia arriba.
• [n]j Mueve el cursor ‘ n ‘ líneas hacia abajo.
• [n]G Mueve a la línea ‘ n ‘
• H A la primera fila, primera columna de la pantalla.
• G A la última línea del archivo.
• M A la mitad de la pantalla.
• L A la última línea de la pantalla.
• CTRL b Muestra página anterior.
• CTRL f Muestra siguiente página.
• CTRL d Mueve 12 líneas hacia abajo.
• CTRL u Mueve 12 líneas hacia arriba.
• CTRL g Muestra la línea actual, el número total de líneas del archivo y el porcentaje
que esta línea representa del total.
(2) MOVIMIENTO DENTRO DE UNA PANTALLA
• nH Mueve el cursor hacia la línea ‘ n ‘ contada desde la línea superior de la
pantalla.
• nL Mueve el cursor hacia la línea ‘ n ‘ contada desde la línea inferior de la
pantalla.
###^E Baja la ventana una línea.
###^Y Sube la ventana una línea.
###^L Blanquea y redibuja la pantalla.
(3) MOVIMIENTO DENTRO DE LINEAS
• 0 Cero al inicio de la línea.
###^ Primer caracter de la línea actual (ignora espacios y tabulaciones).
• $ Al final de la línea.
• CR Inicio de la línea siguiente.
###+ Inicio de la línea siguiente (en el primer caracter no blanco).
###- Inicio de la línea anterior (en el primer caracter no blanco).
• w Una palabra hacia adelante.
• b Una palabra hacia atrás.
• [n]h Mueve el cursor ‘ n ‘ caracteres a la izquierda.
• [n]l Mueve el cursor ‘ n ‘ caracteres a la derecha. Igual a la barra espaciadora.
###^D Resetea el margen izquierdo de una autoedición.
(4) MOVIMIENTO POR BLOQUE DE TEXTO
• e Fin de palabra.
• E Fin de palabra (ignorando puntuación).
• b Retrocede una palabra.
• B Retrocede una palabra, ignorando puntuación.
• w Adelanta una palabra.
• B Adelanta una palabra, ignorando puntuación.
###// Dos slashes: repite la última búsqueda.
(5) MODIFICAR TEXTO
• D Borra desde el cursor hasta el final.
• dd Borra toda la línea incluyendo el CR.
• [n]c[rango] Modifica el texto que se especifica en “rango”, el número de líneas
especificado en ` n `.
• cc Cambia toda la línea sin el CR.
• [n]yy Copia las líneas especificadas por ` n ` a un buffer temporal.
• [n]Y Igual que ` yy `.
• p Copia la(s) línea(s) del buffer temporal debajo de la línea actual.
• P Copia la(s) línea(s) del buffer temporal encima de la línea actual.
• CR En el modo texto parte la línea a partir del caracter sobre el que está el cursor.
• J Une dos líneas.
• u Deshace el comando anterior.
• U Deshace todos los comandos dados a la línea actual.
JDCM UNIX SVR4 - NB 16
###/patrón Busca hacia adelante el patrón indicado.
###/ La siguiente ocurrencia hacia adelante del texto anterior.
###/patrón/- Posiciona el cursor en el inicio de la línea sobre ‘patrón’.
###/patrón/+2 Posiciona el cursor dos líneas por debajo de ‘patrón’.
• ?texto Busca hacia atrás el texto indicado.
• ? La siguiente ocurencia hacia atrás del texto anterior.
• n Repite el comando de búsqueda en la dirección previamente especificada.
• s Sustituye caracteres (actúa igual al comando ‘ cl ‘).
• S Sustituye líneas (actúa igual al comando ‘ cc ‘).
• N Repite el comando de búsqueda en la dirección opuesta.
###:wCR Graba el archivo.
###:qCR Sale del editor.
###:wqCR Graba el archivo y sale del editor.
###:q!CR Sale del editor sin grabar nada.
• r Reemplaza el caracter bajo el cursor.
• R Reemplaza un texto a partir del cursor (hasta presionar la tecla Escape:
ESC).
• n- Corre ‘ n ‘ columnas a la izquierda.
• n- Corre ‘ n ‘ columnas a la derecha.
• mx Marca la posición del cursor con el caracter especificado por ‘ x ‘.
• ‘x Acento grave: mueve el cursor a la posición marcada por ‘ x ‘.
• d`x Acento grave: borra desde el cursor hasta (pero no incluyendo) la posición
marcada uniendo las líneas parciales restantes.
• d’x Apóstrofe: borra todas las líneas completas desde donde está el cursor hasta
incluir la posición marcada.
(6) COMANDOS ‘:’
###:e [file] Blanquea el buffer y carga “ file “ en el buffer (edita otro archivo).
###:r [file] Inserta “ file “ debajo de la línea donde se encuentra el cursor.
###:r!cmd Carga la salida de un comando shell en el texto y donde está ubicado el cursor.
###:!cmd Ejecuta un solo comando shell y luego retorna al editor.
###:n Edita el siguiente archivo de la lista.
###:g/x/cmd Ejecuta un comando ‘ ed ‘ en todo lo que concuerde con ‘ x ‘.
###:m,nwfile Adiciona líneas desde la ‘ m ‘ hasta la ‘ n ‘ al ‘ file ‘.
###:m,nm# Mueve las líneas desde la ‘ m ‘ hasta la ‘ n ‘ después de la línea ‘ # ‘.
###:m,nco#/m,nt#
Copia las líneas desde la ‘ m ‘ hasta la ‘ n ‘ después de la línea ‘ # ‘.
(7) BUSQUEDA Y REEMPLAZO TOTAL
###:[.,.]s/texto_antiguo/texto_nuevo/opciones
Sustituye el “texto_antiguo” por el “texto_nuevo” dentro del rango
especificado. Las opciones son las del editor ‘ ed ‘.
###:1,30s/texto1/texto2/gc
Pide confirmar cada reemplazo (si se acepta se presiona ‘ Y + CR ‘, para
ignorar se presiona sólo CR.
###:s/est.e/este Asumiendo que ‘est007e’ sea lo primero, se remueve ‘007’.
###:%s/texto1/texto2/g
Busca todas las líneas y reemplaza todas las ocurrencias de ‘texto1’ por
‘texto2’.
###:g/texto1/s//texto2/g
Busca el patrón ‘texto1’ en forma global, luego reemplaza toda ocurrencia de
este ‘texto1’ por ‘texto2’ en las líneas encontradas.
###:g/texto1/s/texto2/texto3/g
Busca el patrón ‘texto1’ en forma global, luego reemplaza toda ocurrencia de
‘texto2’ por ‘texto3’ en las líneas encontradas.
###:.,+3 Muestra desde la línea actual ( . ), 3 líneas más. Si se usa el signo negativo,
serán 3 líneas menos.
###:1,$s Busca en todas las líneas del archivo.
###:%s Igual al anterior.
JDCM UNIX SVR4 - NB 17
COMANDOS BASICOS
A. MANEJO DE DIRECTORIOS Y ARCHIVOS
01. Comando ‘pwd’
Propósito:
Mostrar el nombre del directorio de trabajo.
Sintaxis:
/usr/bin/pwd
Opciones:
Ninguna
Consideraciones:
Ninguna
Ejemplo:
$ pwd
/usr/lib
02. Comando ‘ls’
Propósito:
Mostrar el contenido de uno o más directorios.
Sintaxis:
/usr/bin/ls [-RalFs] { nombres }
Opciones:
• R Muestra sucesivamente todos los subdirectorios encontrados.
• a Lista todas las entradas, incluso aquellas que empiezan con ( . ), normalmente ocultas.
• l Listado detallado.
• F Pone un ( / ) después de cada nombre de archivo si éste es un directorio o un ( * ) si es un
archivo ejecutable.
• s Proporciona el tamaño en bloques, incluyendo bloques indirectos.
Consideraciones:
 La salida está sorteada alfabéticamente por defecto.
 Cuando no se da el argumento (‘nombres’ en este caso), se trabaja sobre el directorio actual.
 La salida detallada incluye (todo esto por cada archivo mostrado):
1. Modo
2. Número de enlaces ó número de nombres con que se le reconoce en todo el sistema
3. Nombre del propietario
4. Nombre del grupo de trabajo al cual pertenece el propietario
5. Tamaño en bytes
6. Fecha y hora en que el archivo fué modificado por última vez
7. Nombre del archivo.
 El ‘modo’ consiste en 10 caracteres.
 El primero puede ser uno de los siguientes:
• d Si la entrada es un directorio
• b Si la entrada es un archivo especial de acceso por bloques.
JDCM UNIX SVR4 - NB 18
• c Si la entrada es un archivo espe-cial de acceso por caracter.
• p Si la entrada es un archivo especial FIFO (denominado ‘pipe’).
### - Guión, si la entrada es un archivo ordinario.
 Los siguientes 9 caracteres se interpretan como conjuntos de 3 bit cada uno.
 El primer conjunto se refiere a los permisos del propietario sobre el archivo.
 El segundo conjunto se refiere a los permisos de los demás componentes del grupo de trabajo
sobre este archivo.
 El tercer grupo se refiere a todos los demás usuarios que no son propietarios ni pertenecientes al
mismo grupo de trabajo.
 Dentro de cada conjunto, los tres caracteres indican permisos para:
• r leer
• w modificar
• x ejecutar
### - no se brinda permiso alguno
Ejemplo:
$ ls -la
total 9
drwxr-xr-x 2 stu2 stud 480 Aug 30 10:25 letra
-rw-r—r-- 1 stu2 stud 264 Sep 05 09:37 memo
-rw-rw-rw- 1 stu2 stud 230 Aug 25 09:50 .carta
03. Comando ‘mkdir’
Propósito:
Crear un directorio.
Sintaxis:
/usr/bin/mkdir [-p] { nombre_de_directorio }
Opciones:
• p Se crea el ‘nombre_de_diretorio’ solicitado creando antes todos los directorios padres
necesarios.
Consideraciones:
 Las entradas estandard en un directorio (archivo ‘ . ‘ para el mismo directorio y ‘ .. ‘ para el
directorio padre) se hacen automáticamente.
 Este comando no las puede crear por nombre.
 Se requiere tener permiso en el directorio padre para crear un directorio.
 Si se trata de crear un directorio con la opción ‘-p’ y éste existe, se envía un mensaje de error.
Ejemplo:
$ mkdir user1 Crea el directorio ‘user1’ debajo del directorio de trabajo
actual
$ mkdir -p /usr1/user3 Crea el directorio ‘usr1’ y luego el directorio ‘user3’,
asumiendo que ninguno exista.
04. Comando ‘rmdir’
Propósito:
Remover un directorio (vacío).
Sintaxis:
/usr/bin/rmdir [-p] { nombre_de_directorio }
Opciones:
• p Permite la remoción del directorio ‘nombre_de_directorio’ y sus directorios padres.
JDCM UNIX SVR4 - NB 19
Consideraciones:
 Usando la opción ‘-p’ se imprime un mensaje indicando si parte o toda la trayectoria es removida
o permanece por alguna razón (no tiene permiso de escritura, no pertenece al usuario).
Ejemplo:
$ rmdir /usr/acct/user1
05. Comando ‘rm’
Propósito:
Removemos archivos.
Sintaxis:
/usr/bin/rm [-fir] { archivo / directorio }
Opciones:
• f Ocasiona la remoción de todos los archivos (protegidos o no) sin notificar al usuario. No se
remueven los archivos de un directorio protegido.
• i Se pide confirmación para la remoción de un archivo protegido en forma interactiva.
• r Ocasiona la remoción de todos los directorios y subdirectorios de la lista de argumentos.
Consideraciones:
 Con la opción ‘ -r ‘ primero se borran los archivos contenidos en el directorio especificado y luego
se borra éste.
 Se pide confirmación cuando se remueve cualquier archivo protegido.
 La confirmación se inactiva cuando se utiliza la opción ‘ -f ‘.
 No se pueden borrar los directorios ‘ . ‘ ni ‘ .. ‘.
 Un directorio/archivo está protegido cuando no tiene permiso de modificación (escritura) o cuando
no pertenece al usuario.
Ejemplo:
$rm -r /usr1/local
$rm -f /usr1/local/prg
$rm [A-Z]file*.cob
06. Comando ‘cd’
Propósito:
Cambiamos de un directorio de trabajo a otro.
Directorio de residencia:
Comando interno del shell.
Sintaxis:
cd {directorio}
Opciones:
Ninguna
Consideraciones:
 Si no se especifica ‘directorio’ se utiliza el directorio base como directorio de trabajo es decir, se
retorna al directorio base desde cualquier directorio donde se encuentre.
 Si se especifica ‘directorio’, éste se convierte en el nuevo directorio de trabajo.
Ejemplo:
JDCM UNIX SVR4 - NB 20
$ pwd
/usr/acct/user1
$ cd /usr/lib/ter2
$ pwd
/usr/lib/ter2
$ cd
$ pwd
/usr/acct/user1
Muestra directorio actual
Cambio a otro directorio de trabajo
Muestra nuevo directorio de trabajo
Cambia a directorio original
Confirma el cambio
07. Comando ‘cp’
Propósito:
Copiar archivos.
Sintaxis:
/usr/bin/cp [opciones] [full_pathname/ [full_pathname/
archivo_fuente] archivo_destino]
Opciones:
• i Pide confirmación antes de sobreescribir en un archivo_destino.
• r Si el archivo_fuente es un directorio, lo copia así como a sus archivos, incluyendo
subdirectorios.
Consideraciones:
 Las respuesta posibles son: Y para SI y cualquier otro caracter para NO.
 Si el “archivo_destino” existe, es reemplazado por el “archivo_fuente”.
 Dentro de un mismo directorio, “archivo_fuente” y “archivo_destino” deben tener nombre
distinto.
 Si el archivo_fuente es un directorio, el archivo_destino también debe serlo y deben encontrarse
en el mismo sistema de archivos.
 Si el archivo_destino es un archivo, su contenido se sobreescribe pero el modo, propietario, y
grupo asociados no cambian pero sí el tiempo de modificación y acceso.
Ejemplo:
$cp -r /usr1/file1 /usr2
$cp -i
cp: overwrite /usr2/file5?
/usr1/file1 /usr2/file5
$cp file1 file4
08. Comando ‘mv’
Propósito:
Mover o renombrar archivos.
Sintaxis:
/usr/bin/mv [-fi] { archivo_fuente } { archivo_destino }
Opciones:
• f Renombra el “archivo_fuente” sin importar sus permisos.
• i Pide confirmación antes de renombrar un archivo existente.
Consideraciones:
 Las respuesta posibles son: Y para SI y cualquier otro caracter para NO.
 Dentro de un mismo directorio no puede haber dos archivos con el mismo nombre.
 Si existen “archivo_destino” y “archivo_fuente”, éste último reemplaza al primero.
 Si se determina que los permisos del “archivo_destino” prohíben su modificación, el comando
muestra estos permisos requiriendo una respuesta (sí o no).
JDCM UNIX SVR4 - NB 21
Ejemplo:
$mv /usr1/file1 /usr2
$mv file3 /usr1/file9
$mv /usr1/file3 /usr2/file5
09. Comando ‘file’
Propósito:
Identificar el tipo de archivo.
Sintaxis:
/usr/bin/file [-c] { argumento }
[-f archivo]
Opciones:
• c Causa que el comando revise los “argumentos” buscando errores de formato.
• f Ocasiona que se tome “archivo” como aquel que contiene los nombres de los archivos a ser
examinados (argumentos).
Consideraciones:
 Normalmente no se emplea la opción ‘ -c ‘ por razones de eficiencia.
 El comando lee cada argumento y distingue los siguientes tipos de archivos:
archivos de clasificación
datos data
shell scripts command text
ejecutables executable
programas texto xxx text
10. Comando ‘cat’
Propósito:
Mostrar el contenido de un archivo.
Sintaxis:
/usr/bin/cat [-sve] { archivo }
Opciones:
• s Elimina mensaje de error cuando no se encuentra algún archivo.
• v Muestra los caracteres no visibles normalmente (excepto tabuladores, saltos de página,
nuevas líneas).
• e Ocasiona que al final de la línea y antes del caracter de nueva línea se imprima un caracter
“ $ “.
Consideraciones:
 El comando lee cada archivo en secuencia y lo escribe en la salida estandard.
 Los caracteres de control ASCII (octal 000 - 037) se imprimen como ‘ ^n ‘, donde n es el caracter
ASCII correspondiente en el rango octal 100 - 137 es decir: @, A, B, .... ,X, Y, Z, [, , ], ^, _ .
 Para mostrar más de 23 líneas utilizar ^s, ^q
Ejemplo:
$ cat Texto
Imprime el contenido de “Texto” en pantalla
JDCM UNIX SVR4 - NB 22
11. Comando ‘pg’
Propósito:
Otra forma de mostrar el contenido de un archivo, esta vez formateado.
Sintaxis:
/usr/bin/pg [-p string -c +línea +/patrón/] { archivo }
Opciones:
• p string Por cada pantalla imprime ‘string’ al término de ésta.
• c Mueve el cursor a la posición (0,0), borra la pantalla antes de continuar.
• +línea Desde qué línea empieza a mostrar el archivo
• +/patrón/ Busca un patrón específico y muestra el archivo a partir de la primera ocurrencia del
‘patrón’.
Consideraciones:
 Permite visualizar el contenido de un archivo una pantalla a la vez.
 Cada pantalla es seguida por un prompt ‘string’ o el valor por defecto (default) ‘ : ‘.
 Se pasa de una pantalla a la otra presionando CR.
 Se termina la visualización presionando la tecla ‘ q ‘.
 Permite retroceder en la visualización del texto.
 Entre las respuestas que pueden darse cuando el comando ‘pg’ espera por ellas se encuentran:
• $ Muestra la última pantalla del archivo (las últimas líneas del archivo que
pueden contenerse en una pantalla).
###/patrón/ Busca hacia adelante la ocurrencia de ‘patrón’.
• ?patrón? Busca hacia atrás la ocurrencia de ‘patrón’.
• h Muestra un resumen abreviado de los comandos internos posibles.
• q Finaliza el comando
Ejemplo:
$ pg -p “Su comando?: “
----------------------------------
----------------------------
--------------------------------
------
Su comando?: q
$
12. Comando ‘head’
Propósito:
Muestra determinado número de líneas a partir del inicio del archivo.
Sintaxis:
/usr/local/bin/head [opciones] archivo(s)
Opciones:
• x Proporciona las primeras ‘ x ‘ líneas de los archivos especificados.
Consideraciones:
 Por default imprime siempre las primeras diez líneas.
Ejemplo:
(El archivo ‘cat21’ contiene las siguientes
líneas)
Línea No.1
Línea No.2
Línea No.3
Línea No.4
Línea No.5
Línea No.6
Línea No.7
Línea No.8
JDCM UNIX SVR4 - NB 23
$ head -4 cat21
Línea No.1
Línea No.2
Línea No.3
Línea No.4
13. Comando ‘tail’
Propósito:
Muestra determinado número de líneas o caracteres a partir del final del archivo.
Sintaxis:
/usr/bin/tail [opciones] archivo(s)
Opciones:
• +/- número Muestra +número desde el inicio o -número desde el final del archivo.
• lbc Cuenta en líneas, bloques o caracteres.
Consideraciones:
 Por default cuenta en líneas.
 El comando “tail” copia el “archivo” indicado a la salida estándard, empezando en el lugar
designado.
 El comando “tail” sólo mostrará los últimos 4096 bytes de un “archivo” sin importar su número
de líneas.
 Puede ocurrir un comportamiento extraño con archivos conteniendo caracteres especiales o
multibyte.
 Por default imprime siempre las últimas diez líneas.
Ejemplo:
(El archivo ‘cat21’ contiene las siguientes líneas)
Línea No.1 $ tail -2 cat21
Línea No.2 Línea No.3
Línea No.3 Línea No.4
Línea No.4
14. Comando ‘diff’
Propósito:
Muestra las diferencias entre archivos.
Sintaxis:
/usr/bin/diff [opciones] archivo1 archivo2
Opciones:
• b Ignora los espacios y tabulaciones tras el dato.
• e Produce un script conteniendo comandos del editor ‘ ed ‘ para hacer que archivo1 sea
idéntico al archivo2.
Consideraciones:
 Nos informa qué líneas deben cambiarse entre dos archivos de modo que sean idénticos.
 La salida normal contiene líneas que semejan la siguiente forma:
• n1 a n3,n4
• n1,n2 d n3
• n1,n2 c n3,n4
3. Estas líneas son comandos del editor ‘ ed ‘ para convertir el “archivo1” en “archivo2”.
 Los números después de las letras pertenecen al “archivo2”.
 Lo que sigue a estas líneas son las líneas afectadas en el “archivo1” etiquetadas con el caracter
‘  ‘ y les siguen las afectadas en el “archivo2” etiquetadas con el caracter ‘  ‘.
JDCM UNIX SVR4 - NB 24
Ejemplo:
$ cat group1
users:NONE:100:dcr,banco
ofis:700:ofis,demo,boss
curso:1001:user01,user02,user03
$ cat group2
ofis:700:ofis,demo,boss
curso:1001:user01,user02,user03
$ diff group1 group2
1d0
 users:NONE:100:dcr,banco
$ diff -e group1 group2
1d
$ diff group2 group1
0a1
 users:NONE:100:dcr,banco
$ diff -e group2 group1
0a
users:NONE:100:dcr,banco
.
15. Comando ‘wc’
Propósito:
Contar el número de líneas, palabras y caracteres que posee un archivo.
Sintaxis:
/usr/bin/wc [opciones] [archivos]
Opciones:
• l Muestra sólo el número de líneas.
• w Muestra sólo el número de palabras.
• c Muestra sólo el número de caracteres.
Consideraciones:
Ejemplo:
$wc times
8 52 1325 times
16. Comando ‘grep’
Propósito:
Búsqueda de un texto en un archivo.
Sintaxis:
/usr/bin/grep [opciones] expresión [archivos]
Opciones:
• c Muestra el número de líneas que concuerda con “expresión” en lugar del patrón mismo.
• l Muestra el(los) nombre(s) del(de los) archivo(s) cuyo contenido concuerda con “expresión”
(una sola vez).
• n Muestra el número de linea en que apare-ce alguna concordancia.
• i Trata mayúsculas y minúsculas por igual.
• v Muestra las líneas que no concuerdan con “expresión”.
• s Suprime los mensajes de error.
Consideraciones:
Ejemplo:
$ grep [Ff]inanciero reporte
$ grep [4-9]. reporte
$ grep -lc l[0-3] *
$ grep ” estado financiero$” reporte
$ grep ”^Resultados del campeonato” reporte
$ grep ’.pic’ archivo
JDCM UNIX SVR4 - NB 25
17. Comando ‘sort’
Propósito:
Ordenamiento de líneas de texto xvii
Sintaxis:
/usr/bin/sort [opciones] [campo.caracter] [archivos]
Opciones:
• b Ignora blancos al inicio.
• f Trata mayúsculas y minúsculas por igual.
• n Sort numérico.
• r Orden descendente.
• o ‘file’ Graba los resultados en “file”.
• t ‘carac’ “carac” es un caracter utilizado como separador de campo en el archivo a sortearse.
Consideraciones:
 Primero, se sortean los espacios en blanco.
 Segundo, se sortean los números iniciádose con el primer dígito del número (de 0 a 9).
 Tercero, se sortean las letras mayúsculas.
 Cuarto, se sortean las letras minúsculas.
Ejemplo:
$cat archivo $sort archivo $sort -n archivo
4980 12 4
12 4 12
40 40 40
4 4980 636
636 636 4980
8010 8010 8010
$cat archi1
Pedro Martinto:Las Acacias 328:223160
Miguel Pereira:Zona4, Lima:440624
Sandra Villavicencio: Poma de Ayala 1324, Lince: 512345
Sandra Villavicencio: Poma de Ayala 1324, Lince: 512331
Miguel Pereira: Zona 3, Lima:440634
Angel Martinelli:Los Eucaliptos 340: 475866
$sort -t: -b +2 archivo
Pedro Martinto:Las Acacias 328:223160
Miguel Pereira:Zona4, Lima:440624
Miguel Pereira: Zona 3, Lima:440634
Angel Martinelli:Los Eucaliptos 340: 475866
Sandra Villavicencio: Poma de Ayala 1324, Lince: 512331
Sandra Villavicencio: Poma de Ayala 1324, Lince: 512345
$sort -t: -b +1 -2 +2n archivo
Pedro Martinto:Las Acacias 328:223160
Angel Martinelli:Los Eucaliptos 340: 475866
Sandra Villavicencio: Poma de Ayala 1324, Lince: 512331
Sandra Villavicencio: Poma de Ayala 1324, Lince: 512345
Miguel Pereira: Zona 3, Lima:440634
Miguel Pereira:Zona4, Lima:440624
$sort -t: -b +2.4 -2.6 archivo
Miguel Pereira:Zona4, Lima:440624
Sandra Villavicencio: Poma de Ayala 1324, Lince: 512331
Miguel Pereira: Zona 3, Lima:440634
Sandra Villavicencio: Poma de Ayala 1324, Lince: 512345
Pedro Martinto:Las Acacias 328:223160
Angel Martinelli:Los Eucaliptos 340: 475866
18. Comando ‘cut’
Propósito:
Seleccionar parte de un texto.
JDCM UNIX SVR4 - NB 26
Sintaxis:
/usr/bin/cut [opciones] [archivos]
Opciones:
• c ‘lista’ Designa una ‘lista’ con las posiciones de caracteres a cortar:
• c1-40 Corta los primeros 40 caract.
• c1-3,7 Corta los 3 primeros y el 7mo.
• c20- Corta desde el 20mo.
• f ‘lista’ Designa una ‘lista’ de campos a cortar:
• f1,4 Corta el 1er y 4to campos.
• d ‘carac’ ‘carac’ identifica el caracter actúa como separador de campo.
Consideraciones:
Ninguna
Ejemplo:
$ ls -l | cut -c1-8
$cat archi1
$ cut -d’:’ -f2 archi1
Las Acacias 328
Zona4, Lima
Poma de Ayala 1324, Lince
Poma de Ayala 1324, Lince
Zona 3, Lima
Los Eucaliptos 340
19. Comando ‘find’
Propósito:
Búsqueda de archivos dentro del Sistema UNIX.
Sintaxis:
/usr/bin/find [trayectoria] [criterio de búsqueda] [acción]
Opciones: xviii
• atime n Selecciona los archivos que han sido accesados hace ‘n’ dias.
• mtime n Selecciona los archivos que han sido modificados hace ‘n’ dias.
• name file Selecciona todas las ocurrencias de ‘file’.
• print Muestra los archivos encontrados.
• user ID Busca los archivos que pertenecen al usuario con identificación ID (número de
usuario). Se puede buscar por nombre directamente.
• exec cmd {} ; Ejecuta el comando ‘cmd’, y las llaves representan cada archivo a evaluarse.
• size n[c] Selecciona los archivos cuya longitud es de ‘n’ bloques. La ‘c’ corresponde a
caracteres.
Consideraciones:
 Desciende recursivamente por la jerarquía de directorios de cada trayectoria incluída en la lista de
trayectorias.
 No olvidarse de la opción ‘print’ de lo contrario, no se mostrará lo que se busca o no se realizarán
las órdenes dadas.
Ejemplo:
$ find /usr/acct -name “*.0456” -print
$ find / -user juan -print
$ find -atime +10 -name ‘*.c’ -print -exec rm {} ;
$ find ( -mtime 5 -o -name ‘*.c’ ) -print
$ find /usr/ng /usr/mp -size -10000c -print
B. OTROS COMANDOS
JDCM UNIX SVR4 - NB 27
01. Comando ‘date’
Propósito:
Mostrar y/o fijar la fecha y hora del sistema.
Sintaxis:
/usr/bin/date [+formato]
/usr/bin/date [mmddHHMMaa]
Opciones:
Formato (precedido por %):
• D Fecha como mm/dd/aa
• H Hora (00 - 23)
• M Minuto (00 - 59)
• S Segundo (00 - 59)
• T Tiempo como hh:mm:ss
• Y Año en formato de 4 dígitos
• d Día del mes (01 - 31)
• m Mes del año (01 - 12)
• y Año de la centuria (00 - 99)
• n Inserta un caracter de nueva línea
Para fijar Fecha y Hora:
• mm Número de mes
• dd Número de día
• HH Número de hora (formato de 24 horas)
• MM Número de minuto
• yy Número de año (últimos 2 dígitos y es opcional)
Consideraciones:
 Si no se da un argumento, se muestra la fecha y hora actuales
 Si el argumento empieza con el signo más ( + ), la salida del comando está bajo control del
usuario.
 Todas las salidas son de tamaño fijo.
 Cada descriptor de campo se precede con el signo porcentaje ( % ) y es reemplazado (el descriptor)
en la salida por su correspondiente valor.
Ejemplo:
$ date
Wed May 27 18:12:56 EDT 1989
$ date ‘+FECHA:%m/%d/%y%nHORA:%H:%M:%S’
FECHA:08/01/91
HORA:14:05:09
02. Comando ‘cal’
Propósito:
Calendario electrónico.
Sintaxis:
/usr/bin/cal [mes] { año }
Opciones:
• mes Dato numérico entre 1 (enero) y 12 (diciembre).
• año Dato numérico entre 1 y 9999.
Consideraciones:
 Los años no deben abreviarse.
JDCM UNIX SVR4 - NB 28
 Se imprime el calendario del mes y/o año especificado.
Ejemplo:
$ cal 1 1988
(Muestra el calendario del mes de enero del año 1,988)
03. Comando ‘calendar’
Propósito:
Recordatorio de eventos.
Sintaxis:
/usr/bin/calendar
Opciones:
Ninguna
Consideraciones:
 Crear un archivo llamado “calendar” (en su directorio de trabajo). Este comando consulta este
archivo en el directorio de trabajo e imprime todas las líneas que contienen las fechas de “hoy” y
“mañana”.
 Cada línea debe contener una fecha en el formato mes - día.
 Si ejecuta el programa un viernes, aparecen los eventos del viernes, sábado, domingo y lunes.
 Formatos de fechas: October 10, Oct 10, 10/10.
04. Comando ‘banner’
Propósito:
Genera posters.
Sintaxis:
/usr/bin/banner { argumentos }
Opciones:
Ninguna.
Consideraciones:
 Los argumentos deben tener un máximo de 10 caracteres. Se imprime con letras grandes en la
salida estándard (usando el caracter ‘ # ‘).
 Los caracteres en exceso se ignoran.
Ejemplo:
$ banner UNIX
# # # # ### # #
# # ## # # # #
# # # # # # # #
# # # # # # #
# # # # # # # #
# # # ## # # #
#### # # ### # #
05. Comando ‘split’
Propósito:
Separo archivos grandes en pequeños.
JDCM UNIX SVR4 - NB 29
Sintaxis:
/usr/bin/split [opciones] archivo_fuente nombre_destino
Opciones:
• n Cantidad de líneas por las que separa el archivo (lo normal es 1000 líneas).
Consideraciones:
 El “archivo_fuente” se separa en archivos pequeños cuyos nombres empiezan con
“nombre_destino”.
 A estos pequeños archivos se les adiciona al nombre ‘ aa ‘ y así sucesivamente (en forma
lexicográfica), hasta la ‘ zz ‘.
 Se puede tener un máximo de 676 archivos pequeños a partir de uno grande.
 El “nombre_destino” no debe sobrepasar los 12 caracteres.
 Si no se especifica el “nombre_destino”, se utiliza la letra ‘ x ‘.
Ejemplo:
$ split -10 status chunk
$ ls
chunkaa
chunkab
chunckac
C. IMPRESION DE ARCHIVOS - PARTE I
01. Comando ‘lp’
Propósito:
Envía un listado al spooler.
Sintaxis:
/usr/bin/lp [opciones]
Opciones:
• d ‘printer’ Identifica una impresora.
• n x Imprime ‘x’ copias del listado.
• s Suprime mensajes (fecha, banner, etc.).
• t ‘título’ Imprime ‘título’ como título del listado.
• w Envía un mensaje al usuario cuando ha terminado la impresión. Si el usuario no está
logeado, se envía un correo.
Consideraciones:
 Los archivos se imprimen en el orden en que aparecen en la línea de comando.
 El comando ‘lp’ asocia una única identificación con cada requerimiento y lo imprime en la salida
estándard.
Ejemplo:
$ lp -dserial1 /usr/acct/pruebas/file1
$ lp -dlaser3 -n3 /usr/file3
$ lp -s -w /work/acct/administ/master.c
02. Comando ‘lpstat’
Propósito:
Muestra el estado general del spooler.
JDCM UNIX SVR4 - NB 30
Sintaxis:
/usr/bin/lpstat [opciones]
Opciones:
• d Muestra el destino default del sistema.
• s Muestra un estado resumido del sistema spooler.
• t Muestra toda la información del estado de todas las impresoras y del sistema spooler.
Consideraciones:
 Las opciones pueden aparecer en cualquier orden.
 Si no se dan opciones, el comando ‘lpstat’ imprime el estado de todos los requerimientos hechos a
la impresora principal (default).
Ejemplo:
$ lpstat -t
scheduler is running
system default destination: printer
device for printer: /dev/tty106
printer accepting requests since Mon Feb 4 15:37:10 1991
printer printer is idle. enabled since Wed Apr 3 11:01:59 1991. available
03. Comando ‘cancel’
Propósito:
Cancela un trabajo de impresión.
Sintaxis:
/usr/bin/cancel [identificación de trabajo spool] impresora
Opciones:
Ninguna
Consideraciones:
 La identificación del listado así como el nombre de las impresoras se obtiene con el comando
“lpstat”.
 Al especificar una “identificación de trabajo spool”, se cancela el trabajo asociado aún cuando
esté en impresión.
 Al especificar una “impresora” se cancela el trabajo que se está imprimiendo en esa impre-sora.
 En cualquier caso, la cancelación de un trabajo en ejecución libera la impresora para imprimir el
siguiente trabajo (a menos que se haya especificado una impresora en cuyo caso, ningún otro
trabajo será impreso hasta que se habilite la misma).
Ejemplo:
$ lp nombres
request id is pr1-398
$ cancel pr1-398
request “pr1-398” cancelled
D. MANEJO DE ACCESOS
01. CONSIDERACIONES EN LOS PASSWORD
 Todos los login ID deben tener asignado un password en el archivo ‘/etc/passwd’.
 Posibles excepciones son login ID simples o de un solo propósito como “who”.
JDCM UNIX SVR4 - NB 31
 Si existe un login ID pero no se requiere activarlo, puede protegerse editando el campo de password
correspondiente y colocando cualquier texto en él incluyendo espacios en blanco y asteriscos.
 El password debe tener por lo menos 6 caracteres aunque sólo los ocho primeros son significativos.
 Debe consistir de por lo menos dos caracteres alfanuméricos y por lo menos uno numérico o caracter
especial (mayúsculas o minúsculas).
 Debe ser diferente del login ID incluyendo formas inversas o circulares.
 El nuevo password debe diferenciarse del nuevo en por lo menos tres caracteres.
02. FACTORES PARA VIGENCIA DEL PASSWORD
 Editar el campo de password en el archivo ‘/etc/passwd’.
 Adicionar los valores de vigencia en el formato “,xy” donde:
• x Número máximo de semanas antes de requerir un cambio.
• y Número mínimo de semanas antes de permitir un cambio.
Ejemplo:
juan:gZZ6x3kTw9p49,42:130:100:J.P.:/usr/acct/juan:/bin/sh
esto es, no podrá cambiar su password en por lo menos 2 semanas y debe cambiarlo luego de 4 semanas.
a) ARCHIVO ‘/etc/passwd’
(1) PROPOSITO
 Es el archivo de control maestro que determina el acceso al Sistema Operativo UNIX.
 Es muy importante para la seguridad del sistema que sólo el administrador del mismo sea
el que modifique este archivo.
(2) DESCRIPCION
 Existen siete campos (separados por “:”) que forman un registro por cada usuario
identificado en el sistema y son, en orden:
• login Nombre de login, un máximo de 8 caracteres y en minúsculas.
• password Un máximo de 18 caracteres de los cuales los 13 primeros se
utilizan para el password encriptado (creado por el comando
“passwd”), tres caracteres para el período de vigencia de este
password y dos caracteres reservados para las rutinas del sistema.
• UID Es el número de identificación del usuario, mediante el cual el
sistema determina la propiedad y permisos de acceso. Deben
empezar desde 100 (los primeros 99 están reservados para la
administración del sistema y logins especiales) y no ser mayores
de 65,535.
• GID Número de identificación del grupo, mediante el cual el sistema
determina los permisos de acceso para el grupo. Deben
corresponder a las entradas en el archivo “/etc/group”.
• comment Hasta un máximo de 30 caracteres, que tradicionalmente se usan
para identificar al usuario.
• home_dir El nombre completo o absoluto del directorio base del usuario.
Debe existir antes que el usuario pueda ingresar al sistema.
• shell Es el nombre completo del archivo ejecutable (típicamente un shell
interactivo) que se ejecuta al momento que el usuario ingrese al
sistema.
Ejemplo:
usr1:gZZ6x3kTw9p49:130:100:user 1 ID:/usr/usr1:/bin/sh
b) ARCHIVO ‘/etc/group’
(1) PROPOSITO
 Permite la adición de usuarios a un grupo específico.
JDCM UNIX SVR4 - NB 32
(2) CARACTERISTICAS
 El nombre de usuario debe existir en el archivo /etc/passwd.
 Las entradas en este archivo son de la forma:
users::100:suzie,aldo,tomás,user1
 Los cuatro campos que lo forman son:
 Nombre de grupo.
 El password del grupo, normalmente no se utiliza.
 GID, número que identifica el grupo.
 Lista de miembros del grupo (separados por comas).
c) ARCHIVO ‘/etc/profile’
(1) PROPOSITO
 Fija las variables ambientales de todo el sistema.
(2) CARACTERISTICAS
 Es leído por el shell Burne.
 Muestra el mensaje del día.
 Notifica al usuario si tiene correo.
 Permite fijar las características estándares del terminal.
 Fija el valor “umask”.
 Permite ver las variables ambientales mediante los comandos “set” y “env”.
 El comando interno “env” muestra las variables que se exportan hacia ó por el shell.
 El comando interno “set” muestra todas las variables del sistema.
03. Comando ‘passwd’
Propósito:
Cambiar la palabra clave del usuario (password).
Sintaxis:
/usr/bin/passwd [-sdf] { login_de_usuario }
Opciones:
• s Para mostrar los atributos de password para el login_de_usuario.
• d Borra el password del login_de_usuario.
• f Fuerza el cambio de password en el siguiente acceso al sistema.
Mensajes:
• Old password:
• New password:
• Re-type new password:
Consideraciones:
 Los password se almacenan en el archivo ‘/etc/shadow’.:
 Debe ser diferente del login en por lo menos 3 caracteres..
 Por razones de seguridad, el sistema UNIX no muestra este nombre en pantalla.
 Sólo los super-usuarios pueden cambiar cualquier password.
 Un super-usuario puede crear un password nulo con sólo presionar CR en respuesta al
requerimiento por nuevo password.
 El formato de salida es el siguiente:
login estado mm/dd/aa min max aviso
Donde:
• login Login del usuario.
JDCM UNIX SVR4 - NB 33
• estado PS: con password
LK: bloqueado
NP: sin password
• mm/dd/aa Fecha de último cambio.
• min Mínimo número de días entre cambios de password.
• max Máximo número de días en que el password es válido.
• aviso Días de aviso antes que el password expire.
Ejemplo:
$ passwd ernesto
old password:
new password:
re-type new password:
# passwd carlos
new password:
re-type new password:
JDCM UNIX SVR4 - NB 35
04. Comando ‘chown’
Propósito:
Modificar la propiedad de un archivo o directorio.
Sintaxis:
/usr/bin/chown [-R] { destino }
Opciones:
• R Desciende por la estructura del directorio y efectúa el cambio indicado en forma recursiva.
Consideraciones:
 El usuario debe tener acceso a su directorio base y puede mantener su propio ambiente de trabajo.
Ejemplo:
Cambiamos la propiedad:
# chown memo /usr/acct/memo
05. Comando ‘id’
Propósito:
Muestra los nombres e identificaciones de usuario y grupo.
Sintaxis:
/usr/bin/id [-a]
Opciones:
• a Reporta todos los grupos a los que pertenece el usuario.
Consideraciones:
 La información se toma del archivo ‘/etc/passwd’
Ejemplo:
$ id
uid = 101(user1) gid = 100(grp100)
$ id -a
uid = 101(user1) gid = 100(grp100) groups = 100(grp100). 300(grp300)
06. Comando ‘groups’
Propósito:
Muestra a qué grupos pertenecen los usuarios.
Sintaxis:
/usr/bin/groups
Opciones:
Ninguna
Consideraciones:
 La primera salida pertenece al grupo primario identificado en el archivo ‘/etc/passwd’.
 Las otras entradas muestran a qué otros grupos se pertenece, según el archivo ‘/etc/group’.
Ejemplo:
$ groups grp100 grp100
JDCM UNIX SVR4 - NB 36
$ groups user2
grp100 grp200
$ groups user2 user3
user2: grp100 grp200
user3: grp100 grp300
07. Comando ‘chgrp’
Propósito:
Modificar el grupo de trabajo.
Sintaxis:
/usr/bin/chgrp [-R] { destino }
Opciones:
• R Desciende por la estructura del directorio y efectúa el cambio indicado en forma recursiva.
Consideraciones:
 El directorio base debe estar asociado con el grupo del usuario.
 Un usuario puede pertenecer a varios grupos para lo cual debe estar listado como miembro en cada
grupo en el archivo ‘/etc/group’ sin embargo, la identificación de grupo asociado con los archivos
permanece como el grupo primario.
Ejemplo:
Verificamos la asociación del grupo:
# chgrp users /usr/acct/memo
08. Comando ‘newgrp’
Propósito:
Cambia la asociación de grupo a un usuario.
Sintaxis:
/usr/bin/newgrp [-] { grupos }
Opciones:
• - Se reinicia la secuencia de logeado permitiendo al usuario pertenecer al nuevo grupo.
Consideraciones:
 El usuario debe pertenecer al nuevo grupo. Los archivos y directorios creados luego que se
efectúan los cambios reflejan la nueva pertenencia.
 Sin argumentos, se regresa al grupo primario.
Ejemplo:
$ groups
other root bin sys adm mail tty lp daemon uucp
$ id
uid=0(root) gid=1(other)
$ pp
$ ls -l
-rw-r—r-- 1 root other 0 Dec 10 17:21 pp
$ newgrp bin
$ pp1
$ ls -l
-rw-r—r-- 1 root other 0 Dec 10 17:21 pp
-rw-r—r-- 1 root bin 0 Dec 10 17:21 pp1
09. MANEJO DE LOS PERMISOS DE ACCESO
 El Sistema Operativo UNIX controla el ingreso al sistema utilizando nombres de usuario (login) y
palabras clave (password) que guarda en archivos especiales.
JDCM UNIX SVR4 - NB 37
 Tales archivos, junto con los permisos para los directorios, son utilizados para controlar quién puede
utilizar un determinado archivo o directo-rio.
 Existen tres tipos de usuarios:
• propietario Aquel que creó el archivo o directorio.
• grupo El propietario pertenece a este grupo luego todo el grupo tiene acceso a este
archivo o directorio pero con restricciones (si las hubiera).
• otros Cualquier otro usuario.
 Existen tres tipos de acceso:
• lectura Controla quién puede mirar el contenido de un archivo.
• escritura Controla quién puede modificar el contenido de un archivo o directorio.
• ejecución Controla quién puede ejecutar un programa.
10. Comando ‘chmod’
Propósito:
Modificar los atributos de un archivo.
Sintaxis:
/usr/bin/chmod modo archivo(s)
Opciones:
• modo Representa un número octal que sirve para la modificación de los atributos del archivo.
Consideraciones:
 Se debe ser propietario del archivo o el administrador del sistema para ejecutar este comando.
 Notación: Octal
Permisos Usuario Grupo Otros
lectura 400 040 004
escritura 200 020 002
ejecución 100 010 001
2. Notación: Simbólica
Permisos Acción Tipo
u (usuario) + r
g (grupo) - w
o (otros) = x
a (todos)
Ejemplos:
$ chmod 755 archivo1 Brinda permiso de lectura, escritura y ejecución
para el propietario, permiso de lectura y ejecución
al grupo y otros.
$ chmod 700 archivo2 Brinda permiso de lectura, escritura y ejecución
para el propietario pero ningún permiso al grupo u
otros.
$ ls -ld budget
drwxr-xr-x 2 user1 grp100 512 Jun 4 15:04 budget
$ chmod go -x budget
$ ls -ld budget
drwxr—r-- 2 user1 grp100 512 Jun 4 15:04 budget
JDCM UNIX SVR4 - NB 38
COMUNICACIONES
A. COMUNICACIONES EN EL AMBIENTE UNIX
01. INTRODUCCION
 Las redes juegan un rol importante en la era informática actual. La necesidad de compartir información
y recursos hace de las redes una necesidad y puesto que el ambiente computacional está en constante
desarrollo, también ellas se desarrollan.
 Debido a su simplicidad y a su disponibilidad en la comunidad educativa e investigadora, el sistema
UNIX ha sido el favorito para el desarrollo de redes desde mediados de los ‘70.
 De aquí nace el UUCP.
 UUCP es un conjunto de programas que permiten transferencia de archivos, ejecución remota,
mantenimiento y administración en una red UNIX.
 UUCP ha sido siempre popular debido a que es de bajo costo.
 Es eficiente en términos de dispositivos periféricos, ciclos de procesamiento, experiencia administrativa.
 Es un sistema de redes genérico.
 La comunicación electrónica UNIX le permite:
 Enviar y recibir correo.
 Transmitir mensajes rápidos, y hasta mantener “conversaciones” entre dos usuarios.
 Mostrar el calendario de un año (o mes) específico.
 Mostrar un recordatorio diario.
02. ARCHIVOS PARA MENSAJES BASICOS
ARCHIVO /etc/issue
 Proporciona un mensaje de bienvenida.
 Es un mensaje que se muestra previo al login.
 Consta de cualquier texto que se requiera mostrar (incluyendo atributos de pantalla).
ARCHIVO /etc/motd
 Muestra un mensaje general a los usuarios.
 Se muestra cada vez que un usuario ingresa al sistema.
 Consta de cualquier textoque se desee mostrar (incluyendo atributos de pantalla).
03. Comando ‘tty’
Propósito:
Mostrar el nombre completo del terminal donde se ejecuta este comando.
Sintaxis:
/etc/tty [-l] [-s]
Opciones:
• l Imprime el número de la línea sincrónica a la cual está conectado el terminal (si se encuentra
en una línea sincrónica).
• s Inhibe la respuesta de este comando permitiendo chequear sólo el “código de salida”.
Consideraciones:
Los “códigos de salida” son:
• 0 Si la entrada estándard es un terminal.
• 1 Cualquier otra cosa.
JDCM UNIX SVR4 - NB 39
• 2 Si se especifican opciones inválidas.
 Originalmente su nombre era un acrónimo de “teletypewriter” (teleimpresora) pero ahora viene a
significar cualquier dispositivo terminal.
Ejemplo:
$ tty
/dev/tty100
04. Comando ‘stty’
Propósito:
Fija las opciones de entrada y/o salida del terminal.
Sintaxis:
/bin/stty [-a] opciones/argumentos
Opciones:
• a Muestra todas las opciones.
• parenb(-parenb)
Habilita (deshabilita) la generación y detección de paridad.
• cs8 Selecciona el tamaño del caracter.
• 1200 2400 4800 9600
Fija la velocidad en baudios del terminal al valor dado.
• caracteres_de_control valor
Fija el “caracter_de_control” al “valor”. Si “valor” está precedido por un ‘ ^ ‘ (previa
secuencia de ESCAPE), entonces su valor es el correspondiente caracter ‘CTRL’.
Consideraciones:
 Sin argumentos, reporta los valores de algunas opciones.
 Si un caracter está precedido por un ( ^ ), entonces el valor de esa opción es el caracter CTRL
correspondiente i.e.: ^h es CTRL h.
Ejemplo:
$ stty kill ^c
$ stty (APARECEN ALGUNOS VALORES DE ALGUNAS OPCIONES)
05. Comando ‘news’
Propósito:
Mostrar noticias del sistema.
Sintaxis:
/bin/news [-ans]
Opciones:
• a Muestra todas las noticias sin importar la actualidad de las mismas.
• n Muestra sólo los nombres de los archivos de noticias recientes.
• s Muestra el número actual de noticias.
Consideraciones:
 Las noticias se basan en la actualidad (fecha de modificación del archivo ‘.news_time’ en el
directorio base, y sólo se muestran los más recientes comparados con la fecha de este archivo).
 Sin argumentos se muestran las noticias contenidas en el directorio ‘/var/news’.
Ejemplo:
$ news -n *
item4 item3 item2 item1
$ news -s
JDCM UNIX SVR4 - NB 40
4 new items
$ news item3
---------------------- ------ ------ ----
----- ---- ------- -- --- ---- ------
-- -------- ---- ------- -------- ---- --.
06. Comando ‘mesg’
Propósito:
Permitir o negar el ingreso de mensajes.
Sintaxis:
/bin/mesg [-n] [-y]
Opciones:
• n Previene que los usuarios le envíen mensajes.
• y Permite que se le envíen mensajes.
Consideraciones:
 No bloquea los mensajes enviados por el super-usuario mediante el comando ‘wall’.
 Solamente bloquea los usuarios ordinarios (incluso utilizando ‘wall’).
 El comando sin opciones reporta el estado actual sin modificarlo.
Ejemplo:
$ mesg-n
07. Comando ‘who’
Propósito:
Determinar quién ha ingresado al sistema.
Sintaxis:
/usr/bin/who [-uqH]
/usr/bin/who am i
Opciones:
• u Información completa de usuarios activos en el sistema.
• q Número de usuarios activos (y sus nombres).
• H Precede la salida con una cabecera.
• s Muestra sólo el nombre, terminal/línea usado(a), tiempo. Es la salida por defecto.
Consideraciones:
 La información mostrada por este comando se obtiene del archivo ‘/etc/utmp’ en el momento de
accesar al sistema.
 Usualmente se obtiene la información requerida a partir del archivo ‘/etc/wtmp’ el cual contiene
una historia de todos los ingresos al sistema desde que este archivo fué creado.
 El formato general de salida es:
nombre línea tiempo libre PID coment
donde:
• nombre Es el nombre del login del usuario.
• línea Nombre de la línea conforme se encuentra en el directorio ‘/dev’.
• tiempo Hora en que el usuario ingresó al sistema.
• libre Horas y minutos desde la última actividad de esa línea en particular. Un punto ( . )
indica que ha habido actividad en el terminal en el último minuto. Una línea sin
actividad por más de 24 horas es marcada como ‘old’.
JDCM UNIX SVR4 - NB 41
• PID Identificación del proceso del shell del usuario.
• coment Comentario asociado con esta línea tal y como se encuentra en el archivo de
configuración ‘/etc/inittab’.
Ejemplo:
$ who -Hu
NAME LINE TIME IDLE PID COMMENT
user1 tty04 Jan 26 13:11 . 8875
usert8 tty101 Jan 26 10:48 . 123
08. Comando ‘finger’
Propósito:
Muestra información sobre usuarios logeados, remotos y locales.
Sintaxis:
/bin/finger [-fqlb]
Opciones:
• f Suprime la línea e cabecera.
• q Muestra sólo el nombre, terminal, y tiempo de ingreso al sistema.
• l Muestra la salida en forma detallada.
• b Suprime el directorio base y el shell de la presentación.
Consideraciones:
 Incluye información de usuario como el nombre de login, su descripción (tomada del archivo
‘/etc/passwd’), nombre de terminal, tiempo sin uso, hora en que ingresó al sistema, y ubicación (si
es conocida).
 Un ‘ * ‘ al inicio del nombre de terminal indica que no permite recibir mensajes.
Ejemplo:
$finger
Login Name TTY Idle When Where
wjnr Bill Radognmia *console 1.17 Thu 08:10
root 0000-Admin *term/15 1 Thu 08:11 italy
root 0000-Admin term/10 20 Fri 10:19
$ finger -f
wjnr Bill Radognmia *console 1.17 Thu 08:10
root 0000-Admin *term/15 1 Thu 08:11 italy
root 0000-Admin term/10 20 Fri 10:19
$ finger -q
Login TTY When
wjnr *console Thu 08:10
root *term/15 Thu 08:11
root term/10 Fri 10:19
$ finger -l
Login name: userb (messages off) In real life: bourne shell
Directory: /home/userb Shell: /sbin/sh
On since Oct 8 08:47:08 on term/18
09. Comando ‘write’
Propósito:
Escribir a otro usuario, enviar mensajes.
Sintaxis:
/bin/write usuario [línea]
JDCM UNIX SVR4 - NB 42
Opciones:
• usuario Usuario logeado en el sistema.
• línea Se utiliza para indicar a qué terminal se desea escribir (asumiendo que un usuario está
logeado más de una vez en el sistema i.e., está utilizando varios terminales).
Consideraciones:
 El comando ‘ write ‘ copia las líneas que digita en su terminal en el de otro usuario.
 Cuando se invoca por primera vez, envía el mensaje:
Message from usuario (tty?) [date] ..
a la persona con la que se desea comunicar.
 En este punto, se permite responder al que recibe el mensaje.
 La comunicación continúa hasta que se envíe una interrupción.
 Si se envía un mensaje a un usuario logeado más de una vez y sin la opción ‘ línea ‘, aparece el
siguiente mensaje:
User is logged on more than one place.
You are connected to “terminal”.
Other locations are:
terminal
 El primer “terminal” del mensaje anterior se refiere al terminal en que primero ingresó el usuario
con el que se desea contactar.
 Conversaciones bidireccionales: Se debe tener alguna forma de indicar al otro lado de la línea
cuándo es su turno de comunicarse y cuándo se acaba la conversación.
Ejemplo:
$ write leo
Oye Leopoldo, te invito una rubia.
CTRL d
$ write leo
Oye Leopoldo, ahora?.. o
Mensaje de `leo`
Acepto, pero la hora?... o
A las 3 pm, te parece? o
Bien, chau oo
EOF
CTRL d
Mensaje de `pedro`
Oye Leopoldo, ahora?.. o
$ write pedro
Acepto, pero la hora ?... o
A las 3 pm te parece? o
Bien, chau oo
CTRL d
$
10. Comando ‘wall’
Propósito:
Escribir a todos los usuarios a la vez.
Sintaxis:
/etc/wall
Opciones:
Ninguna
Consideraciones:
 Este comando lee la entrada estándard hasta que encuentre un fin de archivo y lo toma como el
mensaje a enviar.
 Envía este mensaje a todos los usuarios actualmente logeados y lo precede por:
Broadcast message from: ....
JDCM UNIX SVR4 - NB 43
Ejemplo:
$ wall
Atención.! Debido a fallas en la impresora principal, sírvanse enviar sus trabajos a la impresora secundaria.
CTRL d
11. Comando ‘mailx’
Propósito:
Herramienta interactiva para el envío o recepción de correo electrónico.
Sintaxis:
/usr/bin/mailx [-s cabecera] { usuarios } ENVIO
/usr/bin/mailx [-f archivo][-HN] RECEPCION
Opciones:
• s ‘cabecera’ Asigna una “cabecera” al correo.
• f ‘archivo’ Lee los mensajes desde un ‘archivo’ alterno.
• H Imprime sólo el resumen de cabecera.
• N No imprime la cabecera inicial.
Consideraciones:
 El correo que llega se almacena en un archivo estandard para cada usuario en el directorio
‘/var/mail’.
 Cada mensaje que se lee se marca y mueve a un archivo secundario denominado ‘mbox’ en el
directorio base.
 Al leerse el correo, “mailx” se encuentra en ‘modo comando’.
 La cabecera o asunto a tratar no debe sobrepasar los 1024 caracteres.
 A cada mensaje se le asigna un número secuencial, y siempre se sabe que existe un mensaje.
 Ingrese un mensaje y presione  CR  al término de cada línea.
 Envíe el mensaje presionando  CTRL-d  o  ~  al inicio de una línea y sólo esta secuencia o
caracter.
 Las letras ‘ N ‘ (nuevo) y ‘ U ‘ (no leído) designan el estado de cada mensaje, seguido de una
información descriptiva que muestra el nombre del que envía el mensaje así como la fecha y hora
en que se envió, su longitud en líneas y caracteres, y el asunto del mismo.
Comandos Internos:
• ? Muestra una lista de posibles comandos ‘ ~ ‘.
• ~!cmd Ejecuta el comando especificado por cmd.
• ~h Requiere: asunto, a, copias.
• ~q Termina salvando el mensaje en el archivo ‘dead.letter’ del directorio de trabajo. Es
una interrupción (exit).
• ~rfile Lee un archivo insertándolo en su mensaje.
• d Borra los mensajes del mailbox.
• ~x Sale del mailbox sin modificar el mismo i.e., el mensaje no se salva.
• ~. Salida estándar: envía el mensaje y termina el comando.
JDCM UNIX SVR4 - NB a
APENDICES
ACCESO A MS-DOS
a) Conjunto de Comandos ‘DOS’:
• doscat Muestra uno o más archivos en formato DOS.
• doscp Copia archivos entre un disco DOS y un filesystem UNIX/XENIX.
• dosdir Lista el contenido de un directorio DOS en ese formato.
• dosls Lista el contenido de un directorio DOS en formato UNIX/XENIX.
• dosrm Remueve archivos de un directorio o disco DOS.
b) Consideraciones:
 Los argumentos archivo o directorio en formato DOS tienen la forma:
dispositivo:nombre
donde:
• dispositivo Es el nombre completo del dispositivo que posee formato DOS y,
• nombre Es el nombre completo de un archivo o directorio en el dispositivo DOS.
 Se usan slashes ( / ) y no backslashes (  ) para la separación de archivos y directorios.
 Cuando se copia un archivo a DOS, se trunca el nombre del primero a la longitud estandard del
DOS: 8 caracteres. Las extensiones siguen el mismo patrón: más de tres, se truncan. Los caracteres
extraños también se remueven. No se pueden utilizar metacaracteres para referenciar directorios
DOS.
 Por conveniencia, existe un archivo que puede ser configurado por el usuario: /usr/default/msdos
en el cual se definen los nombres de dispositivos DOS asociados con los nombres de dispositivos:
A=/dev/fd0
C=/dev/hd0d
de esta manera, en lugar de especificar el nombre de dispositivo /dev/fd0, utilizamos
simplemente la letra “A”.
Ejemplo:
$ doscat /dev/fd0:/docs/memo.txt
$ doscat /tmp/f1 /tmp/f2 /dev/fd0:/src/file.asm
$ dosdir /dev/fd0:/src
$ doscp /tmp/myfile.txt /dev/fd0:/docs/memo.txt
$ dosls /dev/fd0:/src
$ dosrm /dev/fd0:/docs/memo.txt
$ dosdir A:/src A:/dev
$ dosrm a:/docs/memo1.txt
BIBLIOGRAFIA
UNIX Networking
Stephen Kochan  Patrick Wood
Hayden Books UNIX System
Library
UNIX System Administration
David Fiedler  Bruce Hunter
Hayden Books UNIX System
Library
UNIX Shell Programming
Stephen Kochan  Patrick Wood
Hayden Books UNIX System
Library
Tricks of the UNIX Masters
Russell Sage
The Waite Group SAMS
System V Operating System
User’s Guide, ATT
Curso: Unixware
Curso: Unixware
Curso: Unixware
Curso: Unixware
Curso: Unixware
Curso: Unixware
Curso: Unixware
Curso: Unixware
Curso: Unixware
Curso: Unixware
Curso: Unixware
Curso: Unixware
Curso: Unixware
Curso: Unixware
Curso: Unixware
Curso: Unixware
Curso: Unixware
Curso: Unixware
Curso: Unixware
Curso: Unixware
Curso: Unixware
Curso: Unixware
Curso: Unixware
Curso: Unixware
Curso: Unixware
Curso: Unixware
Curso: Unixware
Curso: Unixware
Curso: Unixware
Curso: Unixware
Curso: Unixware
Curso: Unixware
Curso: Unixware
Curso: Unixware
Curso: Unixware
Curso: Unixware
Curso: Unixware
Curso: Unixware
Curso: Unixware
Curso: Unixware
Curso: Unixware
Curso: Unixware
Curso: Unixware
Curso: Unixware
Curso: Unixware
Curso: Unixware
Curso: Unixware
Curso: Unixware
Curso: Unixware
Curso: Unixware
Curso: Unixware
Curso: Unixware
Curso: Unixware
Curso: Unixware
Curso: Unixware
Curso: Unixware
Curso: Unixware
Curso: Unixware
Curso: Unixware
Curso: Unixware
Curso: Unixware
Curso: Unixware
Curso: Unixware
Curso: Unixware
Curso: Unixware
Curso: Unixware
Curso: Unixware
Curso: Unixware
Curso: Unixware
Curso: Unixware
Curso: Unixware
Curso: Unixware
Curso: Unixware
Curso: Unixware

More Related Content

What's hot

Historia de los sistemas operativos
Historia de los sistemas operativosHistoria de los sistemas operativos
Historia de los sistemas operativosGerald Nuñez
 
Mejia david sistemas operativos
Mejia david sistemas operativosMejia david sistemas operativos
Mejia david sistemas operativosDavid Mejia
 
breve historia de los sistemas operativos
breve historia de los sistemas operativosbreve historia de los sistemas operativos
breve historia de los sistemas operativosmariesandi
 
Evolución y clasificación de los sistemas operativos
Evolución y clasificación de los sistemas operativosEvolución y clasificación de los sistemas operativos
Evolución y clasificación de los sistemas operativosHeder Ithamar Romero
 
Elmentos del Hardware y software
Elmentos del Hardware y softwareElmentos del Hardware y software
Elmentos del Hardware y softwaretoretto1990
 
Cronología de los sistemas operativos
Cronología de los sistemas operativosCronología de los sistemas operativos
Cronología de los sistemas operativosBrandonrx Diaz Elias
 
Historia de los Sistemas Operativos (Completa)
Historia de los Sistemas Operativos (Completa)Historia de los Sistemas Operativos (Completa)
Historia de los Sistemas Operativos (Completa)Diomelvi Mendoza
 
Línea del tiempo de sistemas operativos
Línea del tiempo de sistemas operativosLínea del tiempo de sistemas operativos
Línea del tiempo de sistemas operativosJose Luis Chacon
 
Sistemas operativos buena
Sistemas operativos  buenaSistemas operativos  buena
Sistemas operativos buenaDiego Quin
 
Sistemas operativos según el fabricante (microsoft,
Sistemas operativos según el fabricante (microsoft,Sistemas operativos según el fabricante (microsoft,
Sistemas operativos según el fabricante (microsoft,James Jim Root
 
Historia de los sistemas operativos
Historia de los sistemas operativosHistoria de los sistemas operativos
Historia de los sistemas operativosJhonatan López
 
TP 5 individual Bonatti
TP 5 individual BonattiTP 5 individual Bonatti
TP 5 individual BonattiTomasBonatti
 

What's hot (20)

Historia de los sistemas operativos
Historia de los sistemas operativosHistoria de los sistemas operativos
Historia de los sistemas operativos
 
Mejia david sistemas operativos
Mejia david sistemas operativosMejia david sistemas operativos
Mejia david sistemas operativos
 
breve historia de los sistemas operativos
breve historia de los sistemas operativosbreve historia de los sistemas operativos
breve historia de los sistemas operativos
 
Evolución y clasificación de los sistemas operativos
Evolución y clasificación de los sistemas operativosEvolución y clasificación de los sistemas operativos
Evolución y clasificación de los sistemas operativos
 
Elmentos del Hardware y software
Elmentos del Hardware y softwareElmentos del Hardware y software
Elmentos del Hardware y software
 
Cronología de los sistemas operativos
Cronología de los sistemas operativosCronología de los sistemas operativos
Cronología de los sistemas operativos
 
Historia (2)
Historia (2)Historia (2)
Historia (2)
 
Historia de los sistemas operativos
Historia de los sistemas operativosHistoria de los sistemas operativos
Historia de los sistemas operativos
 
S
SS
S
 
Historia de los Sistemas Operativos (Completa)
Historia de los Sistemas Operativos (Completa)Historia de los Sistemas Operativos (Completa)
Historia de los Sistemas Operativos (Completa)
 
Línea del tiempo de sistemas operativos
Línea del tiempo de sistemas operativosLínea del tiempo de sistemas operativos
Línea del tiempo de sistemas operativos
 
Sistemas operativos buena
Sistemas operativos  buenaSistemas operativos  buena
Sistemas operativos buena
 
Sistemas operativos según el fabricante (microsoft,
Sistemas operativos según el fabricante (microsoft,Sistemas operativos según el fabricante (microsoft,
Sistemas operativos según el fabricante (microsoft,
 
10. cuarta era
10. cuarta era10. cuarta era
10. cuarta era
 
Historia de los Sistemas Operativos
Historia de los Sistemas OperativosHistoria de los Sistemas Operativos
Historia de los Sistemas Operativos
 
Historia de los sistemas operativos
Historia de los sistemas operativosHistoria de los sistemas operativos
Historia de los sistemas operativos
 
Unix nueva diapositiva
Unix nueva diapositivaUnix nueva diapositiva
Unix nueva diapositiva
 
Sistema operativo
Sistema operativoSistema operativo
Sistema operativo
 
Presentación1
Presentación1Presentación1
Presentación1
 
TP 5 individual Bonatti
TP 5 individual BonattiTP 5 individual Bonatti
TP 5 individual Bonatti
 

Viewers also liked

Viewers also liked (14)

Reseña jaume-carbonell
Reseña jaume-carbonellReseña jaume-carbonell
Reseña jaume-carbonell
 
Ibm roadshows Sevilla 3 de marzo
Ibm roadshows Sevilla 3 de marzoIbm roadshows Sevilla 3 de marzo
Ibm roadshows Sevilla 3 de marzo
 
Hojadecálculo fv.
Hojadecálculo fv.Hojadecálculo fv.
Hojadecálculo fv.
 
Thesis
ThesisThesis
Thesis
 
Spilman Notch quin g-secretase prion
Spilman Notch quin g-secretase prionSpilman Notch quin g-secretase prion
Spilman Notch quin g-secretase prion
 
Realizacion de bloger
Realizacion de blogerRealizacion de bloger
Realizacion de bloger
 
Paula daDalton Resume 2016
Paula daDalton Resume 2016Paula daDalton Resume 2016
Paula daDalton Resume 2016
 
Ibm ibm exceptional digital experiences
Ibm ibm exceptional digital experiencesIbm ibm exceptional digital experiences
Ibm ibm exceptional digital experiences
 
First Aid Cert
First Aid CertFirst Aid Cert
First Aid Cert
 
Revista
RevistaRevista
Revista
 
Evolution and innovation
Evolution and innovation Evolution and innovation
Evolution and innovation
 
Itil® osa capability model
Itil® osa capability modelItil® osa capability model
Itil® osa capability model
 
Hereditary brown syndrome
Hereditary brown syndromeHereditary brown syndrome
Hereditary brown syndrome
 
Uspon osmanskog carstva
Uspon osmanskog carstvaUspon osmanskog carstva
Uspon osmanskog carstva
 

Similar to Curso: Unixware (20)

Ortiz
OrtizOrtiz
Ortiz
 
Unix
Unix Unix
Unix
 
SISTEMAS OPERATIVOS (UNIX & LINUX)
SISTEMAS OPERATIVOS (UNIX & LINUX)SISTEMAS OPERATIVOS (UNIX & LINUX)
SISTEMAS OPERATIVOS (UNIX & LINUX)
 
Trabajo os unix
Trabajo os unixTrabajo os unix
Trabajo os unix
 
Presentacion de SO UNIX
Presentacion de SO UNIXPresentacion de SO UNIX
Presentacion de SO UNIX
 
Software Generalidades y Sistemas Operativos(1).pdf
Software Generalidades y Sistemas Operativos(1).pdfSoftware Generalidades y Sistemas Operativos(1).pdf
Software Generalidades y Sistemas Operativos(1).pdf
 
Sistemas Operativos De Red
Sistemas Operativos De RedSistemas Operativos De Red
Sistemas Operativos De Red
 
Historia de linux
Historia de linuxHistoria de linux
Historia de linux
 
Unix
UnixUnix
Unix
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 
T3
T3T3
T3
 
115160020 cp101-6
115160020 cp101-6115160020 cp101-6
115160020 cp101-6
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 
Sistemas Operativos a lo largo de las décadas.
Sistemas Operativos a lo largo de las décadas.Sistemas Operativos a lo largo de las décadas.
Sistemas Operativos a lo largo de las décadas.
 
Unix
UnixUnix
Unix
 
Introduccionalossitemasoperativos
IntroduccionalossitemasoperativosIntroduccionalossitemasoperativos
Introduccionalossitemasoperativos
 
Laminas sistemas operativos2
Laminas sistemas operativos2Laminas sistemas operativos2
Laminas sistemas operativos2
 
Laminas sistemas operativos2
Laminas sistemas operativos2Laminas sistemas operativos2
Laminas sistemas operativos2
 
Historia y características de Unix y Linux
Historia y características de Unix y LinuxHistoria y características de Unix y Linux
Historia y características de Unix y Linux
 
Unix
UnixUnix
Unix
 

More from Jack Daniel Cáceres Meza

MINEDU: Resultados de encuestas: Análisis GAP en OFIN
MINEDU: Resultados de encuestas: Análisis GAP en OFINMINEDU: Resultados de encuestas: Análisis GAP en OFIN
MINEDU: Resultados de encuestas: Análisis GAP en OFINJack Daniel Cáceres Meza
 
Consultoría y servicios TIC -nueva línea de negocio para la RCP (Red Uno)
Consultoría y servicios TIC -nueva línea de negocio para la RCP (Red Uno)Consultoría y servicios TIC -nueva línea de negocio para la RCP (Red Uno)
Consultoría y servicios TIC -nueva línea de negocio para la RCP (Red Uno)Jack Daniel Cáceres Meza
 
UPC - Soporte: Norma Instalación y configuración de equipos
UPC - Soporte: Norma Instalación y configuración de equiposUPC - Soporte: Norma Instalación y configuración de equipos
UPC - Soporte: Norma Instalación y configuración de equiposJack Daniel Cáceres Meza
 
UPC-Soporte: Norma Administración de cuentas de usuarios
UPC-Soporte: Norma Administración de cuentas de usuariosUPC-Soporte: Norma Administración de cuentas de usuarios
UPC-Soporte: Norma Administración de cuentas de usuariosJack Daniel Cáceres Meza
 
UPC - Soporte: Proceso Seguridad de información
UPC - Soporte: Proceso Seguridad de informaciónUPC - Soporte: Proceso Seguridad de información
UPC - Soporte: Proceso Seguridad de informaciónJack Daniel Cáceres Meza
 
Esan Planeamiento estratégico AFP Horizonte -ppt
Esan Planeamiento estratégico AFP Horizonte  -pptEsan Planeamiento estratégico AFP Horizonte  -ppt
Esan Planeamiento estratégico AFP Horizonte -pptJack Daniel Cáceres Meza
 
Esan Planeamiento estratégico AFP Horizonte -informe
Esan Planeamiento estratégico AFP Horizonte  -informeEsan Planeamiento estratégico AFP Horizonte  -informe
Esan Planeamiento estratégico AFP Horizonte -informeJack Daniel Cáceres Meza
 
OFIN: Proyecto seguridad del producto software
OFIN: Proyecto seguridad del producto softwareOFIN: Proyecto seguridad del producto software
OFIN: Proyecto seguridad del producto softwareJack Daniel Cáceres Meza
 
OFIN: Prroceso verificación de la calidad y seguridad del producto software
OFIN: Prroceso verificación de la calidad y seguridad del producto softwareOFIN: Prroceso verificación de la calidad y seguridad del producto software
OFIN: Prroceso verificación de la calidad y seguridad del producto softwareJack Daniel Cáceres Meza
 
MINEDU: PIP solución integral componente 01 servidores
MINEDU: PIP solución integral  componente 01 servidoresMINEDU: PIP solución integral  componente 01 servidores
MINEDU: PIP solución integral componente 01 servidoresJack Daniel Cáceres Meza
 

More from Jack Daniel Cáceres Meza (20)

Itil® osa capability model
Itil® osa capability modelItil® osa capability model
Itil® osa capability model
 
Cobit(R) 5 Fundamentos
Cobit(R) 5 FundamentosCobit(R) 5 Fundamentos
Cobit(R) 5 Fundamentos
 
ITIL® SLC Fundamentos
ITIL® SLC FundamentosITIL® SLC Fundamentos
ITIL® SLC Fundamentos
 
Ciclo de vida de un servicio de TI
Ciclo de vida de un servicio de TICiclo de vida de un servicio de TI
Ciclo de vida de un servicio de TI
 
MINEDU: Resultados de encuestas: Análisis GAP en OFIN
MINEDU: Resultados de encuestas: Análisis GAP en OFINMINEDU: Resultados de encuestas: Análisis GAP en OFIN
MINEDU: Resultados de encuestas: Análisis GAP en OFIN
 
Producto alcance política-v2
Producto alcance política-v2Producto alcance política-v2
Producto alcance política-v2
 
Consultoría y servicios TIC -nueva línea de negocio para la RCP (Red Uno)
Consultoría y servicios TIC -nueva línea de negocio para la RCP (Red Uno)Consultoría y servicios TIC -nueva línea de negocio para la RCP (Red Uno)
Consultoría y servicios TIC -nueva línea de negocio para la RCP (Red Uno)
 
UPC - Soporte: Caracterización de soporte
UPC - Soporte: Caracterización de soporteUPC - Soporte: Caracterización de soporte
UPC - Soporte: Caracterización de soporte
 
UPC - Soporte Norma Pases a producción
UPC - Soporte Norma Pases a producciónUPC - Soporte Norma Pases a producción
UPC - Soporte Norma Pases a producción
 
UPC - Soporte Norma Control y monitoreo
UPC - Soporte Norma Control y monitoreoUPC - Soporte Norma Control y monitoreo
UPC - Soporte Norma Control y monitoreo
 
UPC - Soporte: Norma Instalación y configuración de equipos
UPC - Soporte: Norma Instalación y configuración de equiposUPC - Soporte: Norma Instalación y configuración de equipos
UPC - Soporte: Norma Instalación y configuración de equipos
 
UPC-Soporte: Norma Administración de cuentas de usuarios
UPC-Soporte: Norma Administración de cuentas de usuariosUPC-Soporte: Norma Administración de cuentas de usuarios
UPC-Soporte: Norma Administración de cuentas de usuarios
 
UPC-Soporte: Norma Mantenimiento de equipos
UPC-Soporte: Norma Mantenimiento de equiposUPC-Soporte: Norma Mantenimiento de equipos
UPC-Soporte: Norma Mantenimiento de equipos
 
UPC - Soporte: Proceso Seguridad de información
UPC - Soporte: Proceso Seguridad de informaciónUPC - Soporte: Proceso Seguridad de información
UPC - Soporte: Proceso Seguridad de información
 
Esan Planeamiento estratégico AFP Horizonte -ppt
Esan Planeamiento estratégico AFP Horizonte  -pptEsan Planeamiento estratégico AFP Horizonte  -ppt
Esan Planeamiento estratégico AFP Horizonte -ppt
 
Esan Planeamiento estratégico AFP Horizonte -informe
Esan Planeamiento estratégico AFP Horizonte  -informeEsan Planeamiento estratégico AFP Horizonte  -informe
Esan Planeamiento estratégico AFP Horizonte -informe
 
OFIN-AIT: Norma Colaboradores
OFIN-AIT: Norma ColaboradoresOFIN-AIT: Norma Colaboradores
OFIN-AIT: Norma Colaboradores
 
OFIN: Proyecto seguridad del producto software
OFIN: Proyecto seguridad del producto softwareOFIN: Proyecto seguridad del producto software
OFIN: Proyecto seguridad del producto software
 
OFIN: Prroceso verificación de la calidad y seguridad del producto software
OFIN: Prroceso verificación de la calidad y seguridad del producto softwareOFIN: Prroceso verificación de la calidad y seguridad del producto software
OFIN: Prroceso verificación de la calidad y seguridad del producto software
 
MINEDU: PIP solución integral componente 01 servidores
MINEDU: PIP solución integral  componente 01 servidoresMINEDU: PIP solución integral  componente 01 servidores
MINEDU: PIP solución integral componente 01 servidores
 

Recently uploaded

investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIhmpuellon
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosJhonJairoRodriguezCe
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxFederico Castellari
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativanicho110
 

Recently uploaded (10)

investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 

Curso: Unixware

  • 1. UNIXWARE Autor: Ing. Jack Daniel Cáceres Meza May - 1,915 Agradecemos de antemano cualquier sugerencia que nos hagan llegar Cualquier sugerencia sobre el material aquí expuesto, sírvase hacerla directamente a: Ing. Jack Daniel Cáceres Meza al siguiente teléfono: 5114-475866 ó por escrito a la siguiente dirección: Av. Paseo de La República 3937, Dpto. 102, Surquillo Lima - Perú
  • 2. UNIXWARE BÁSICO JDCM UNIX SVR4 - NB i TABLA DE CONTENIDO ILUSTRACIONES: Pág Figura No. 1: Integración del Sistema Operativo UNIX __________________________________ 1 Figura No. 2: Resumen Arquitectónico del Sistema Operativo UNIX _______________________ 5 Figura No. 3: Jerarquía del Sistema Operativo UNIX____________________________________ 8 Figura No. 4: Funcionamiento del shell _____________________________________________ 11 PARTES CONSTITUTIVAS: Pág BASES DEL SISTEMA OPERATIVO UNIX ______________________________________________ 1 COMANDOS BASICOS ______________________________________________________________ 17 COMUNICACIONES ________________________________________________________________ 38 APENDICES ________________________________________________________________________ a CONTENIDO: Pág TABLA DE CONTENIDO..................................................................................................................i Comandos de Referencia en Línea iii BASES DEL SISTEMA OPERATIVO UNIX ______________________________________________ 1 A. ESTRUCTURA DEL SISTEMA UNIX.........................................................................................1 01. DEFINICION DEL SISTEMA UNIX 1 02. CARACTERISTICAS UNIX 1 03. UN POCO DE HISTORIA SOBRE EL SISTEMA UNIX 1 04. COMPOSICION DEL SISTEMA OPERATIVO UNIX 5 05. CAPAS QUE LO CONFORMAN 5 06. CLASIFICACION DE ARCHIVOS 6 07. CONVENCIONES PARA NOMBRAR ARCHIVOS 6 08. CARACTERES DE REDIRECCIONAMIENTO 7 09. METACARACTERES 7 10. INTERPRETACION DE LOS METACARACTERES 7 11. SU LUGAR EN EL SISTEMA DE ARCHIVOS 7 12. NAVEGANDO POR LA ESTRUCTURA DE ARCHIVOS 7 13. DESCRIPCION DE DIRECTORIOS IMPORTANTES 8 B. ACCESO AL SISTEMA UNIX .....................................................................................................9 01. QUE ES NECESARIO? 9 02. CONVENCIONES GENERALES 9 C. LINEAS DE COMANDO............................................................................................................10 01. INTRODUCCION 10 02. SINTAXIS O COMO EJECUTARLOS 10 03. COMO EJECUTA EL SISTEMA UNIX UN COMANDO 11 D. EDITORES DE TEXTOS............................................................................................................11 01. INTRODUCCION 11 02. COMO TRABAJAN 11 03. EDITOR ‘ed’ 12 04. EDITOR ‘vi’ - PARTE I 13 COMANDOS BASICOS ______________________________________________________________ 17 A. MANEJO DE DIRECTORIOS Y ARCHIVOS............................................................................17 01. Comando ‘pwd’ 17
  • 3. JDCM UNIX SVR4 - NB ii 02. Comando ‘ls’ 17 03. Comando ‘mkdir’ 18 04. Comando ‘rmdir’ 18 05. Comando ‘rm’ 19 06. Comando ‘cd’ 19 07. Comando ‘cp’ 20 08. Comando ‘mv’ 20 09. Comando ‘file’ 21 10. Comando ‘cat’ 21 11. Comando ‘pg’ 22 12. Comando ‘head’ 22 13. Comando ‘tail’ 23 14. Comando ‘diff’ 23 15. Comando ‘wc’ 24 16. Comando ‘grep’ 24 17. Comando ‘sort’ 25 18. Comando ‘cut’ 25 19. Comando ‘find’ 26 B. OTROS COMANDOS.................................................................................................................26 01. Comando ‘date’ 27 02. Comando ‘cal’ 27 03. Comando ‘calendar’ 28 04. Comando ‘banner’ 28 05. Comando ‘split’ 28 C. IMPRESION DE ARCHIVOS - PARTE I....................................................................................29 01. Comando ‘lp’ 29 02. Comando ‘lpstat’ 29 03. Comando ‘cancel’ 30 D. MANEJO DE ACCESOS ............................................................................................................30 01. CONSIDERACIONES EN LOS PASSWORD 30 02. FACTORES PARA VIGENCIA DEL PASSWORD 31 03. Comando ‘passwd’ 32 04. Comando ‘chown’ 35 05. Comando ‘id’ 35 06. Comando ‘groups’ 35 07. Comando ‘chgrp’ 36 08. Comando ‘newgrp’ 36 09. MANEJO DE LOS PERMISOS DE ACCESO 36 10. Comando ‘chmod’ 37 COMUNICACIONES ________________________________________________________________ 38 A. COMUNICACIONES EN EL AMBIENTE UNIX ......................................................................38 01. INTRODUCCION 38 02. ARCHIVOS PARA MENSAJES BASICOS 38 03. Comando ‘tty’ 38 04. Comando ‘stty’ 39 05. Comando ‘news’ 39 06. Comando ‘mesg’ 40 07. Comando ‘who’ 40 08. Comando ‘finger’ 41 09. Comando ‘write’ 41 10. Comando ‘wall’ 42 11. Comando ‘mailx’ 43 APENDICES ________________________________________________________________________ a ACCESO A MS-DOS.........................................................................................................................a BIBLIOGRAFIA a Notas b
  • 4. JDCM UNIX SVR4 - NB iii Comandos de Referencia en Línea  Los siguientes comandos UNIX le brindan acceso en línea a la información del manual de referencia: • MAN Accesa a las entradas del manual de referencia en el sistema. • MANDEX Accesa a un sistema indexado manejado por menú con el fin de buscar los manuales en línea seleccionados para un determinado asunto o comando.  Utilícelos siempre!
  • 5.
  • 6. JDCM UNIX SVR4 - NB 1 BASES DEL SISTEMA OPERATIVO UNIX A. ESTRUCTURA DEL SISTEMA UNIX 01. DEFINICION DEL SISTEMA UNIX a) DEFINIMOS UNIX COMO  Un sistema operativo o conjunto especial de programas (software) que controla el funcionamiento del computador.  Una colección de programas aplicativos denominados a menudo “herramientas” o “utilitarios”. b) QUE ES UN SISTEMA OPERATIVO?  Un conjunto de programas que controla y organiza las actividades de un computador.  Actúa como nexo entre el computador y sus usuarios, terminales, impresoras y dispositivos para almacenamiento de información como discos y unidades de cinta.  Distribuye los recursos del computador al:  Controlar la memoria del mismo,  Controlar y organizar las tareas a realizarse,  Mantener eficientemente el uso de la memoria y dispositivos periféricos. 02. CARACTERISTICAS UNIX  Provee un medio computacional simple, eficiente, flexible.  Ofrece las siguientes ventajas:  Ser un sistema de propósito general para realizar una gran variedad de trabajos o aplicaciones.  UNIX es un ambiente interactivo que permite comunicarse directamente con el computador y recibir respuestas inmediatas a sus requerimientos y mensajes.  Es un ambiente multi-usuario que le permite compartir los recursos del computador con otros usuarios sin sacrificar su productividad.  Es un ambiente multi-tarea que le permite a cualquier usuario el ejecutar más de un programa simultáneamente.  Es portable ya que existe en muchos tipos de computadores y es debido a que está escrito de modo que no se centra en un hardware específico.  Posee herramientas poderosas para desarrollo.  El UNIX SVR4 unifica las versiones importantes de UNIX (BSD, SunOS, XENIX, AT&T) en un producto robusto que sigue los estándares de la industria. XENIX UNIX SVR4 SunOS 4.3BSD UNIX SVR3 Figura No. 2: Integración del Sistema Operativo UNIX 03. UN POCO DE HISTORIA SOBRE EL SISTEMA UNIX
  • 7. JDCM UNIX SVR4 - NB 2 En 1965, los Bell Telephone Laboratories participaron en un proyecto junto con la General Electric Company y el Projecto MAC del MIT (Massachusetts Institute of Technology) para desarrollar un nuevo sistema operativo denominado MULTICS (Multiplexed Information and Computing System). Las metas del sistema MULTICS eran las de proveer acceso simultáneo al computador por parte de una gran comunidad de usuarios, amplio poder de cómputo y almacenamiento de información, y permitir a los usuarios el compartir fácilmente su información, si así lo deseaban. Aunque hacia 1969 estaba corriendo una versión primitiva del sistema MULTICS en un computador General Electric 645, no brindaba el servicio general de computación que se suponía ni tampoco estaba claro para cuándo se lograrían sus metas por lo tanto, la Bell Laboratories suspendió su participación en el proyecto. Sin embargo, puesto que otros sistemas operativos de esos dias eran orientados al proceso batch, Ken Thompson, Dennis Ritchie y otros, miembros del Computing Science Research Center de los Bell Laboratories y participantes en el desarrollo de MULTICS, permanecieron leales a él y decidieron escribir su propio sistema operativo basado en sus mejores características, a la vez que incorporaban algunos conceptos propios. Este sistema operativo fue escrito en lenguaje ensamblador en 1969 y fue llamado UNIX en 1970, habiendo cambiado su nombre del original UNICS (Uniplexed Information and Computing System), dado por Kernighan. Para probar este nuevo sistema operativo se escogió el computador PDP-7 de Digital Equipment Corporation en 1971 (realmente, se encontraba sin uso), y aunque de alguna manera primitivo según los estándares actuales, el PDP-7 UNIX brindó a Thompson y Ritchie un ambiente para programación más amigable que sus alternativas. En este ambiente, los dos continuaron implementando ideas para el Sistema UNIX. Cimentaron las bases para un interpretador de comandos al que denominaron “shell”i. Este shell actúa como intermediario entre el usuario y el computador al traspasar al sistema los comandos ingresados por el usuario y al disponer la ejecución de los mismos. El trabajo con el sistema operativo continuó y durante ese tiempo, el Sistema UNIX fuere-escrito en un lenguaje de alto nivel denominado “B” por su creador Thompson, el cual era interpretativo. En 1971, Ritchie refinó “B” y agregó características de programación estructurada renombrándolo “C”, a la par que ya se podía generar código máquina, declaración de tipos de datos, y definición de estructuras de datos. Pero como un sistema operativo escrito en lenguaje ensamblador es dependiente de la máquina para la cual se escribió, no puede transferirse de una máquina a otra. Hoy sólo unas cuantas rutinas del núcleo del sistema operativo están escritas en lenguaje ensamblador. Puesto que el Sistema UNIX fué re- escrito en el nuevo lenguaje “C” en 1973, tiene la habilidad adicional de ser transportable entre diferentes computadores. Este fué el primer intento de codificar un sistema operativo entero en un lenguaje de alto nivel, y la portabilidad que se consiguió está ampliamente considerada como una de las razones principales de la popularidad que el Sistema Operativo UNIX goza hoy. Durante este período se introdujeron los “pipes” (enlaces, tubos o cauces). Al enlazar la salida (resultado) de un comando con la entrada (órdenes) de otro comando, se pueden encadenar comandos que evitan la creación de excesivos archivos temporales. Por esos años también se iniciaron las herramientas para proceso de textos lo que condujo a que el primer cliente real del sistema UNIX fuera la Oficina de Abogados de Patentes de los Laboratorios Bell. Las mejoras a la estructura del sistema de archivos básico condujeron a la creación de la estructura jerárquica o de árbol, existente hoy. La descripción absoluta del nombre de un archivo en esta jerarquía permite al usuario moverse a través de todos los directorios y redes de archivos en el sistema. Se asignaron nombres a dispositivos tales como terminales, discos, o cintas y a través de estos nombres, el Sistema Operativo UNIX puede comunicarse con cada dispositivo. Dado que el Sistema UNIX tuvo sus raíces en el centro de desarrollo de los laboratorios Bell y en las salas de cómputo de las universidades -ya que éstas escucharon acerca de las actividades en los Laboratorios Bell y empezaron a indagar por el Sistema Operativo UNIX, a través de los años se han desarrollado muchas versiones del sistema UNIX las cuales incorporaron las mejoras y modificaciones creadas por estos esfuerzos de desarrollo. Esto dió lugar a que a finales de los ‘70ii una generación completa de profesionales en informática aprendiera su profesión con el sistema UNIX y que apareciera toda una ola de innovaciones entre las que destaca la ampliamente utilizada versión de la Universidad de California en Berkeley iii -la cual estuvo involucrada en el Sistema UNIX desde 1974 gracias a Thompson. Esta versión es tan importante que la Defense’s Advanced Research Projects Agency (DARPA) de Estados Unidos decidió basar su entorno de computación universal en el Sistema UNIX y lo encargó a Berkeley. El sistema UNIX pasó por varias revisiones internas antes que estuvieran disponibles fuera de los Laboratorios Bell unas pocas copias de la Versión 4 y a fines de 1973 la Versión 5, ésta última por una mínima regalía, pero sin ofrecer soporte para él. En 1976 la Versión 6 fué la primera versión ampliamente difundida y en 1978, el Grupo de Investigaciones de los Laboratorios Bell liberó la Versión 7 para la PDP- 11, seguida por la 32V para sistemas VAX de DEC la cual adiciona paginación de memoria, produciendo el 3BSD (Release 3 de la BSD). Posteriormente, los Laboratorios Bell ATT han desarrollado la Edición Octava y Edición Novena, como investigación interna. Desarrollos posteriores incluyen la Edición Sexta en 1975 y la Edición Séptima en 1977 iv . Las versiones comerciales del Sistema UNIX empezaron en 1977 con el “Programmer’s Workbench System” (PWB/UNIX), que se derivó de la Versión 6. En 1980 Microsoft introdujo el Sistema XENIX v , una variante del Sistema UNIX Séptima Edición y algunos utilitarios del 4.1BSD, que fue diseñado para ejecutarse en microcomputadoras. El System III apareció en 1981 y combinaba características del PWB/UNIX y de la Versión 7.
  • 8. JDCM UNIX SVR4 - NB 3 Sin embargo, algunas restricciones gubernamentales previnieron comercializar esta versión fuera de Bell por el Decreto de Concesión de 1956 del Departamento de Justicia, que impedía que el sistema contuviera tecnología del momento. Una vez que estas restricciones fueron removidas, debido al desmembramiento judicial de las Bell Operating Companies, se anunció el UNIX System V en 1983 vi . Esta versión ofrecía un paquete sofisticado para comunicaciones entre procesos el cual incluía semáforos, mensajes y memoria compartida, así como algunas características tomadas de la versión del sistema de Berkeley de ese entonces como por ejemplo, el editor ‘vi’, el ‘C-shell’, el manejador de base de datos relacional INGRES, control de tareas, redes -las cuales, en 1984 vii , con el 4.2BSD permitieron un amplio acceso a los protocolos Ethernet y TCP/IP los cuales fueron adoptados por muchos vendedores, así como otras nuevas facilidades-. Debido a la portabilidad de los Sistemas UNIX, durante los siguientes dos años se captó rápidamente el interés comercial y compañías como Rand Corp., Yourdon Inc., y Onyx Systems adquirieron las primeras licencias de uso comercial. Luego aparecieron el UNIX System V Release 2 en 1984 -que introdujo protección de archivos durante cortes de potencia, bloqueo de archivos y registros para uso exclusivo por un programa, control de trabajos, entre otras cosas- y el UNIX System V Release 3 en 1987, conocidos como SVR2 y SVR3 respectivamente. Esta última ha incorporado la facilidad de comunicaciones STREAMS y la TLI (Transport Layer Interface) las cuales permiten el soporte de servicios para red en forma independiente del medio y del protocolo, y el FACE (Framed Access Command Environment), que proporciona una interfaz de usuario orientada a menú. Esta sofisticación técnica en aumento, junto con una campaña de mercadeo por parte de ATT, puso al System V en una posición de liderazgo en el mercado mundial, mientras que las versiones BSD resultaban dominantes en las comunidades universitarias y técnicas. En Enero de 1985 ATT liberó la SVID (System V Interface Definition) el cual es un documento legal y protegido para sistemas abiertos no propietarios, la que codificaba muchas de las interfaces del System V Release 2. Fué influenciado por el ‘/usr/group’ Standard viii de 1984, adoptando facilidades como bloqueo de archivos. Al igual que el ‘/usr/group Standard’, la intención del SVID es la de promover la portabilidad de aplicaciones y es de la misma manera, independientes del hardware. Se evitó la información específica de la implementación en lo posible y se utilizaron nombres simbólicos para valores numéricos. El primer volumen del SVID define el sistema base y las extensiones del kernel mientras que el segundo define utilitarios básicos y avanzados, soporte al desarrollo de software, administración del sistema y extensiones para la interface de terminales. Un tercer volumen dado a conocer en 1987 incluye una adición al sistema base que actualiza los dos primeros volúmenes, así como material acerca de nuevas facilidades en el System V Release 3. Este volumen incluye los últimos desarrollos técnicos específicos al System V, como la facilidad de comunicaciones STREAMS y redes. Un nuevo capítulo, titulado SVID89 incluye características del también nuevo System V Release 4, el cual soporta muchas interfaces y comandos adoptados de sistemas BSD y XENIX, interfaces para ventanas, mayor soporte para la administración del sistema, internacionalización y tiempo real, además de incluir el soporte a la X/OPEN Portability Guide Version 3 ix , ANSI-C y POSIX.1 x . A pesar de estos estándares, el mover aplicaciones de una arquitectura de procesadores a otra o aún, entre un equipo de un vendedor y otro utilizando la misma arquitectura resulta costoso y lento. Aquí empezó un esfuerzo para unificar las muchas variantes de UNIX. A principios de 1987, ATT anunció un acuerdo con Microsoft para unir su XENIX en el System V. En octubre del mismo año, ATT y SUN Microsystems anunciaron una alianza en la cual SUN trabajaría con ATT para unir su sistema operativo SunOS -basado en el 4.2BSD- con el SVR4, junto con XENIX. Esto hubiera conducido a un único estándar -unificado- de UNIX si los temores de la competencia no hubieran intervenido. La decisión de ATT de adoptar el microprocesador SPARC como la arquitectura para afinar el sistema UNIX asustó a los competidores de SUN en el mercado de las estaciones de trabajo, que temieron que el rendimiento de UNIX estuviera comprometido en sus propias arquitecturas. Es así que Hewlett Packard, DEC e IBM formaron la OSF xi (Open Software Foundation) en mayo de 1988 para desarrollar su propia implementación de UNIX. En respuesta, los vendedores de hardware y software leales al SVR4 formaron UNIX INTERNATIONAl (UI) xii . El 15 de mayo de 1990, la OSF liberó oficialmente un nuevo estándar para la computación distribuída, el DCE (Distributed Computing Environment). UNIX International ha definido un producto más competitivo que el DCE utilizando la arquitectura ODC (Open Distributed Computing) de UNIX Software Laboratories como el núcleo de su arquitectura la cual denomina ATLAS, y está presente desde el 16 de Setiembre de 1991. a) LA NECESIDAD DEL MERCADO DE UN ESTANDAR A medida que el Sistema Operativo UNIX ha incrementado su sofisticación, también lo han hecho las necesidades de sus usuarios. Los tipos de hardware y diferentes sistemas continúan en aumento. las velocidades y capacidades han aumentado dramáticamente, el sistema corre en hardware que va de micros a minis, multiprocesadores, mainframes y supercomputadores.
  • 9. JDCM UNIX SVR4 - NB 4 Los usuarios de Sistemas UNIX no son más meros programadores o están vigentes sólo en ambientes de investigación académica. La base de usuarios se extiende ahora también al mundo de los negocios: ejecutivos, grupos de soporte, personal de mercadeo e investigadores industriales. Nuevas clases de usuarios demandan nuevas clases de aplicaciones. A medida que los vendedores han adicionado nuevas facilidades a los sistemas para soportar estas nuevas demandas de aplicaciones, sus productos han adquirido a menudo diferentes facilidades y nuevas implementaciones de interface. Con esto, los diferentes sistemas han diferido y se acrecienta la necesidad de estándares. b) ¿POR QUE ESTANDARES? Un estándar de interface para sistema operativo que sea seguido por todos los vendedores permitiría que los programas sean escritos para un ambiente específico en el cual éstos pudieran ser ejecutados sin modificaciones en diferentes sistemas. Para la industria, una portabilidad como ésta es importante ya que permite mayor producción y distribución de aplicaciones. De esta manera, los estándares ahorran tiempo y dinero a los usuarios y a los proveedores, a la par que ofrecen una base firme en un mercado incierto. c) LA ARQUITECTURA ATLAS  Un ambiente completo de servicios y aplicaciones distribuídas: amplia.  Una solución de estado del arte que impulsa la tecnología existente: está establecida.  Una metodología que integra la computación heterogénea sin interrumpir aplicaciones existentes, comunicaciones y/o formatos de datos: no invade otros terrenos. d) ¿QUE PROVEE LA ARQUITECTURA UI-ATLAS?  Necesidades computacionales totales:  Toma las necesidades de tres audiencias claves: » Usuarios finales/centro de datos, » Administradores de sistemas distribuídos, » Desarrolladores de aplicaciones distribuídas.  Administradores de Sistemas.  Administradores de Transacciones.  Compatibilidad con bases instaladas (ahora y en el futuro).  Evolución transparente a partir de tecnología disponible hoy en el System V.  Evolución controlada por la industria (basada en estándares).  Soporte de tecnologías que prometan reducir significativamente el costo del desarrollo/portabilidad de aplicaciones. e) BIBLIOGRAFIA UNIX International UNIFORUM Unix System V Version 4 Kenneth H.Rosen - Richard R. Rosinski - James M. Farber, Osborne/McGraw Hill, 1991 The Design of the UNIX Operating System Maurice J. Bach Prentice-Hall INC./ATT,1987
  • 10. JDCM UNIX SVR4 - NB 5 04. COMPOSICION DEL SISTEMA OPERATIVO UNIX Manipulación de archivos Utilidades Matemáticas Utilidades para manejar impresoras Redes y Comunicaciones Herramientas para Desarrollo de Software Procesamiento de Textos (vi) Compilador 'C' Utilidades para manejar terminales kernel shell Figura No. 3: Resumen Arquitectónico del Sistema Operativo UNIX 05. CAPAS QUE LO CONFORMAN a) KERNEL  Maneja la memoria.  Mantiene el sistema de archivos.  Controla el acceso al computador.  Distribuye los recursos del sistema entre los usuarios. b) FILESYSTEM  Piedra angular del Sistema Operativo UNIX.  Proporciona un método lógico para organizar, obtener y manejar información.  Su estructura es jerárquica, semeja un árbol invertido u organigrama.  Su unidad básica es el archivo. c) SHELL  Es un programa que sirve como interpretador de comandos y permite la comunicación con el sistema operativo.  Pasa los requerimientos al kernel y se asegura que son ejecutados.  El más popular es el Bourne shell.  También es un lenguaje de programación.  Puesto que puede leer las entradas que se le den y retornar mensajes, se le describe como interactivo. d) APLICACIONES O HERRAMIENTAS  Son un conjunto de intrucciones para el computador.
  • 11. JDCM UNIX SVR4 - NB 6  Si un conjunto de instrucciones es ejecutado por el computador sin necesidad de traducirlo entonces a este conjunto se denomina “programa ejecutable” o “comando”.  Son utilitarios diversos (procesadores de texto, hojas de cálculo, graficadores, etc.)  Se utilizan para comunicaciones (comunicaciones simples como entre el terminal del usuario y el computador hasta comunicaciones con otros computadores utilizando protocolos específicos -SNA, X.25, OSI)  Algunas permiten el manejo de información (desde crear un archivo hasta manejar bases de datos con construcciones complejas como disco espejo, etc.)  Otras preparan un ambiente para programación (todos los compiladores disponibles en el mercado) 06. CLASIFICACION DE ARCHIVOS a) ARCHIVO ORDINARIO  Es una colección de caracteres que se trata como una unidad.  Se usan para almacenar información.  Esta información puede ser texto, reporte, comando, etc. b) DIRECTORIO  Es un super archivo que contiene un grupo de archivos relacionados.  Su función es la de ser un puntero a otros archivos o directorios.  A esta relación (jerarquía) se denomina relación padre - hijo ya que los archivos contenidos en un directorio están subordinados a éste. c) ARCHIVOS ESPECIALES  En realidad es un puntero a un dispositivo (impresora, terminal, disco).  Se ubican en general en el directorio /dev.  El sistema los lee y escribe de la misma forma que lo hace con los archivos ordinarios sin embargo,  Los requerimientos de lectura y escritura no activan el mecanismo normal de acceso a archivos sino que activan el manejador del dispositivo asociado con el archivo. 07. CONVENCIONES PARA NOMBRAR ARCHIVOS  Deben ser descriptivos.  Los nombres pueden tener hasta un máximo de 14 caracteres de longitud para el sistema de archivos tipo ‘ s5 ‘ y 256 para el tipo ‘ ufs ‘.  Pueden consistir de: 1. Letras mayúsculas : ( A - Z ) 2. Letras minúsculas : ( a - z ) 3. Números : ( 0 - 9 ) 4. Puntos : ( . ) 5. Comas : ( , ) 6. Caracter subrayado : ( _ )  No pueden tener caracteres especiales (esto es, caracteres diferentes a los mencionados antes).  Deben empezar con un caracter alfanumérico.  No debe haber espacios dentro del nombre.  Las mayúsculas se diferencian de las minúsculas.  Dentro de un directorio los nombres deben ser únicos.
  • 12. JDCM UNIX SVR4 - NB 7 08. CARACTERES DE REDIRECCIONAMIENTO  Input desde un archivo.  Salida hacia un archivo.  Adiciona a un archivo. 09. METACARACTERES  El caracter ‘ ? ‘ identifica un solo caracter: fi? encuentra “fig”, “fin”  El caracter ‘ * ‘ identifica cualquier combinación de cualquier número de caracteres: fi* encuentra “fig”, “figura”, “finura”  El conjunto de caracteres ‘ [ ] ‘ identifica un agrupamiento de caracteres:  fi[gn] encuentra “fig”, “fin”  file[1-4] encuentra “file1”,”file2”,”file3”,”file4”  [Ff]ile encuentra “File” o “file”  [F,g,h]ile encuentra “File” o “gile” o “hile”  file[!1-3] encuentra aquellos archivos que no terminan en 1 o 2 o 3 10. INTERPRETACION DE LOS METACARACTERES  Encerrarlos entre apóstrofes simples ( ‘ ) para tratar todo el dato entre ellos como un solo literal.  Las comillas permiten interpretar dentro del dato algunos caracteres especiales como: $, `, . .  El backslash ( ) que precede a un metacaracter neutraliza su significado.  Los acentos graves o apóstrofes invertidos ( ` ) permiten la sustitución de un comando por su resultado. Ejemplos: $ echo “No haga eso !” No haga eso ! $ echo *** *** $ echo x `*` y x * y $ echo “La fecha es: `date`” La fecha es: Thu Nov 20 12:45:16 EDT 11. SU LUGAR EN EL SISTEMA DE ARCHIVOS  Cada vez que Ud. interactúa con el sistema UNIX, lo hace desde una ubicación precisa dentro de su estructura de archivos.  El Sistema UNIX lo posiciona automáticamente en un punto específico de su sistema de archivos cada vez que Ud. lo accesa.  Desde ese punto Ud. puede moverse a través de la jerarquía para trabajar con sus directorios y archivos y accesar a aquellos que pertenecen a otros usuarios y sobre los cuales Ud. tiene permiso de acceso.  Igualmente, aquí puede crear o borrar archivos y directorios así como controlar el acceso a los mismos. 12. NAVEGANDO POR LA ESTRUCTURA DE ARCHIVOS  Una estructura de archivos UNIX siempre se inicia con un directorio proporcionado por el sistema, denominado “root” y representado por el símbolo “ / “.  Este directorio es la raíz, origen o punto de partida de cualquier otro directorio o archivo que se cree en el sistema.  Un directorio es un archivo que contiene punteros hacia otros archivos u otros directorios. Estos directorios denominados “subdirectorios” pueden a su vez contener punteros hacia otros archivos o directorios, y así sucesivamente.  El formato utilizado para referirse a un archivo en esta estructura es: /directorio/directorio/nombre_del_archivo
  • 13. JDCM UNIX SVR4 - NB 8  Esta estructura de concatenación de archivos utilizando el caracter “ / “ se denomina nombre completo o “pathname”. cuando a Ud. se le asigna un nombre de usuario, también se le asigna un directorio y a éste directorio se le denomina “directorio base”, pudiendo estar localizado en cualquier parte de la estructura de archivos UNIX. El sistema UNIX busca a lo largo del camino correcto hasta que ubica su directorio base; cuando Ud. accesa al sistema UNIX, automáticamente es puesto en ese directorio. El camino entre el directorio raíz y su directorio base es un ejemplo de “pathname”.  En la medida que Ud. continúe trabajando en su directorio base, éste se considera su “ directorio de trabajo “ o “ directorio actual ”.  Si cambia a otro directorio, este nuevo directorio se convierte en su nuevo directorio actual.  Al directorio actual se le representa con un punto ( . ) y es denominado también “ directorio hijo “  El directorio del cual parte o al cual pertenece este último, denominado a su vez “directorio padre”, se representa con dos puntos ( .. ).  Ud. puede navegar a través de la estructura de archivos especificando la “trayectoria absoluta” (o “trayectoria completa”), o la “trayectoria relativa” de un archivo.  Una trayectoria absoluta o completa es el camino hacia un archivo empezando en el directorio raíz.  Una trayectoria relativa es el camino hacia un archivo relativo a su directorio actual o de trabajo. / (root) stand sbin dev etcunix term console home jose maria tmp var usr bin lib sbin ls cat = Directorios = Archivos Ordinarios = Archivos Especiales = Enlaces Figura No. 4: Jerarquía del Sistema Operativo UNIX 13. DESCRIPCION DE DIRECTORIOS IMPORTANTES /bin Contiene programas ejecutables y utilitarios propios del sistema. /dev Contiene archivos especiales que representan dispositivos periféricos como la consola, impresora, terminales, discos, cintas. /etc Contiene programas y archivos que UNIX utiliza para su administración. /lib Contiene librerías para programas y lenguajes (compiladores). Es un enlace simbólico con el directorio ‘ /usr/lib ‘, y es creado para compatibilidad con versiones anteriores de UNIX. /tmp Contiene archivos temporales que pueden ser creados por cualquier usuario o el mismo sistema operativo. /usr Contiene archivos, programas, o utilitarios que son adicionales a los del sistema operativo.
  • 14. JDCM UNIX SVR4 - NB 9 /hinv Contiene archivos de configuración de hardware. Sistema de archivos propio de UNISYS. /home Directorio por defecto para los directorios de los usuarios. /proc Punto de montaje para otro tipo de sistema de archivos. Los archivos aquí contenidos representan los procesos en ejecución en memoria y su nombre es el número de identificación del proceso. /sbin Contienen los programas requeridos por el comando ‘ init ‘ para el proceso de carga o para recuperación a partir de una falla del sistema. También contiene los comandos administrativos para el modo mono_usuario. /stand Punto de montaje para el sistema de archivos de carga (bfs). E. ACCESO AL SISTEMA UNIX 01. QUE ES NECESARIO?  Un terminal con las siguientes características:  Debe estar en línea.  Configurado a:  FULL DUPLEX.  NO PARITY.  BAUD RATE (acorde con el computador).  Generar letras minúsculas siempre.  Se define con la variable TERM:  TERM=tipo_de_terminal  Se hace que el sistema la reconozca para toda la sesión de trabajo con: export TERM  Un nombre para acceso (login) mediante el cual el sistema UNIX lo identifique como usuario autorizado.  Una palabra clave (password) que verifique su identidad. 02. CONVENCIONES GENERALES  Los comandos deben ser ingresados en minúsculas (a menos que se especifique lo contrario)  Existen caracteres especiales simples: • # para borrar un caracter • @ para borrar una línea entera  o compuestos: xiii ### ^d CTRL d, salir del sistema ### ^s / ^q CTRL s / CTRL q, XON/XOFF ### ^h CTRL h, borrar caracter ### ^u CTRL u, borrar línea ### ^c CTRL c, interrumpir la ejecución del comando  o teclas especialmente etiquetadas: • CR Termina una línea y posiciona el cursor en una nueva línea. • ESC Realiza una función específica al usarse con otra tecla. • DEL Anula la línea de comando actual. • BREAK Detiene la ejecución de un comando o programa.  Los nombres para login deben ser de 3 a 8 caracteres, en minúsculas e iniciándose siempre por una letra, sin símbolos. Cada vez que desee ingresar al sistema debe usarlo. La expresión “ login “ se deriva del hecho que el sistema mantiene un “ log “ por cada usuario que ingresa al sistema. La línea que aparece en el terminal:
  • 15. JDCM UNIX SVR4 - NB 10 login: indica que el sistema está esperando su ingreso al mismo.  El nombre para los password debe seguir las siguientes normas:  De 6 a 8 caracteres, pero su longitud se puede definir en el archivo ‘/etc/default/passwd’.  Por lo menos dos caracteres alfanuméricos (mayúsculas o minúsculas) y por lo menos 1 caracter especial o numérico.  Debe ser diferente del login incluso, no debe ser el inverso o rotación de éste. Para la verificación, mayúsculas y minúsculas son lo mismo.  Por razones de seguridad, el sistema UNIX no muestra este nombre en pantalla. Aparece inmediatamente después que ha ingresado el login: login: empleado CR password: F. LINEAS DE COMANDO 01. INTRODUCCION  Un programa es un conjunto de instrucciones para el computador.  Todos aquellos programas que puede ejecutar el computador sin necesitar transformación previa se denominan archivos ejecutables o comandos.  El sistema UNIX le brinda muchos programas estandard y herramientas con los cuales Ud. puede:  Procesar textos (editarlos).  Manejar información esto es, organizar el filesystem.  Transmitir y/o recibir información de otros sistemas (comunicación electrónica).  Desarrollar software (establecer ambiente para programación amigable).  Accesar a utilitarios adicionales (para gráficos o cálculos). 02. SINTAXIS O COMO EJECUTARLOS  Con el fin de que sus requerimientos sean comprensibles para el sistema UNIX, Ud. debe presentar cada comando en el formato o sintaxis de comando correcto.  La sintaxis define el orden en el que debe ingresar los componentes de una línea de comando: comando opcion(es) argumento(s) donde: • comando Es el nombre del comando/programa que se desea ejecutar • opción Modifica la forma en que el comando se ejecuta (usualmente precedido por “ - “). • argumento Especifica la información sobre la que opera ese comando.  Las palabras que componen un comando completo se separan por lo menos con un blanco (un espacio o una tabulación).  Si un argumento contiene blancos debe encerrarlo entre comillas.  Algunos comandos le permiten especificar múltiples opciones y/o argumentos en una línea de comandos.  Las opciones deben estar separadas por un guión ( - ) y espacios en blanco entre ellas.  O por lo menos un guión y las demás opciones juntas, sin espacios en blanco ni guiones. Ejemplo: incorrecto correcto wcfile wc file
  • 16. JDCM UNIX SVR4 - NB 11 wc-lfile wc -l file wc -l w file wc -l -w file wc file1file2 wc file1 file2 03. COMO EJECUTA EL SISTEMA UNIX UN COMANDO USUARIO SHELL KERNEL PROGRAMAS COMANDOS UTILITARIOS ETC. Figura No. 7: Funcionamiento del shell  Luego de presionar la tecla CR para ejecutar un comando, el shell:  Chequea que exista el comando.  Chequea los permisos.  Analiza los argumentos y opciones de la línea de comando.  Inicia el proceso.  Al terminar vuelve al prompt. H. EDITORES DE TEXTOS 01. INTRODUCCION  Un editor de textos realiza las tareas de insertar, adicionar, borrar o transponer textos y finalmente, preparar una copia limpia y corregida de éstos logrando que su escritura y revisión sea mucho más fácil y rápida que si se hiciera manualmente.  Para el sistema UNIX, los editores de textos son programas interactivos que aceptan comandos propios y luego realizan las funciones requeridas. 02. COMO TRABAJAN  Tan pronto como un editor es invocado éste separa un espacio de trabajo temporal denominado “buffer de edición” y cualquier información que pueda ingresar mientras se edita un archivo, se almacena en este buffer donde puede modificarse.  No importa si Ud. crea o actualiza un archivo, el texto dentro del buffer está organizado en líneas que son simplemente una serie de caracte-res que aparecen horizontalmente en la pantalla y terminan cuando presiona la tecla RETURN.  Se diferencian dos modos de operación: de comando y de operación.  Cuando se inicia una sesión de edición, ésta comienza en modo comando pero sólo puede modificar, adicionar o crear un texto en el modo texto y en este modo, todos los caracteres que tipee se colocan en el buffer como parte de su archivo texto.  El editor de líneas es muy rápido. Manipula texto línea por línea de modo que se necesita especificar el número de la línea que desea trabajar.  El editor de pantalla es una herramienta interactiva orientada a la visualización de un texto en toda la pantalla, página por página. Esto permite posicionar el cursor en cualquier punto de la pantalla en donde se quiera modificar algo, logrando resultados inmediatos. Este editor consume recursos del computador:
  • 17. JDCM UNIX SVR4 - NB 12 procesador (debido al reformateo de la pantalla por cada cambio realizado), disco (ya que genera archivos intermedios para su trabajo), si los cambios son mayores. 03. EDITOR ‘ed’ a) INGRESO Y SALIDA DEL EDITOR Ingresamos: $ed archivo Aparece: • ? archivo Si no existe, indicando que es nuevo. • xxx Donde ‘xxx’ es el número de bytes existentes en el archivo. Salimos: • q En modo comando. b) CARACTERISTICAS GENERALES  Pasamos a modo comando al presionar “ . “ como único caracter en la línea.  Guardamos el texto en el archivo especificado al presionar “ w “ como único caracter en la línea.  En general, todo comando debe ser ingresado solo, como único caracter en la línea.  El editor no indica en qué modo se está trabajando a menos que se ejecute el comando “P” el cual muestra un “ * “ cada vez que se ingresa al modo comando.  Si deseamos cambiar el “ * “ (prompt), lo podemos hacer en el momento que invocamos el editor y usamos la opción: “ -p “ (este prompt puede ser uno o varios caracteres) $ed -p prompt archivo  Un comando ‘ed’ consta de hasta 3 componentes: posición comando opción donde la posición se refiere a la línea (o líneas) sobre las que se desea trabajar. Si no se especifican líneas, la operación se realiza sobre la línea actual en el buffer (la última en la que se estuvo trabajando).  Dos líneas separadas por una coma se interpreta como un rango de líneas.  Cuando una sesión de edición termina anormalmente, el sistema operativo UNIX trata de salvar el contenido del buffer de edición en el archivo ‘ed.hup’ en el directorio de trabajo. c) COMANDOS PROPIOS • [.]a Adiciona líneas tras la actual. • [.,.]c Modifica un rango de líneas. • [.]i Inserta líneas delante de la actual. • [.,.]p Muestra un rango de líneas. • . Indica la línea actual en modo comando o, pasa de modo texto a modo comando. • $ Indica la última línea. • ! cmnd Ejecuta un comando externo en forma temporal. Ejemplos: 3i Ingresa al modo texto e inserta un texto digitado antes de la línea 3. 8c Ingresa al modo texto y reemplaza la línea 8 por otro texto digitado. 1,5c Ingresa al modo texto y reemplaza las líneas 1 a la 5. 5p Muestra la línea 5. 2,6p Muestra las líneas 2 a la 6. $c Ingresa al modo texto y cambia el texto de las líneas 10 hasta el final del archivo. !ls Muestra el contenido del directorio actual y retorna al editor. La salida de este comando no es parte del archivo que se edita.
  • 18. JDCM UNIX SVR4 - NB 13 d) OTROS COMANDOS • 1,$p Muestra todo el archivo. ### ,p Igual al anterior. • .,$p Muestra el contenido del archivo entre la línea actual ( . ) y la última línea ( $ ). • n Muestra la línea y el número de la línea actualmente en el buffer. • 1,$n Muestra todas las líneas con número de línea. ### = Muestra el número de líneas del buffer. ### + o RETURN, pasa a la siguiente línea, mostrándola. ### - Pasa a la línea anterior, mostrándola. • l Muestra caracteres visibles y no visibles de la línea actual. • [.,.]mn Mueve el rango de líneas especificado por [.,.] después de la línea ‘n’. • [.,.]tn Copia las líneas especificadas por [.,.] después de la línea n. • [.,.]d Remueve las líneas especificadas por el rango [.,.]. ### /texto/ Búsqueda del “texto”xiv hacia adelante. ### / Siguiente ocurrencia xv hacia adelante del “texto” previamente establecido. • ?texto? Búsqueda del “texto” hacia atrás. • ? Siguiente ocurrencia hacia atrás del “texto” previamente establecido. • [.,.]s/antiguo/nuevo/ Sustitución simple de la primera ocurrencia en la línea del texto “antiguo” por el “nuevo”. • [.,.]s/antiguo/nuevo/g Sustitución global del texto “antiguo” por el “nuevo” en la línea. • [.,.]s/antiguo/nuevo/p Muestra el resultado de la sustitución del texto “antiguo” por el “nuevo”. • u Deja sin efecto el último comando efectuado. • H Causa que automáticamente se muestre un mensaje de error cada vez que aparece “ ? “. • h Causa que se muestre un mensaje de error explicando la razón del “ ? “ más reciente. • [1,$]w[archivo] Graba el contenido del buffer actual en un “archivo” diferente al original. Ejemplos: .= Muestra el número de la línea actual m4 Mueve la línea actual después de la línea 4 $m0 Mueve desde la línea 5 hasta la última hacia el inicio del archivo 1,4t10 Copia las líneas 1 a 4 colocándolas después de la línea 10 +3p Muestra las 3 líneas posteriores a la actual 5p Muestra las 5 líneas anteriores a la actual 5d Remueve la linea 5 5,6d Remueve las líneas 5 y 6 s/a 12/b 14/ Reemplaza la primera ocurrencia de “a 12” por “b 14” en la línea actual. s2s/azul//g Borra todas las palabras “azul” de la línea 2. $s/azul/mar/gp xvi Reemplaza todas las ocurrencias de la palabra “azul” por la palabra “mar” y muestra los resultados. 04. EDITOR ‘vi’ - PARTE I a) INGRESO Y SALIDA DEL EDITOR Ingresamos: $vi archivo Aparece: ~ ~ . . . ~ “archivo” [New file]
  • 19. JDCM UNIX SVR4 - NB 14 Salimos: ### :q Pasamos a modo comando y digitamos ‘ q ‘ seguido de CR. b) CARACTERISTICAS GENERALES  Pasamos a modo comando al presionar ESC.  Invocamos a la línea de comando con “ : “ (siempre aparece en la última línea).  Guardamos la información con la siguiente secuencia: ESC + “ : “ + “ w “  Utiliza toda la pantalla, el cursor aparece en la columna superior izquierda, llena la pantalla con tildes ( ~ ) indicando que no hay información.  Al igual que el editor `ed`, `vi` nos proporciona una forma de distinguir entre el Modo Comando y el Modo Texto: $vedit archivo el editor muestra el modo de operación en la esquina inferior derecha de la pantalla.  Depende de las características específicas y capacidades de cada terminal.  Cuando una sesión termina anormalmente, UNIX salva el contenido del buffer de edición en un archivo en el directorio de trabajo teniendo el mismo nombre que el archivo de trabajo. Se recupera con la opción siguiente: vi -r nombre_de_archivo c) COMANDOS BASICOS (1) ADICION E INSERCION DE TEXTO • a Adiciona caracteres a la derecha del cursor. • A Adiciona caracteres después del último caracter de la línea. • i Inserta caracteres antes del cursor. • I Inserta caracteres al inicio de la línea. • o Abre una línea en blanco bajo la línea actual. • O Abre una línea en blanco sobre la actual. Ejemplos: Texto original : Una línea de texto Adicionamos : xxzz Cursor ubicado en : ‘e’ de ‘línea’ Comando Resultado a Una línexxzza de texto A Una línea de textoxxzz i Una línxxzzea de texto I xxzzUna Línea de texto o Una línea de texto xxzz O xxzz Una línea de texto (2) BORRADO DE TEXTOS • e Del cursor al final de la palabra. • w Del cursor al inicio de la palabra. • $ Del cursor al final de la línea. • 0 Del caracter antes del cursor hasta el inicio de la línea. • b Del caracter antes del cursor hasta el inicio de la palabra. • [n] Número de caracteres a borrar hacia la derecha (x) o izquierda (X). • xp Intercambia el caracter bajo el cursor por el de su derecha.
  • 20. JDCM UNIX SVR4 - NB 15 d) MOVIMIENTO DEL CURSOR (1) MOVIMIENTOS BASICOS DEL CURSOR • [n]k Mueve el cursor ‘ n ‘ líneas hacia arriba. • [n]j Mueve el cursor ‘ n ‘ líneas hacia abajo. • [n]G Mueve a la línea ‘ n ‘ • H A la primera fila, primera columna de la pantalla. • G A la última línea del archivo. • M A la mitad de la pantalla. • L A la última línea de la pantalla. • CTRL b Muestra página anterior. • CTRL f Muestra siguiente página. • CTRL d Mueve 12 líneas hacia abajo. • CTRL u Mueve 12 líneas hacia arriba. • CTRL g Muestra la línea actual, el número total de líneas del archivo y el porcentaje que esta línea representa del total. (2) MOVIMIENTO DENTRO DE UNA PANTALLA • nH Mueve el cursor hacia la línea ‘ n ‘ contada desde la línea superior de la pantalla. • nL Mueve el cursor hacia la línea ‘ n ‘ contada desde la línea inferior de la pantalla. ###^E Baja la ventana una línea. ###^Y Sube la ventana una línea. ###^L Blanquea y redibuja la pantalla. (3) MOVIMIENTO DENTRO DE LINEAS • 0 Cero al inicio de la línea. ###^ Primer caracter de la línea actual (ignora espacios y tabulaciones). • $ Al final de la línea. • CR Inicio de la línea siguiente. ###+ Inicio de la línea siguiente (en el primer caracter no blanco). ###- Inicio de la línea anterior (en el primer caracter no blanco). • w Una palabra hacia adelante. • b Una palabra hacia atrás. • [n]h Mueve el cursor ‘ n ‘ caracteres a la izquierda. • [n]l Mueve el cursor ‘ n ‘ caracteres a la derecha. Igual a la barra espaciadora. ###^D Resetea el margen izquierdo de una autoedición. (4) MOVIMIENTO POR BLOQUE DE TEXTO • e Fin de palabra. • E Fin de palabra (ignorando puntuación). • b Retrocede una palabra. • B Retrocede una palabra, ignorando puntuación. • w Adelanta una palabra. • B Adelanta una palabra, ignorando puntuación. ###// Dos slashes: repite la última búsqueda. (5) MODIFICAR TEXTO • D Borra desde el cursor hasta el final. • dd Borra toda la línea incluyendo el CR. • [n]c[rango] Modifica el texto que se especifica en “rango”, el número de líneas especificado en ` n `. • cc Cambia toda la línea sin el CR. • [n]yy Copia las líneas especificadas por ` n ` a un buffer temporal. • [n]Y Igual que ` yy `. • p Copia la(s) línea(s) del buffer temporal debajo de la línea actual. • P Copia la(s) línea(s) del buffer temporal encima de la línea actual. • CR En el modo texto parte la línea a partir del caracter sobre el que está el cursor. • J Une dos líneas. • u Deshace el comando anterior. • U Deshace todos los comandos dados a la línea actual.
  • 21. JDCM UNIX SVR4 - NB 16 ###/patrón Busca hacia adelante el patrón indicado. ###/ La siguiente ocurrencia hacia adelante del texto anterior. ###/patrón/- Posiciona el cursor en el inicio de la línea sobre ‘patrón’. ###/patrón/+2 Posiciona el cursor dos líneas por debajo de ‘patrón’. • ?texto Busca hacia atrás el texto indicado. • ? La siguiente ocurencia hacia atrás del texto anterior. • n Repite el comando de búsqueda en la dirección previamente especificada. • s Sustituye caracteres (actúa igual al comando ‘ cl ‘). • S Sustituye líneas (actúa igual al comando ‘ cc ‘). • N Repite el comando de búsqueda en la dirección opuesta. ###:wCR Graba el archivo. ###:qCR Sale del editor. ###:wqCR Graba el archivo y sale del editor. ###:q!CR Sale del editor sin grabar nada. • r Reemplaza el caracter bajo el cursor. • R Reemplaza un texto a partir del cursor (hasta presionar la tecla Escape: ESC). • n- Corre ‘ n ‘ columnas a la izquierda. • n- Corre ‘ n ‘ columnas a la derecha. • mx Marca la posición del cursor con el caracter especificado por ‘ x ‘. • ‘x Acento grave: mueve el cursor a la posición marcada por ‘ x ‘. • d`x Acento grave: borra desde el cursor hasta (pero no incluyendo) la posición marcada uniendo las líneas parciales restantes. • d’x Apóstrofe: borra todas las líneas completas desde donde está el cursor hasta incluir la posición marcada. (6) COMANDOS ‘:’ ###:e [file] Blanquea el buffer y carga “ file “ en el buffer (edita otro archivo). ###:r [file] Inserta “ file “ debajo de la línea donde se encuentra el cursor. ###:r!cmd Carga la salida de un comando shell en el texto y donde está ubicado el cursor. ###:!cmd Ejecuta un solo comando shell y luego retorna al editor. ###:n Edita el siguiente archivo de la lista. ###:g/x/cmd Ejecuta un comando ‘ ed ‘ en todo lo que concuerde con ‘ x ‘. ###:m,nwfile Adiciona líneas desde la ‘ m ‘ hasta la ‘ n ‘ al ‘ file ‘. ###:m,nm# Mueve las líneas desde la ‘ m ‘ hasta la ‘ n ‘ después de la línea ‘ # ‘. ###:m,nco#/m,nt# Copia las líneas desde la ‘ m ‘ hasta la ‘ n ‘ después de la línea ‘ # ‘. (7) BUSQUEDA Y REEMPLAZO TOTAL ###:[.,.]s/texto_antiguo/texto_nuevo/opciones Sustituye el “texto_antiguo” por el “texto_nuevo” dentro del rango especificado. Las opciones son las del editor ‘ ed ‘. ###:1,30s/texto1/texto2/gc Pide confirmar cada reemplazo (si se acepta se presiona ‘ Y + CR ‘, para ignorar se presiona sólo CR. ###:s/est.e/este Asumiendo que ‘est007e’ sea lo primero, se remueve ‘007’. ###:%s/texto1/texto2/g Busca todas las líneas y reemplaza todas las ocurrencias de ‘texto1’ por ‘texto2’. ###:g/texto1/s//texto2/g Busca el patrón ‘texto1’ en forma global, luego reemplaza toda ocurrencia de este ‘texto1’ por ‘texto2’ en las líneas encontradas. ###:g/texto1/s/texto2/texto3/g Busca el patrón ‘texto1’ en forma global, luego reemplaza toda ocurrencia de ‘texto2’ por ‘texto3’ en las líneas encontradas. ###:.,+3 Muestra desde la línea actual ( . ), 3 líneas más. Si se usa el signo negativo, serán 3 líneas menos. ###:1,$s Busca en todas las líneas del archivo. ###:%s Igual al anterior.
  • 22. JDCM UNIX SVR4 - NB 17 COMANDOS BASICOS A. MANEJO DE DIRECTORIOS Y ARCHIVOS 01. Comando ‘pwd’ Propósito: Mostrar el nombre del directorio de trabajo. Sintaxis: /usr/bin/pwd Opciones: Ninguna Consideraciones: Ninguna Ejemplo: $ pwd /usr/lib 02. Comando ‘ls’ Propósito: Mostrar el contenido de uno o más directorios. Sintaxis: /usr/bin/ls [-RalFs] { nombres } Opciones: • R Muestra sucesivamente todos los subdirectorios encontrados. • a Lista todas las entradas, incluso aquellas que empiezan con ( . ), normalmente ocultas. • l Listado detallado. • F Pone un ( / ) después de cada nombre de archivo si éste es un directorio o un ( * ) si es un archivo ejecutable. • s Proporciona el tamaño en bloques, incluyendo bloques indirectos. Consideraciones:  La salida está sorteada alfabéticamente por defecto.  Cuando no se da el argumento (‘nombres’ en este caso), se trabaja sobre el directorio actual.  La salida detallada incluye (todo esto por cada archivo mostrado): 1. Modo 2. Número de enlaces ó número de nombres con que se le reconoce en todo el sistema 3. Nombre del propietario 4. Nombre del grupo de trabajo al cual pertenece el propietario 5. Tamaño en bytes 6. Fecha y hora en que el archivo fué modificado por última vez 7. Nombre del archivo.  El ‘modo’ consiste en 10 caracteres.  El primero puede ser uno de los siguientes: • d Si la entrada es un directorio • b Si la entrada es un archivo especial de acceso por bloques.
  • 23. JDCM UNIX SVR4 - NB 18 • c Si la entrada es un archivo espe-cial de acceso por caracter. • p Si la entrada es un archivo especial FIFO (denominado ‘pipe’). ### - Guión, si la entrada es un archivo ordinario.  Los siguientes 9 caracteres se interpretan como conjuntos de 3 bit cada uno.  El primer conjunto se refiere a los permisos del propietario sobre el archivo.  El segundo conjunto se refiere a los permisos de los demás componentes del grupo de trabajo sobre este archivo.  El tercer grupo se refiere a todos los demás usuarios que no son propietarios ni pertenecientes al mismo grupo de trabajo.  Dentro de cada conjunto, los tres caracteres indican permisos para: • r leer • w modificar • x ejecutar ### - no se brinda permiso alguno Ejemplo: $ ls -la total 9 drwxr-xr-x 2 stu2 stud 480 Aug 30 10:25 letra -rw-r—r-- 1 stu2 stud 264 Sep 05 09:37 memo -rw-rw-rw- 1 stu2 stud 230 Aug 25 09:50 .carta 03. Comando ‘mkdir’ Propósito: Crear un directorio. Sintaxis: /usr/bin/mkdir [-p] { nombre_de_directorio } Opciones: • p Se crea el ‘nombre_de_diretorio’ solicitado creando antes todos los directorios padres necesarios. Consideraciones:  Las entradas estandard en un directorio (archivo ‘ . ‘ para el mismo directorio y ‘ .. ‘ para el directorio padre) se hacen automáticamente.  Este comando no las puede crear por nombre.  Se requiere tener permiso en el directorio padre para crear un directorio.  Si se trata de crear un directorio con la opción ‘-p’ y éste existe, se envía un mensaje de error. Ejemplo: $ mkdir user1 Crea el directorio ‘user1’ debajo del directorio de trabajo actual $ mkdir -p /usr1/user3 Crea el directorio ‘usr1’ y luego el directorio ‘user3’, asumiendo que ninguno exista. 04. Comando ‘rmdir’ Propósito: Remover un directorio (vacío). Sintaxis: /usr/bin/rmdir [-p] { nombre_de_directorio } Opciones: • p Permite la remoción del directorio ‘nombre_de_directorio’ y sus directorios padres.
  • 24. JDCM UNIX SVR4 - NB 19 Consideraciones:  Usando la opción ‘-p’ se imprime un mensaje indicando si parte o toda la trayectoria es removida o permanece por alguna razón (no tiene permiso de escritura, no pertenece al usuario). Ejemplo: $ rmdir /usr/acct/user1 05. Comando ‘rm’ Propósito: Removemos archivos. Sintaxis: /usr/bin/rm [-fir] { archivo / directorio } Opciones: • f Ocasiona la remoción de todos los archivos (protegidos o no) sin notificar al usuario. No se remueven los archivos de un directorio protegido. • i Se pide confirmación para la remoción de un archivo protegido en forma interactiva. • r Ocasiona la remoción de todos los directorios y subdirectorios de la lista de argumentos. Consideraciones:  Con la opción ‘ -r ‘ primero se borran los archivos contenidos en el directorio especificado y luego se borra éste.  Se pide confirmación cuando se remueve cualquier archivo protegido.  La confirmación se inactiva cuando se utiliza la opción ‘ -f ‘.  No se pueden borrar los directorios ‘ . ‘ ni ‘ .. ‘.  Un directorio/archivo está protegido cuando no tiene permiso de modificación (escritura) o cuando no pertenece al usuario. Ejemplo: $rm -r /usr1/local $rm -f /usr1/local/prg $rm [A-Z]file*.cob 06. Comando ‘cd’ Propósito: Cambiamos de un directorio de trabajo a otro. Directorio de residencia: Comando interno del shell. Sintaxis: cd {directorio} Opciones: Ninguna Consideraciones:  Si no se especifica ‘directorio’ se utiliza el directorio base como directorio de trabajo es decir, se retorna al directorio base desde cualquier directorio donde se encuentre.  Si se especifica ‘directorio’, éste se convierte en el nuevo directorio de trabajo. Ejemplo:
  • 25. JDCM UNIX SVR4 - NB 20 $ pwd /usr/acct/user1 $ cd /usr/lib/ter2 $ pwd /usr/lib/ter2 $ cd $ pwd /usr/acct/user1 Muestra directorio actual Cambio a otro directorio de trabajo Muestra nuevo directorio de trabajo Cambia a directorio original Confirma el cambio 07. Comando ‘cp’ Propósito: Copiar archivos. Sintaxis: /usr/bin/cp [opciones] [full_pathname/ [full_pathname/ archivo_fuente] archivo_destino] Opciones: • i Pide confirmación antes de sobreescribir en un archivo_destino. • r Si el archivo_fuente es un directorio, lo copia así como a sus archivos, incluyendo subdirectorios. Consideraciones:  Las respuesta posibles son: Y para SI y cualquier otro caracter para NO.  Si el “archivo_destino” existe, es reemplazado por el “archivo_fuente”.  Dentro de un mismo directorio, “archivo_fuente” y “archivo_destino” deben tener nombre distinto.  Si el archivo_fuente es un directorio, el archivo_destino también debe serlo y deben encontrarse en el mismo sistema de archivos.  Si el archivo_destino es un archivo, su contenido se sobreescribe pero el modo, propietario, y grupo asociados no cambian pero sí el tiempo de modificación y acceso. Ejemplo: $cp -r /usr1/file1 /usr2 $cp -i cp: overwrite /usr2/file5? /usr1/file1 /usr2/file5 $cp file1 file4 08. Comando ‘mv’ Propósito: Mover o renombrar archivos. Sintaxis: /usr/bin/mv [-fi] { archivo_fuente } { archivo_destino } Opciones: • f Renombra el “archivo_fuente” sin importar sus permisos. • i Pide confirmación antes de renombrar un archivo existente. Consideraciones:  Las respuesta posibles son: Y para SI y cualquier otro caracter para NO.  Dentro de un mismo directorio no puede haber dos archivos con el mismo nombre.  Si existen “archivo_destino” y “archivo_fuente”, éste último reemplaza al primero.  Si se determina que los permisos del “archivo_destino” prohíben su modificación, el comando muestra estos permisos requiriendo una respuesta (sí o no).
  • 26. JDCM UNIX SVR4 - NB 21 Ejemplo: $mv /usr1/file1 /usr2 $mv file3 /usr1/file9 $mv /usr1/file3 /usr2/file5 09. Comando ‘file’ Propósito: Identificar el tipo de archivo. Sintaxis: /usr/bin/file [-c] { argumento } [-f archivo] Opciones: • c Causa que el comando revise los “argumentos” buscando errores de formato. • f Ocasiona que se tome “archivo” como aquel que contiene los nombres de los archivos a ser examinados (argumentos). Consideraciones:  Normalmente no se emplea la opción ‘ -c ‘ por razones de eficiencia.  El comando lee cada argumento y distingue los siguientes tipos de archivos: archivos de clasificación datos data shell scripts command text ejecutables executable programas texto xxx text 10. Comando ‘cat’ Propósito: Mostrar el contenido de un archivo. Sintaxis: /usr/bin/cat [-sve] { archivo } Opciones: • s Elimina mensaje de error cuando no se encuentra algún archivo. • v Muestra los caracteres no visibles normalmente (excepto tabuladores, saltos de página, nuevas líneas). • e Ocasiona que al final de la línea y antes del caracter de nueva línea se imprima un caracter “ $ “. Consideraciones:  El comando lee cada archivo en secuencia y lo escribe en la salida estandard.  Los caracteres de control ASCII (octal 000 - 037) se imprimen como ‘ ^n ‘, donde n es el caracter ASCII correspondiente en el rango octal 100 - 137 es decir: @, A, B, .... ,X, Y, Z, [, , ], ^, _ .  Para mostrar más de 23 líneas utilizar ^s, ^q Ejemplo: $ cat Texto Imprime el contenido de “Texto” en pantalla
  • 27. JDCM UNIX SVR4 - NB 22 11. Comando ‘pg’ Propósito: Otra forma de mostrar el contenido de un archivo, esta vez formateado. Sintaxis: /usr/bin/pg [-p string -c +línea +/patrón/] { archivo } Opciones: • p string Por cada pantalla imprime ‘string’ al término de ésta. • c Mueve el cursor a la posición (0,0), borra la pantalla antes de continuar. • +línea Desde qué línea empieza a mostrar el archivo • +/patrón/ Busca un patrón específico y muestra el archivo a partir de la primera ocurrencia del ‘patrón’. Consideraciones:  Permite visualizar el contenido de un archivo una pantalla a la vez.  Cada pantalla es seguida por un prompt ‘string’ o el valor por defecto (default) ‘ : ‘.  Se pasa de una pantalla a la otra presionando CR.  Se termina la visualización presionando la tecla ‘ q ‘.  Permite retroceder en la visualización del texto.  Entre las respuestas que pueden darse cuando el comando ‘pg’ espera por ellas se encuentran: • $ Muestra la última pantalla del archivo (las últimas líneas del archivo que pueden contenerse en una pantalla). ###/patrón/ Busca hacia adelante la ocurrencia de ‘patrón’. • ?patrón? Busca hacia atrás la ocurrencia de ‘patrón’. • h Muestra un resumen abreviado de los comandos internos posibles. • q Finaliza el comando Ejemplo: $ pg -p “Su comando?: “ ---------------------------------- ---------------------------- -------------------------------- ------ Su comando?: q $ 12. Comando ‘head’ Propósito: Muestra determinado número de líneas a partir del inicio del archivo. Sintaxis: /usr/local/bin/head [opciones] archivo(s) Opciones: • x Proporciona las primeras ‘ x ‘ líneas de los archivos especificados. Consideraciones:  Por default imprime siempre las primeras diez líneas. Ejemplo: (El archivo ‘cat21’ contiene las siguientes líneas) Línea No.1 Línea No.2 Línea No.3 Línea No.4 Línea No.5 Línea No.6 Línea No.7 Línea No.8
  • 28. JDCM UNIX SVR4 - NB 23 $ head -4 cat21 Línea No.1 Línea No.2 Línea No.3 Línea No.4 13. Comando ‘tail’ Propósito: Muestra determinado número de líneas o caracteres a partir del final del archivo. Sintaxis: /usr/bin/tail [opciones] archivo(s) Opciones: • +/- número Muestra +número desde el inicio o -número desde el final del archivo. • lbc Cuenta en líneas, bloques o caracteres. Consideraciones:  Por default cuenta en líneas.  El comando “tail” copia el “archivo” indicado a la salida estándard, empezando en el lugar designado.  El comando “tail” sólo mostrará los últimos 4096 bytes de un “archivo” sin importar su número de líneas.  Puede ocurrir un comportamiento extraño con archivos conteniendo caracteres especiales o multibyte.  Por default imprime siempre las últimas diez líneas. Ejemplo: (El archivo ‘cat21’ contiene las siguientes líneas) Línea No.1 $ tail -2 cat21 Línea No.2 Línea No.3 Línea No.3 Línea No.4 Línea No.4 14. Comando ‘diff’ Propósito: Muestra las diferencias entre archivos. Sintaxis: /usr/bin/diff [opciones] archivo1 archivo2 Opciones: • b Ignora los espacios y tabulaciones tras el dato. • e Produce un script conteniendo comandos del editor ‘ ed ‘ para hacer que archivo1 sea idéntico al archivo2. Consideraciones:  Nos informa qué líneas deben cambiarse entre dos archivos de modo que sean idénticos.  La salida normal contiene líneas que semejan la siguiente forma: • n1 a n3,n4 • n1,n2 d n3 • n1,n2 c n3,n4 3. Estas líneas son comandos del editor ‘ ed ‘ para convertir el “archivo1” en “archivo2”.  Los números después de las letras pertenecen al “archivo2”.  Lo que sigue a estas líneas son las líneas afectadas en el “archivo1” etiquetadas con el caracter ‘ ‘ y les siguen las afectadas en el “archivo2” etiquetadas con el caracter ‘ ‘.
  • 29. JDCM UNIX SVR4 - NB 24 Ejemplo: $ cat group1 users:NONE:100:dcr,banco ofis:700:ofis,demo,boss curso:1001:user01,user02,user03 $ cat group2 ofis:700:ofis,demo,boss curso:1001:user01,user02,user03 $ diff group1 group2 1d0 users:NONE:100:dcr,banco $ diff -e group1 group2 1d $ diff group2 group1 0a1 users:NONE:100:dcr,banco $ diff -e group2 group1 0a users:NONE:100:dcr,banco . 15. Comando ‘wc’ Propósito: Contar el número de líneas, palabras y caracteres que posee un archivo. Sintaxis: /usr/bin/wc [opciones] [archivos] Opciones: • l Muestra sólo el número de líneas. • w Muestra sólo el número de palabras. • c Muestra sólo el número de caracteres. Consideraciones: Ejemplo: $wc times 8 52 1325 times 16. Comando ‘grep’ Propósito: Búsqueda de un texto en un archivo. Sintaxis: /usr/bin/grep [opciones] expresión [archivos] Opciones: • c Muestra el número de líneas que concuerda con “expresión” en lugar del patrón mismo. • l Muestra el(los) nombre(s) del(de los) archivo(s) cuyo contenido concuerda con “expresión” (una sola vez). • n Muestra el número de linea en que apare-ce alguna concordancia. • i Trata mayúsculas y minúsculas por igual. • v Muestra las líneas que no concuerdan con “expresión”. • s Suprime los mensajes de error. Consideraciones: Ejemplo: $ grep [Ff]inanciero reporte $ grep [4-9]. reporte $ grep -lc l[0-3] * $ grep ” estado financiero$” reporte $ grep ”^Resultados del campeonato” reporte $ grep ’.pic’ archivo
  • 30. JDCM UNIX SVR4 - NB 25 17. Comando ‘sort’ Propósito: Ordenamiento de líneas de texto xvii Sintaxis: /usr/bin/sort [opciones] [campo.caracter] [archivos] Opciones: • b Ignora blancos al inicio. • f Trata mayúsculas y minúsculas por igual. • n Sort numérico. • r Orden descendente. • o ‘file’ Graba los resultados en “file”. • t ‘carac’ “carac” es un caracter utilizado como separador de campo en el archivo a sortearse. Consideraciones:  Primero, se sortean los espacios en blanco.  Segundo, se sortean los números iniciádose con el primer dígito del número (de 0 a 9).  Tercero, se sortean las letras mayúsculas.  Cuarto, se sortean las letras minúsculas. Ejemplo: $cat archivo $sort archivo $sort -n archivo 4980 12 4 12 4 12 40 40 40 4 4980 636 636 636 4980 8010 8010 8010 $cat archi1 Pedro Martinto:Las Acacias 328:223160 Miguel Pereira:Zona4, Lima:440624 Sandra Villavicencio: Poma de Ayala 1324, Lince: 512345 Sandra Villavicencio: Poma de Ayala 1324, Lince: 512331 Miguel Pereira: Zona 3, Lima:440634 Angel Martinelli:Los Eucaliptos 340: 475866 $sort -t: -b +2 archivo Pedro Martinto:Las Acacias 328:223160 Miguel Pereira:Zona4, Lima:440624 Miguel Pereira: Zona 3, Lima:440634 Angel Martinelli:Los Eucaliptos 340: 475866 Sandra Villavicencio: Poma de Ayala 1324, Lince: 512331 Sandra Villavicencio: Poma de Ayala 1324, Lince: 512345 $sort -t: -b +1 -2 +2n archivo Pedro Martinto:Las Acacias 328:223160 Angel Martinelli:Los Eucaliptos 340: 475866 Sandra Villavicencio: Poma de Ayala 1324, Lince: 512331 Sandra Villavicencio: Poma de Ayala 1324, Lince: 512345 Miguel Pereira: Zona 3, Lima:440634 Miguel Pereira:Zona4, Lima:440624 $sort -t: -b +2.4 -2.6 archivo Miguel Pereira:Zona4, Lima:440624 Sandra Villavicencio: Poma de Ayala 1324, Lince: 512331 Miguel Pereira: Zona 3, Lima:440634 Sandra Villavicencio: Poma de Ayala 1324, Lince: 512345 Pedro Martinto:Las Acacias 328:223160 Angel Martinelli:Los Eucaliptos 340: 475866 18. Comando ‘cut’ Propósito: Seleccionar parte de un texto.
  • 31. JDCM UNIX SVR4 - NB 26 Sintaxis: /usr/bin/cut [opciones] [archivos] Opciones: • c ‘lista’ Designa una ‘lista’ con las posiciones de caracteres a cortar: • c1-40 Corta los primeros 40 caract. • c1-3,7 Corta los 3 primeros y el 7mo. • c20- Corta desde el 20mo. • f ‘lista’ Designa una ‘lista’ de campos a cortar: • f1,4 Corta el 1er y 4to campos. • d ‘carac’ ‘carac’ identifica el caracter actúa como separador de campo. Consideraciones: Ninguna Ejemplo: $ ls -l | cut -c1-8 $cat archi1 $ cut -d’:’ -f2 archi1 Las Acacias 328 Zona4, Lima Poma de Ayala 1324, Lince Poma de Ayala 1324, Lince Zona 3, Lima Los Eucaliptos 340 19. Comando ‘find’ Propósito: Búsqueda de archivos dentro del Sistema UNIX. Sintaxis: /usr/bin/find [trayectoria] [criterio de búsqueda] [acción] Opciones: xviii • atime n Selecciona los archivos que han sido accesados hace ‘n’ dias. • mtime n Selecciona los archivos que han sido modificados hace ‘n’ dias. • name file Selecciona todas las ocurrencias de ‘file’. • print Muestra los archivos encontrados. • user ID Busca los archivos que pertenecen al usuario con identificación ID (número de usuario). Se puede buscar por nombre directamente. • exec cmd {} ; Ejecuta el comando ‘cmd’, y las llaves representan cada archivo a evaluarse. • size n[c] Selecciona los archivos cuya longitud es de ‘n’ bloques. La ‘c’ corresponde a caracteres. Consideraciones:  Desciende recursivamente por la jerarquía de directorios de cada trayectoria incluída en la lista de trayectorias.  No olvidarse de la opción ‘print’ de lo contrario, no se mostrará lo que se busca o no se realizarán las órdenes dadas. Ejemplo: $ find /usr/acct -name “*.0456” -print $ find / -user juan -print $ find -atime +10 -name ‘*.c’ -print -exec rm {} ; $ find ( -mtime 5 -o -name ‘*.c’ ) -print $ find /usr/ng /usr/mp -size -10000c -print B. OTROS COMANDOS
  • 32. JDCM UNIX SVR4 - NB 27 01. Comando ‘date’ Propósito: Mostrar y/o fijar la fecha y hora del sistema. Sintaxis: /usr/bin/date [+formato] /usr/bin/date [mmddHHMMaa] Opciones: Formato (precedido por %): • D Fecha como mm/dd/aa • H Hora (00 - 23) • M Minuto (00 - 59) • S Segundo (00 - 59) • T Tiempo como hh:mm:ss • Y Año en formato de 4 dígitos • d Día del mes (01 - 31) • m Mes del año (01 - 12) • y Año de la centuria (00 - 99) • n Inserta un caracter de nueva línea Para fijar Fecha y Hora: • mm Número de mes • dd Número de día • HH Número de hora (formato de 24 horas) • MM Número de minuto • yy Número de año (últimos 2 dígitos y es opcional) Consideraciones:  Si no se da un argumento, se muestra la fecha y hora actuales  Si el argumento empieza con el signo más ( + ), la salida del comando está bajo control del usuario.  Todas las salidas son de tamaño fijo.  Cada descriptor de campo se precede con el signo porcentaje ( % ) y es reemplazado (el descriptor) en la salida por su correspondiente valor. Ejemplo: $ date Wed May 27 18:12:56 EDT 1989 $ date ‘+FECHA:%m/%d/%y%nHORA:%H:%M:%S’ FECHA:08/01/91 HORA:14:05:09 02. Comando ‘cal’ Propósito: Calendario electrónico. Sintaxis: /usr/bin/cal [mes] { año } Opciones: • mes Dato numérico entre 1 (enero) y 12 (diciembre). • año Dato numérico entre 1 y 9999. Consideraciones:  Los años no deben abreviarse.
  • 33. JDCM UNIX SVR4 - NB 28  Se imprime el calendario del mes y/o año especificado. Ejemplo: $ cal 1 1988 (Muestra el calendario del mes de enero del año 1,988) 03. Comando ‘calendar’ Propósito: Recordatorio de eventos. Sintaxis: /usr/bin/calendar Opciones: Ninguna Consideraciones:  Crear un archivo llamado “calendar” (en su directorio de trabajo). Este comando consulta este archivo en el directorio de trabajo e imprime todas las líneas que contienen las fechas de “hoy” y “mañana”.  Cada línea debe contener una fecha en el formato mes - día.  Si ejecuta el programa un viernes, aparecen los eventos del viernes, sábado, domingo y lunes.  Formatos de fechas: October 10, Oct 10, 10/10. 04. Comando ‘banner’ Propósito: Genera posters. Sintaxis: /usr/bin/banner { argumentos } Opciones: Ninguna. Consideraciones:  Los argumentos deben tener un máximo de 10 caracteres. Se imprime con letras grandes en la salida estándard (usando el caracter ‘ # ‘).  Los caracteres en exceso se ignoran. Ejemplo: $ banner UNIX # # # # ### # # # # ## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ## # # # #### # # ### # # 05. Comando ‘split’ Propósito: Separo archivos grandes en pequeños.
  • 34. JDCM UNIX SVR4 - NB 29 Sintaxis: /usr/bin/split [opciones] archivo_fuente nombre_destino Opciones: • n Cantidad de líneas por las que separa el archivo (lo normal es 1000 líneas). Consideraciones:  El “archivo_fuente” se separa en archivos pequeños cuyos nombres empiezan con “nombre_destino”.  A estos pequeños archivos se les adiciona al nombre ‘ aa ‘ y así sucesivamente (en forma lexicográfica), hasta la ‘ zz ‘.  Se puede tener un máximo de 676 archivos pequeños a partir de uno grande.  El “nombre_destino” no debe sobrepasar los 12 caracteres.  Si no se especifica el “nombre_destino”, se utiliza la letra ‘ x ‘. Ejemplo: $ split -10 status chunk $ ls chunkaa chunkab chunckac C. IMPRESION DE ARCHIVOS - PARTE I 01. Comando ‘lp’ Propósito: Envía un listado al spooler. Sintaxis: /usr/bin/lp [opciones] Opciones: • d ‘printer’ Identifica una impresora. • n x Imprime ‘x’ copias del listado. • s Suprime mensajes (fecha, banner, etc.). • t ‘título’ Imprime ‘título’ como título del listado. • w Envía un mensaje al usuario cuando ha terminado la impresión. Si el usuario no está logeado, se envía un correo. Consideraciones:  Los archivos se imprimen en el orden en que aparecen en la línea de comando.  El comando ‘lp’ asocia una única identificación con cada requerimiento y lo imprime en la salida estándard. Ejemplo: $ lp -dserial1 /usr/acct/pruebas/file1 $ lp -dlaser3 -n3 /usr/file3 $ lp -s -w /work/acct/administ/master.c 02. Comando ‘lpstat’ Propósito: Muestra el estado general del spooler.
  • 35. JDCM UNIX SVR4 - NB 30 Sintaxis: /usr/bin/lpstat [opciones] Opciones: • d Muestra el destino default del sistema. • s Muestra un estado resumido del sistema spooler. • t Muestra toda la información del estado de todas las impresoras y del sistema spooler. Consideraciones:  Las opciones pueden aparecer en cualquier orden.  Si no se dan opciones, el comando ‘lpstat’ imprime el estado de todos los requerimientos hechos a la impresora principal (default). Ejemplo: $ lpstat -t scheduler is running system default destination: printer device for printer: /dev/tty106 printer accepting requests since Mon Feb 4 15:37:10 1991 printer printer is idle. enabled since Wed Apr 3 11:01:59 1991. available 03. Comando ‘cancel’ Propósito: Cancela un trabajo de impresión. Sintaxis: /usr/bin/cancel [identificación de trabajo spool] impresora Opciones: Ninguna Consideraciones:  La identificación del listado así como el nombre de las impresoras se obtiene con el comando “lpstat”.  Al especificar una “identificación de trabajo spool”, se cancela el trabajo asociado aún cuando esté en impresión.  Al especificar una “impresora” se cancela el trabajo que se está imprimiendo en esa impre-sora.  En cualquier caso, la cancelación de un trabajo en ejecución libera la impresora para imprimir el siguiente trabajo (a menos que se haya especificado una impresora en cuyo caso, ningún otro trabajo será impreso hasta que se habilite la misma). Ejemplo: $ lp nombres request id is pr1-398 $ cancel pr1-398 request “pr1-398” cancelled D. MANEJO DE ACCESOS 01. CONSIDERACIONES EN LOS PASSWORD  Todos los login ID deben tener asignado un password en el archivo ‘/etc/passwd’.  Posibles excepciones son login ID simples o de un solo propósito como “who”.
  • 36. JDCM UNIX SVR4 - NB 31  Si existe un login ID pero no se requiere activarlo, puede protegerse editando el campo de password correspondiente y colocando cualquier texto en él incluyendo espacios en blanco y asteriscos.  El password debe tener por lo menos 6 caracteres aunque sólo los ocho primeros son significativos.  Debe consistir de por lo menos dos caracteres alfanuméricos y por lo menos uno numérico o caracter especial (mayúsculas o minúsculas).  Debe ser diferente del login ID incluyendo formas inversas o circulares.  El nuevo password debe diferenciarse del nuevo en por lo menos tres caracteres. 02. FACTORES PARA VIGENCIA DEL PASSWORD  Editar el campo de password en el archivo ‘/etc/passwd’.  Adicionar los valores de vigencia en el formato “,xy” donde: • x Número máximo de semanas antes de requerir un cambio. • y Número mínimo de semanas antes de permitir un cambio. Ejemplo: juan:gZZ6x3kTw9p49,42:130:100:J.P.:/usr/acct/juan:/bin/sh esto es, no podrá cambiar su password en por lo menos 2 semanas y debe cambiarlo luego de 4 semanas. a) ARCHIVO ‘/etc/passwd’ (1) PROPOSITO  Es el archivo de control maestro que determina el acceso al Sistema Operativo UNIX.  Es muy importante para la seguridad del sistema que sólo el administrador del mismo sea el que modifique este archivo. (2) DESCRIPCION  Existen siete campos (separados por “:”) que forman un registro por cada usuario identificado en el sistema y son, en orden: • login Nombre de login, un máximo de 8 caracteres y en minúsculas. • password Un máximo de 18 caracteres de los cuales los 13 primeros se utilizan para el password encriptado (creado por el comando “passwd”), tres caracteres para el período de vigencia de este password y dos caracteres reservados para las rutinas del sistema. • UID Es el número de identificación del usuario, mediante el cual el sistema determina la propiedad y permisos de acceso. Deben empezar desde 100 (los primeros 99 están reservados para la administración del sistema y logins especiales) y no ser mayores de 65,535. • GID Número de identificación del grupo, mediante el cual el sistema determina los permisos de acceso para el grupo. Deben corresponder a las entradas en el archivo “/etc/group”. • comment Hasta un máximo de 30 caracteres, que tradicionalmente se usan para identificar al usuario. • home_dir El nombre completo o absoluto del directorio base del usuario. Debe existir antes que el usuario pueda ingresar al sistema. • shell Es el nombre completo del archivo ejecutable (típicamente un shell interactivo) que se ejecuta al momento que el usuario ingrese al sistema. Ejemplo: usr1:gZZ6x3kTw9p49:130:100:user 1 ID:/usr/usr1:/bin/sh b) ARCHIVO ‘/etc/group’ (1) PROPOSITO  Permite la adición de usuarios a un grupo específico.
  • 37. JDCM UNIX SVR4 - NB 32 (2) CARACTERISTICAS  El nombre de usuario debe existir en el archivo /etc/passwd.  Las entradas en este archivo son de la forma: users::100:suzie,aldo,tomás,user1  Los cuatro campos que lo forman son:  Nombre de grupo.  El password del grupo, normalmente no se utiliza.  GID, número que identifica el grupo.  Lista de miembros del grupo (separados por comas). c) ARCHIVO ‘/etc/profile’ (1) PROPOSITO  Fija las variables ambientales de todo el sistema. (2) CARACTERISTICAS  Es leído por el shell Burne.  Muestra el mensaje del día.  Notifica al usuario si tiene correo.  Permite fijar las características estándares del terminal.  Fija el valor “umask”.  Permite ver las variables ambientales mediante los comandos “set” y “env”.  El comando interno “env” muestra las variables que se exportan hacia ó por el shell.  El comando interno “set” muestra todas las variables del sistema. 03. Comando ‘passwd’ Propósito: Cambiar la palabra clave del usuario (password). Sintaxis: /usr/bin/passwd [-sdf] { login_de_usuario } Opciones: • s Para mostrar los atributos de password para el login_de_usuario. • d Borra el password del login_de_usuario. • f Fuerza el cambio de password en el siguiente acceso al sistema. Mensajes: • Old password: • New password: • Re-type new password: Consideraciones:  Los password se almacenan en el archivo ‘/etc/shadow’.:  Debe ser diferente del login en por lo menos 3 caracteres..  Por razones de seguridad, el sistema UNIX no muestra este nombre en pantalla.  Sólo los super-usuarios pueden cambiar cualquier password.  Un super-usuario puede crear un password nulo con sólo presionar CR en respuesta al requerimiento por nuevo password.  El formato de salida es el siguiente: login estado mm/dd/aa min max aviso Donde: • login Login del usuario.
  • 38. JDCM UNIX SVR4 - NB 33 • estado PS: con password LK: bloqueado NP: sin password • mm/dd/aa Fecha de último cambio. • min Mínimo número de días entre cambios de password. • max Máximo número de días en que el password es válido. • aviso Días de aviso antes que el password expire. Ejemplo: $ passwd ernesto old password: new password: re-type new password: # passwd carlos new password: re-type new password:
  • 39.
  • 40. JDCM UNIX SVR4 - NB 35 04. Comando ‘chown’ Propósito: Modificar la propiedad de un archivo o directorio. Sintaxis: /usr/bin/chown [-R] { destino } Opciones: • R Desciende por la estructura del directorio y efectúa el cambio indicado en forma recursiva. Consideraciones:  El usuario debe tener acceso a su directorio base y puede mantener su propio ambiente de trabajo. Ejemplo: Cambiamos la propiedad: # chown memo /usr/acct/memo 05. Comando ‘id’ Propósito: Muestra los nombres e identificaciones de usuario y grupo. Sintaxis: /usr/bin/id [-a] Opciones: • a Reporta todos los grupos a los que pertenece el usuario. Consideraciones:  La información se toma del archivo ‘/etc/passwd’ Ejemplo: $ id uid = 101(user1) gid = 100(grp100) $ id -a uid = 101(user1) gid = 100(grp100) groups = 100(grp100). 300(grp300) 06. Comando ‘groups’ Propósito: Muestra a qué grupos pertenecen los usuarios. Sintaxis: /usr/bin/groups Opciones: Ninguna Consideraciones:  La primera salida pertenece al grupo primario identificado en el archivo ‘/etc/passwd’.  Las otras entradas muestran a qué otros grupos se pertenece, según el archivo ‘/etc/group’. Ejemplo: $ groups grp100 grp100
  • 41. JDCM UNIX SVR4 - NB 36 $ groups user2 grp100 grp200 $ groups user2 user3 user2: grp100 grp200 user3: grp100 grp300 07. Comando ‘chgrp’ Propósito: Modificar el grupo de trabajo. Sintaxis: /usr/bin/chgrp [-R] { destino } Opciones: • R Desciende por la estructura del directorio y efectúa el cambio indicado en forma recursiva. Consideraciones:  El directorio base debe estar asociado con el grupo del usuario.  Un usuario puede pertenecer a varios grupos para lo cual debe estar listado como miembro en cada grupo en el archivo ‘/etc/group’ sin embargo, la identificación de grupo asociado con los archivos permanece como el grupo primario. Ejemplo: Verificamos la asociación del grupo: # chgrp users /usr/acct/memo 08. Comando ‘newgrp’ Propósito: Cambia la asociación de grupo a un usuario. Sintaxis: /usr/bin/newgrp [-] { grupos } Opciones: • - Se reinicia la secuencia de logeado permitiendo al usuario pertenecer al nuevo grupo. Consideraciones:  El usuario debe pertenecer al nuevo grupo. Los archivos y directorios creados luego que se efectúan los cambios reflejan la nueva pertenencia.  Sin argumentos, se regresa al grupo primario. Ejemplo: $ groups other root bin sys adm mail tty lp daemon uucp $ id uid=0(root) gid=1(other) $ pp $ ls -l -rw-r—r-- 1 root other 0 Dec 10 17:21 pp $ newgrp bin $ pp1 $ ls -l -rw-r—r-- 1 root other 0 Dec 10 17:21 pp -rw-r—r-- 1 root bin 0 Dec 10 17:21 pp1 09. MANEJO DE LOS PERMISOS DE ACCESO  El Sistema Operativo UNIX controla el ingreso al sistema utilizando nombres de usuario (login) y palabras clave (password) que guarda en archivos especiales.
  • 42. JDCM UNIX SVR4 - NB 37  Tales archivos, junto con los permisos para los directorios, son utilizados para controlar quién puede utilizar un determinado archivo o directo-rio.  Existen tres tipos de usuarios: • propietario Aquel que creó el archivo o directorio. • grupo El propietario pertenece a este grupo luego todo el grupo tiene acceso a este archivo o directorio pero con restricciones (si las hubiera). • otros Cualquier otro usuario.  Existen tres tipos de acceso: • lectura Controla quién puede mirar el contenido de un archivo. • escritura Controla quién puede modificar el contenido de un archivo o directorio. • ejecución Controla quién puede ejecutar un programa. 10. Comando ‘chmod’ Propósito: Modificar los atributos de un archivo. Sintaxis: /usr/bin/chmod modo archivo(s) Opciones: • modo Representa un número octal que sirve para la modificación de los atributos del archivo. Consideraciones:  Se debe ser propietario del archivo o el administrador del sistema para ejecutar este comando.  Notación: Octal Permisos Usuario Grupo Otros lectura 400 040 004 escritura 200 020 002 ejecución 100 010 001 2. Notación: Simbólica Permisos Acción Tipo u (usuario) + r g (grupo) - w o (otros) = x a (todos) Ejemplos: $ chmod 755 archivo1 Brinda permiso de lectura, escritura y ejecución para el propietario, permiso de lectura y ejecución al grupo y otros. $ chmod 700 archivo2 Brinda permiso de lectura, escritura y ejecución para el propietario pero ningún permiso al grupo u otros. $ ls -ld budget drwxr-xr-x 2 user1 grp100 512 Jun 4 15:04 budget $ chmod go -x budget $ ls -ld budget drwxr—r-- 2 user1 grp100 512 Jun 4 15:04 budget
  • 43. JDCM UNIX SVR4 - NB 38 COMUNICACIONES A. COMUNICACIONES EN EL AMBIENTE UNIX 01. INTRODUCCION  Las redes juegan un rol importante en la era informática actual. La necesidad de compartir información y recursos hace de las redes una necesidad y puesto que el ambiente computacional está en constante desarrollo, también ellas se desarrollan.  Debido a su simplicidad y a su disponibilidad en la comunidad educativa e investigadora, el sistema UNIX ha sido el favorito para el desarrollo de redes desde mediados de los ‘70.  De aquí nace el UUCP.  UUCP es un conjunto de programas que permiten transferencia de archivos, ejecución remota, mantenimiento y administración en una red UNIX.  UUCP ha sido siempre popular debido a que es de bajo costo.  Es eficiente en términos de dispositivos periféricos, ciclos de procesamiento, experiencia administrativa.  Es un sistema de redes genérico.  La comunicación electrónica UNIX le permite:  Enviar y recibir correo.  Transmitir mensajes rápidos, y hasta mantener “conversaciones” entre dos usuarios.  Mostrar el calendario de un año (o mes) específico.  Mostrar un recordatorio diario. 02. ARCHIVOS PARA MENSAJES BASICOS ARCHIVO /etc/issue  Proporciona un mensaje de bienvenida.  Es un mensaje que se muestra previo al login.  Consta de cualquier texto que se requiera mostrar (incluyendo atributos de pantalla). ARCHIVO /etc/motd  Muestra un mensaje general a los usuarios.  Se muestra cada vez que un usuario ingresa al sistema.  Consta de cualquier textoque se desee mostrar (incluyendo atributos de pantalla). 03. Comando ‘tty’ Propósito: Mostrar el nombre completo del terminal donde se ejecuta este comando. Sintaxis: /etc/tty [-l] [-s] Opciones: • l Imprime el número de la línea sincrónica a la cual está conectado el terminal (si se encuentra en una línea sincrónica). • s Inhibe la respuesta de este comando permitiendo chequear sólo el “código de salida”. Consideraciones: Los “códigos de salida” son: • 0 Si la entrada estándard es un terminal. • 1 Cualquier otra cosa.
  • 44. JDCM UNIX SVR4 - NB 39 • 2 Si se especifican opciones inválidas.  Originalmente su nombre era un acrónimo de “teletypewriter” (teleimpresora) pero ahora viene a significar cualquier dispositivo terminal. Ejemplo: $ tty /dev/tty100 04. Comando ‘stty’ Propósito: Fija las opciones de entrada y/o salida del terminal. Sintaxis: /bin/stty [-a] opciones/argumentos Opciones: • a Muestra todas las opciones. • parenb(-parenb) Habilita (deshabilita) la generación y detección de paridad. • cs8 Selecciona el tamaño del caracter. • 1200 2400 4800 9600 Fija la velocidad en baudios del terminal al valor dado. • caracteres_de_control valor Fija el “caracter_de_control” al “valor”. Si “valor” está precedido por un ‘ ^ ‘ (previa secuencia de ESCAPE), entonces su valor es el correspondiente caracter ‘CTRL’. Consideraciones:  Sin argumentos, reporta los valores de algunas opciones.  Si un caracter está precedido por un ( ^ ), entonces el valor de esa opción es el caracter CTRL correspondiente i.e.: ^h es CTRL h. Ejemplo: $ stty kill ^c $ stty (APARECEN ALGUNOS VALORES DE ALGUNAS OPCIONES) 05. Comando ‘news’ Propósito: Mostrar noticias del sistema. Sintaxis: /bin/news [-ans] Opciones: • a Muestra todas las noticias sin importar la actualidad de las mismas. • n Muestra sólo los nombres de los archivos de noticias recientes. • s Muestra el número actual de noticias. Consideraciones:  Las noticias se basan en la actualidad (fecha de modificación del archivo ‘.news_time’ en el directorio base, y sólo se muestran los más recientes comparados con la fecha de este archivo).  Sin argumentos se muestran las noticias contenidas en el directorio ‘/var/news’. Ejemplo: $ news -n * item4 item3 item2 item1 $ news -s
  • 45. JDCM UNIX SVR4 - NB 40 4 new items $ news item3 ---------------------- ------ ------ ---- ----- ---- ------- -- --- ---- ------ -- -------- ---- ------- -------- ---- --. 06. Comando ‘mesg’ Propósito: Permitir o negar el ingreso de mensajes. Sintaxis: /bin/mesg [-n] [-y] Opciones: • n Previene que los usuarios le envíen mensajes. • y Permite que se le envíen mensajes. Consideraciones:  No bloquea los mensajes enviados por el super-usuario mediante el comando ‘wall’.  Solamente bloquea los usuarios ordinarios (incluso utilizando ‘wall’).  El comando sin opciones reporta el estado actual sin modificarlo. Ejemplo: $ mesg-n 07. Comando ‘who’ Propósito: Determinar quién ha ingresado al sistema. Sintaxis: /usr/bin/who [-uqH] /usr/bin/who am i Opciones: • u Información completa de usuarios activos en el sistema. • q Número de usuarios activos (y sus nombres). • H Precede la salida con una cabecera. • s Muestra sólo el nombre, terminal/línea usado(a), tiempo. Es la salida por defecto. Consideraciones:  La información mostrada por este comando se obtiene del archivo ‘/etc/utmp’ en el momento de accesar al sistema.  Usualmente se obtiene la información requerida a partir del archivo ‘/etc/wtmp’ el cual contiene una historia de todos los ingresos al sistema desde que este archivo fué creado.  El formato general de salida es: nombre línea tiempo libre PID coment donde: • nombre Es el nombre del login del usuario. • línea Nombre de la línea conforme se encuentra en el directorio ‘/dev’. • tiempo Hora en que el usuario ingresó al sistema. • libre Horas y minutos desde la última actividad de esa línea en particular. Un punto ( . ) indica que ha habido actividad en el terminal en el último minuto. Una línea sin actividad por más de 24 horas es marcada como ‘old’.
  • 46. JDCM UNIX SVR4 - NB 41 • PID Identificación del proceso del shell del usuario. • coment Comentario asociado con esta línea tal y como se encuentra en el archivo de configuración ‘/etc/inittab’. Ejemplo: $ who -Hu NAME LINE TIME IDLE PID COMMENT user1 tty04 Jan 26 13:11 . 8875 usert8 tty101 Jan 26 10:48 . 123 08. Comando ‘finger’ Propósito: Muestra información sobre usuarios logeados, remotos y locales. Sintaxis: /bin/finger [-fqlb] Opciones: • f Suprime la línea e cabecera. • q Muestra sólo el nombre, terminal, y tiempo de ingreso al sistema. • l Muestra la salida en forma detallada. • b Suprime el directorio base y el shell de la presentación. Consideraciones:  Incluye información de usuario como el nombre de login, su descripción (tomada del archivo ‘/etc/passwd’), nombre de terminal, tiempo sin uso, hora en que ingresó al sistema, y ubicación (si es conocida).  Un ‘ * ‘ al inicio del nombre de terminal indica que no permite recibir mensajes. Ejemplo: $finger Login Name TTY Idle When Where wjnr Bill Radognmia *console 1.17 Thu 08:10 root 0000-Admin *term/15 1 Thu 08:11 italy root 0000-Admin term/10 20 Fri 10:19 $ finger -f wjnr Bill Radognmia *console 1.17 Thu 08:10 root 0000-Admin *term/15 1 Thu 08:11 italy root 0000-Admin term/10 20 Fri 10:19 $ finger -q Login TTY When wjnr *console Thu 08:10 root *term/15 Thu 08:11 root term/10 Fri 10:19 $ finger -l Login name: userb (messages off) In real life: bourne shell Directory: /home/userb Shell: /sbin/sh On since Oct 8 08:47:08 on term/18 09. Comando ‘write’ Propósito: Escribir a otro usuario, enviar mensajes. Sintaxis: /bin/write usuario [línea]
  • 47. JDCM UNIX SVR4 - NB 42 Opciones: • usuario Usuario logeado en el sistema. • línea Se utiliza para indicar a qué terminal se desea escribir (asumiendo que un usuario está logeado más de una vez en el sistema i.e., está utilizando varios terminales). Consideraciones:  El comando ‘ write ‘ copia las líneas que digita en su terminal en el de otro usuario.  Cuando se invoca por primera vez, envía el mensaje: Message from usuario (tty?) [date] .. a la persona con la que se desea comunicar.  En este punto, se permite responder al que recibe el mensaje.  La comunicación continúa hasta que se envíe una interrupción.  Si se envía un mensaje a un usuario logeado más de una vez y sin la opción ‘ línea ‘, aparece el siguiente mensaje: User is logged on more than one place. You are connected to “terminal”. Other locations are: terminal  El primer “terminal” del mensaje anterior se refiere al terminal en que primero ingresó el usuario con el que se desea contactar.  Conversaciones bidireccionales: Se debe tener alguna forma de indicar al otro lado de la línea cuándo es su turno de comunicarse y cuándo se acaba la conversación. Ejemplo: $ write leo Oye Leopoldo, te invito una rubia. CTRL d $ write leo Oye Leopoldo, ahora?.. o Mensaje de `leo` Acepto, pero la hora?... o A las 3 pm, te parece? o Bien, chau oo EOF CTRL d Mensaje de `pedro` Oye Leopoldo, ahora?.. o $ write pedro Acepto, pero la hora ?... o A las 3 pm te parece? o Bien, chau oo CTRL d $ 10. Comando ‘wall’ Propósito: Escribir a todos los usuarios a la vez. Sintaxis: /etc/wall Opciones: Ninguna Consideraciones:  Este comando lee la entrada estándard hasta que encuentre un fin de archivo y lo toma como el mensaje a enviar.  Envía este mensaje a todos los usuarios actualmente logeados y lo precede por: Broadcast message from: ....
  • 48. JDCM UNIX SVR4 - NB 43 Ejemplo: $ wall Atención.! Debido a fallas en la impresora principal, sírvanse enviar sus trabajos a la impresora secundaria. CTRL d 11. Comando ‘mailx’ Propósito: Herramienta interactiva para el envío o recepción de correo electrónico. Sintaxis: /usr/bin/mailx [-s cabecera] { usuarios } ENVIO /usr/bin/mailx [-f archivo][-HN] RECEPCION Opciones: • s ‘cabecera’ Asigna una “cabecera” al correo. • f ‘archivo’ Lee los mensajes desde un ‘archivo’ alterno. • H Imprime sólo el resumen de cabecera. • N No imprime la cabecera inicial. Consideraciones:  El correo que llega se almacena en un archivo estandard para cada usuario en el directorio ‘/var/mail’.  Cada mensaje que se lee se marca y mueve a un archivo secundario denominado ‘mbox’ en el directorio base.  Al leerse el correo, “mailx” se encuentra en ‘modo comando’.  La cabecera o asunto a tratar no debe sobrepasar los 1024 caracteres.  A cada mensaje se le asigna un número secuencial, y siempre se sabe que existe un mensaje.  Ingrese un mensaje y presione CR al término de cada línea.  Envíe el mensaje presionando CTRL-d o ~ al inicio de una línea y sólo esta secuencia o caracter.  Las letras ‘ N ‘ (nuevo) y ‘ U ‘ (no leído) designan el estado de cada mensaje, seguido de una información descriptiva que muestra el nombre del que envía el mensaje así como la fecha y hora en que se envió, su longitud en líneas y caracteres, y el asunto del mismo. Comandos Internos: • ? Muestra una lista de posibles comandos ‘ ~ ‘. • ~!cmd Ejecuta el comando especificado por cmd. • ~h Requiere: asunto, a, copias. • ~q Termina salvando el mensaje en el archivo ‘dead.letter’ del directorio de trabajo. Es una interrupción (exit). • ~rfile Lee un archivo insertándolo en su mensaje. • d Borra los mensajes del mailbox. • ~x Sale del mailbox sin modificar el mismo i.e., el mensaje no se salva. • ~. Salida estándar: envía el mensaje y termina el comando.
  • 49.
  • 50. JDCM UNIX SVR4 - NB a APENDICES ACCESO A MS-DOS a) Conjunto de Comandos ‘DOS’: • doscat Muestra uno o más archivos en formato DOS. • doscp Copia archivos entre un disco DOS y un filesystem UNIX/XENIX. • dosdir Lista el contenido de un directorio DOS en ese formato. • dosls Lista el contenido de un directorio DOS en formato UNIX/XENIX. • dosrm Remueve archivos de un directorio o disco DOS. b) Consideraciones:  Los argumentos archivo o directorio en formato DOS tienen la forma: dispositivo:nombre donde: • dispositivo Es el nombre completo del dispositivo que posee formato DOS y, • nombre Es el nombre completo de un archivo o directorio en el dispositivo DOS.  Se usan slashes ( / ) y no backslashes ( ) para la separación de archivos y directorios.  Cuando se copia un archivo a DOS, se trunca el nombre del primero a la longitud estandard del DOS: 8 caracteres. Las extensiones siguen el mismo patrón: más de tres, se truncan. Los caracteres extraños también se remueven. No se pueden utilizar metacaracteres para referenciar directorios DOS.  Por conveniencia, existe un archivo que puede ser configurado por el usuario: /usr/default/msdos en el cual se definen los nombres de dispositivos DOS asociados con los nombres de dispositivos: A=/dev/fd0 C=/dev/hd0d de esta manera, en lugar de especificar el nombre de dispositivo /dev/fd0, utilizamos simplemente la letra “A”. Ejemplo: $ doscat /dev/fd0:/docs/memo.txt $ doscat /tmp/f1 /tmp/f2 /dev/fd0:/src/file.asm $ dosdir /dev/fd0:/src $ doscp /tmp/myfile.txt /dev/fd0:/docs/memo.txt $ dosls /dev/fd0:/src $ dosrm /dev/fd0:/docs/memo.txt $ dosdir A:/src A:/dev $ dosrm a:/docs/memo1.txt BIBLIOGRAFIA UNIX Networking Stephen Kochan Patrick Wood Hayden Books UNIX System Library UNIX System Administration David Fiedler Bruce Hunter Hayden Books UNIX System Library UNIX Shell Programming Stephen Kochan Patrick Wood Hayden Books UNIX System Library Tricks of the UNIX Masters Russell Sage The Waite Group SAMS System V Operating System User’s Guide, ATT