Vous êtes sur la page 1sur 22

1 - Introduccin a UNIX

Programacin II

Ing. Diego J. Arcusin info@digikol.com.ar

Qu es Unix? En sentido estricto, es el ncleo (Kernel) de un sistema


operativo. En un sentido amplio abarca tambin programas esenciales como compiladores, editores, shells, programas para administracin de archivos, etc. En un sentido ms amplio, puede incluir programas

desarrollados por los propios usuarios,

Caractersticas del Unix


Sistema de Cdigo Abierto Desarrollado en su mayor parte en un lenguaje de alto nivel (Lenguaje C) Sistema Operativo de Tiempo Compartido

Historia del Unix


Primera a Sexta Edicin AT&T System V -> SCO Unix Berkley Software Distributions (BSD) -> FreeBSD y NetBSD

Linux
Variantes del UNIX

Arquitectura de Software de UNIX


Interfaz del Usuario de Aplicaciones Interfaz del Programador de Aplicaciones Sistema Operativo

Aplicaciones: Editores, Navegadores, ftp, telnet, compiladores Shell de UNIX Bibliotecas de lenguajes: C, C++, Java, Fortran,etc. Interfaz de llamadas al sistema Ncleo (Kernel)
Administracin de Archivos, Administracin del Almacenamiento, Administracin de Procesos, etc.

Controladores (Drivers) Hardware: Cables, Transistores, CPU, Memoria, Disco, etc.

Inicio de Sesin
Autenticacin en UNIX
Login Contrasea

El Prompt (Smbolo de Espera)


Por lo general un smbolo $ o %

Tecleo de Comandos

El Manual
man [nombre de comando] Ejemplos:
man who man date

Intente: man man

Algunos Comandos
date (fecha y hora) who (Quin est logueado) who am i echo (Imprime en la terminal el argumento recibido)

cat (muestra el contenido de un archivo)


more (pagina el contenido de un archivo)

Ms Comandos
ls (lista de nombres de archivo) mv (Movimiento y Renombre de archivos) cp (Copiado de Archivos) rm (eliminacin de archivos)

wc (Cuenta lneas, palabras y caracteres)


grep (Bsqueda de textos dentro archivos) sort (Ordenamiento de archivos) tail (despliega las ltimas 10 lneas de un archivo)

El Editor
Unix cuenta con varios editores. Entre ellos:
ed
Editor muy elemental. Utilizado en versiones anteriores.

vi
Potente editor de textos de una enorme flexibilidad.

Otros editores:
pico emacs Editores grficos

Directorios
Directorios Home Directory
Directorio Personal, de origen o de login Es el directorio al cul se accede al iniciar la sesin

Directorio de Trabajo
Directorio actual
Puede ser diferente al Home Directory Por defecto, los archivos se crean en el directorio de trabajo.

Un directorio puede contener archivos u otro directorios


A sta organizacin se la denomina Arbol de directorios

Directorios (cont)
Es posible desplazarse a cualquier directorio del rbol de directorios. Comandos:
pwd (Print Working Directory) indica el directorio actual cd (Change Directory) cambio de directorio

mkdir (Make Directory) Crear directorio


rmdir (Remove Directory) Eliminar directorio

pathname (Trayectoria) de un archivo


Representa el nombre completo de una ruta desde la raiz hasta un archivo, a travs del rbol completo de directorios.

Arbol de Directorios
/ bin dev etc usr tmp unix boot

ls
pendientes.txt

carlos
fuente.c

martin

andrea

foto.jpg pendientes.txt

El Shell
Intrprete de comandos. Es el Intermediario entre el usuario y el Kernel. Es un programa como cualquier otro aunque con muchas funcionalidades. Las ms importantes:
Administra abreviaturas de nombres de archivos. Posibilita el redireccionamiento de la entrada-salida Permite la personalizacin del entorno

Existen varios Shells disponibles:


Sh, ksh, csh, rsh, etc.

Procesos
Identificador de proceso (Process ID) Estructura jerrquica de los procesos Parent Process ID (PPID) El smbolo & (Procesos en Foreground y Background) Comandos tiles
ps (Listado de Procesos) wait (Espera la finalizacin del proceso para devolver el prompt) kill (Mata ,o enva seales, a un proceso)

