Download Presentación de PowerPoint

Document related concepts
Transcript
1 - Introducción a UNIX
Programación II
Ing. Diego J. Arcusin
[email protected]
¿Qué es Unix?
 En sentido estricto, es el núcleo (Kernel) de un sistema
operativo.
 En un sentido amplio abarca también programas
esenciales como compiladores, editores, shells,
programas para administración de archivos, etc.
 En un sentido más amplio, puede incluir programas
desarrollados por los propios usuarios,
Características del Unix
 Sistema de Código 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 Edición
 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
Núcleo (Kernel)
Administración de Archivos,
Administración del Almacenamiento,
Administración de Procesos, etc.
Controladores (Drivers)
Hardware: Cables, Transistores, CPU, Memoria, Disco, etc.
Inicio de Sesión
 Autenticación en UNIX
 Login
 Contraseña
 El Prompt (Símbolo de Espera)
 Por lo general un símbolo $ 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 (Quién 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)
Más Comandos
 ls (lista de nombres de archivo)
 mv (Movimiento y Renombre de archivos)
 cp (Copiado de Archivos)
 rm (eliminación de archivos)
 wc (Cuenta líneas, palabras y caracteres)
 grep (Búsqueda de textos dentro archivos)
 sort (Ordenamiento de archivos)
 tail (despliega las últimas 10 líneas 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 gráficos
Directorios
 Directorios
 Home Directory
 Directorio Personal, de origen o de login
 Es el directorio al cuál se accede al iniciar la sesión
 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 organización 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 través 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
 Intérprete de comandos.
 Es el Intermediario entre el usuario y el Kernel.
 Es un programa como cualquier otro aunque con muchas
funcionalidades. Las más importantes:
 Administra abreviaturas de nombres de archivos.
 Posibilita el redireccionamiento de la entrada-salida
 Permite la personalización del entorno
 Existen varios Shells disponibles:
 Sh, ksh, csh, rsh, etc.
Procesos
 Identificador de proceso (Process ID)
 Estructura jerárquica de los procesos
 Parent Process ID (PPID)
 El símbolo & (Procesos en Foreground y Background)
 Comandos útiles
 ps (Listado de Procesos)
 wait (Espera la finalización del proceso para devolver el prompt)
 kill (Mata ,o envía señales, a un proceso)
 nohup (mantiene el proceso en ejecución al cerrar la sesión)
 nice (cambia la prioridad de los procesos)
 at (Programa comando para comenzar su ejecución a cierta hora)
El Entorno
 El UNIX permite la personalización del Ambiente de Trabajo
 stty (Comando para la configuración de teclas especiales)
 El archivo .profile
 Archivo ejecutado por el shell al iniciar la sesión del usuario
 Util para configurar automáticamente el entorno al inicio de la sesión
 El .profile debe encontrarse en el Home Directory del usuario
 Permite la ejecución automática de cualquier comando
 Permite la configuración de variables del SHELL. Algunas de ellas:
 PS1 = (Cadena que muestra el intérprete de comandos)
 PATH (Directorio de búsqueda de comandos)
 TERM (Tipo de terminal utilizada)
 Variables personales (Por ejemplo: d=/directorio/horriblemente/largo)
Preguntas
Ejercicios
1. 1. ¿Cuáles son las diferencias entre los siguientes comandos?
$ ls pendientes.txt
$ echo pendientes.txt
$ ls /
$ echo /
$ ls
$ echo
$ ls *
$ echo *
$ ls ‘*’
$ echo ‘*’
1. 2. ¿Cuál era la rama académica de UNIX?¿Cuál 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 sesión?
1.6. ¿Qué comando utilizaría para listar los archivos de un directorio?
Ejercicios (cont)
1.7. ¿Cómo averiguaría cuántos usuarios hay conectados en un momento dado en
su sistema?
1.8. Cómo se cierra una sesión 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. ¿Podría
escribir otros dos comandos que hagan lo mismo?
1.12 Escriba un comando que muestre los datos del mayor usuario
(alfabéticamente 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 línea del himno nacional,
repetir para los archivos himno2 e himno3
 Crear un único archivo llamado himno con las 3 líneas del himno
 Ordene las líneas alfabéticamente (Intente hacerlo sin utilizar el archivo himno)
 Indique cuántos caracteres tiene su versión del himno.
1.16. Investigue el comando touch ¿Para que sirve?
1.17. Investigue la opción –k del comando man ¿Podría 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 día
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, edítelo y modifique el
contenido en dos líneas 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. Cómo averiguaría 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 sesión.