Programación II Ing. Diego J. Arcusin [email protected] 1 - Introducción a UNIX.
-
Upload
roberta-salome -
Category
Documents
-
view
222 -
download
0
Transcript of Programación II Ing. Diego J. Arcusin [email protected] 1 - Introducción a UNIX.
¿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
Controladores (Drivers)
Hardware: Cables, Transistores, CPU, Memoria, Disco, etc.
Aplicaciones: Editores, Navegadores, ftp, telnet, compiladores
Bibliotecas de lenguajes: C, C++, Java, Fortran,etc.
Interfaz de llamadas al sistema
Shell de UNIX
Interfaz delUsuario de
Aplicaciones
Interfaz delProgramador de
Aplicaciones
Sistema Operativo
Núcleo (Kernel)Administración de Archivos,
Administración del Almacenamiento,Administración de Procesos, etc.
Inicio de Sesión
Autenticación en UNIXLogin
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.
viPotente 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 carlos martin andrea
pendientes.txt fuente.c 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.