nohup (mantiene el proceso en ejecucin al cerrar la sesin)


nice (cambia la prioridad de los procesos) at (Programa comando para comenzar su ejecucin a cierta hora)

El Entorno
El UNIX permite la personalizacin del Ambiente de Trabajo stty (Comando para la configuracin de teclas especiales) El archivo .profile
Archivo ejecutado por el shell al iniciar la sesin del usuario Util para configurar automticamente el entorno al inicio de la sesin

El .profile debe encontrarse en el Home Directory del usuario


Permite la ejecucin automtica de cualquier comando Permite la configuracin de variables del SHELL. Algunas de ellas:
PS1 = (Cadena que muestra el intrprete de comandos) PATH (Directorio de bsqueda de comandos) TERM (Tipo de terminal utilizada) Variables personales (Por ejemplo: d=/directorio/horriblemente/largo)

Preguntas

Ejercicios
1. 1. Cules son las diferencias entre los siguientes comandos? $ ls pendientes.txt $ echo pendientes.txt $ ls / $ echo / $ ls $ echo $ ls * $ echo * $ ls * $ echo * 1. 2. Cul era la rama acadmica de UNIX?Cul la rama comercial? 1. 3.Qu es una llamada al sistema? 1. 4.Qu es el Kernel?Qu diferencia hay entre Kernel y Shell? 1. 5. Qu datos son necesarios para iniciar una sesin? 1.6. Qu comando utilizara para listar los archivos de un directorio?

Ejercicios (cont)
1.7. Cmo averiguara cuntos usuarios hay conectados en un momento dado en su sistema?

1.8. Cmo se cierra una sesin de Shell


1.9. Para que sirve la variable PATH. 1.10 Para que sirve el .profile? En que directorio debe encontrarse? 1.11 Escriba un comando para ver los archivos lab1, lab2, lab3 y lab4. Podra escribir otros dos comandos que hagan lo mismo? 1.12 Escriba un comando que muestre los datos del mayor usuario (alfabticamente hablando) que se encuentra logueado en este momento.

Ejercicios (cont)
1.13. Utilice el comando ls para listar recursivamente todo los directorios y archivos debajo de /etc

1.14. Utilice el comando ls para listar los archivos invisibles en su Home Directory
1.15. Crear una archivo llamado himno1 con la primer lnea del himno nacional, repetir para los archivos himno2 e himno3
Crear un nico archivo llamado himno con las 3 lneas del himno Ordene las lneas alfabticamente (Intente hacerlo sin utilizar el archivo himno) Indique cuntos caracteres tiene su versin del himno.

1.16. Investigue el comando touch Para que sirve? 1.17. Investigue la opcin k del comando man Podra ser de utilidad?

Ejercicios Complementarios
1c.1. Ingrese con su Login y Passwd 1c.2. Liste el contenido de su HOME Directory

1c.3. Cree 3 directorios (Fuentes, Datos, Varios)


1c.4. Cree al menos 5 archivos en cada directorio. Utilice cat, cp, redireccionamientos de salida y el editor vi 1c.5. Cree en Datos un archivo con los usuarios logueados y la fecha del da 1c.6. Liste el contenido de los directorios. Utilice las opciones a l y t) 1c.7. Elimine el directorio varios 1c.8. Cuente las palabras de todos los archivos de datos (Individualmente y el total

general).
1c.9. Indique qu archivos dentro del directorio fuentes contienen la letra q 1c.10. Ordene el archivo /etc/passwd . Investigue las opciones r n nr y F del comando sort.

Ejercicios Complementarios
1c.11. Cree en su directorio una copia del /etc/passwd, edtelo y modifique el contenido en dos lneas diferentes. Investigue los comandos cmp y diff para

compararlos y analice las diferencias.


1c.12. Muestre la primer y ltima fila del /etc/passwd 1c.13. Cmo averiguara qu usuarios usan los shells ksh o csh 1c.14. Liste el contenido del directorio /etc y /bin 1c.15. Investigue los comandos du y find 1c.16. Utilice el comando find para buscar todos los archivos del disco que contengan la cadena passwd . Lance el mismo comando en background

1c.17. Utilice ps . investigue las opciones e y f Para qu sirven?


1c-18 Modifique su .profile para modificar su prompt principal y para incluir un saludo de bienvenida al iniciar la sesin.