MANUAL DE PRACTICAS DE TALLER DE UNIX (1) (1).pdf

Document Details

Uploaded by Deleted User

Universidad Autónoma de Baja California

Tags

UNIX operating systems computer science

Full Transcript

TALLER DE SISTEMA OPERATIVO UNIX UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA FACULTAD DE CIENCIAS QUÍMICAS E INGENIERÍA MANUAL DE PRACTICAS TALLER DE SISTEMA OPERATIVO UNIX EL...

TALLER DE SISTEMA OPERATIVO UNIX UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA FACULTAD DE CIENCIAS QUÍMICAS E INGENIERÍA MANUAL DE PRACTICAS TALLER DE SISTEMA OPERATIVO UNIX ELABORADO POR M.C FELICITAS PEREZ ORNELAS M.I ALMA LETICIA PALACIOS GUERRERO 1 TALLER DE SISTEMA OPERATIVO UNIX PRÁCTICA 1. INTRODUCCIÓN AL SISTEMA OPERATIVO UNIX Sistema Operativo Un sistema operativo es software que supervisa la forma en que se pueden usar los recursos de una computadora. En algunas computadoras el sistema operativo es un solo programa y en otras es un conjunto de programas que interactúan entre sí de diversas formas. Funciones de un Sistema Operativo  Provee la interfaz entre el usuario y la máquina.  Llevar cuenta de fecha y hora. El hardware tiene un reloj integrado pero el sistema operativo lo lee y actualiza.  Ejecución de la mayoría de las operaciones de entrada/salida y organización del disco.  Provee acceso a los dispositivos de entrada/salida.  Protección de archivos y datos.  Permite a los usuarios compartir datos.  Proporcionar herramientas.  Proporciona mecanismos para la recuperación de errores  Coordinar la secuencia de eventos.  Asigna a los usuarios una parte justa de los recursos de la computadora entre los que se encuentran memoria, espacio de disco, tiempo de procesamiento, etc. Para realizar sus funciones un sistema operativo está organizado en módulos. Estos son:  Manejo de Memoria.  Manejo de E/S.  Manejo del Sistema de Archivos.  Manejo de procesos. Unix Unix fue uno de los primeros sistemas operativos escritos en un lenguaje de programación de alto nivel, fue desarrollado en los laboratorios Bell, a finales de los 60’s. Es un sistema multiusuario, multitarea y multiproceso. Fue diseñado para ser un sistema pequeño y flexible usado exclusivamente por programadores. Historia de Unix UNIX fue desarrollado originalmente por los laboratorios BELL de AT&T en 1969. Las regulaciones federales que existían en esa época le prohibieron entrar a la industria computacional y generar utilidades con las ventas de UNIX. Por esta razón AT&T distribuyó el sistema a un bajo costo entre colegas y universidades. Pronto se popularizó entre científicos y académicos. También se otorgaron licencias a otras compañías quienes desarrollaron sus propias versiones para utilización comercial. En 1980 AT&T tuvo libertad de comercializar Unix y a partir de entonces ha penetrado fuertemente en el mundo de los negocios. Características de Unix Multiusuario: Varias personas tienen acceso al sistema al mismo tiempo, compartiendo recursos, pero manteniendo algunos recursos como personales, por ejemplo archivos y directorios. Multitarea: El procesador para ejecutar múltiples tareas al mismo tiempo. El procesador es un dispositivo mucho más rápido que muchos dispositivos conectados a la computadora, el sistema 2 TALLER DE SISTEMA OPERATIVO UNIX operativo trata de mantener ocupado al procesador tanto como sea posible, haciendo un poco de trabajo para un usuario y luego para otro. Multiproceso: Unix tiene la posibilidad de trabajar con dos o más procesadores conectados. Los sistemas con multiproceso pueden ejecutar instrucciones del mismo o de diferente programa al mismo tiempo. Estructura de UNIX Kernel: Es el núcleo del sistema operativo. Es el conjunto de software que proporciona las capacidades básicas del sistema operativo. Sus funciones son:  Manejar la memoria de la computadora  Controlar el acceso a la computadora  Mantener el sistema de archivos  Manejar interrupciones ( señal para terminar ejecución)  Manejar errores  Realizar servicios de entrada y salida  Asignar los recursos de la computadora Shell: El shell es un programa que ejecuta otros programas. Se dice que “habla” con el usuario a nombre del sistema operativo. El shell lee la línea de comando que el usuario teclea, determina lo que significa e indica al kernel la ejecución de esos comandos.  En algunos shells existen características que se pueden usar para reducir la escritura de nombres de archivos, comandos o rutas.  Otros shells permiten asignar nombre cortos a los comandos.  Los shells pueden llevar un registro de todos los comandos que se han usado recientemente, para que se les puede editar o reejecutar.  Los shells permiten la ejecución de un conjunto de comandos contenidos en un archivo. Algunos sistemas operativos solo reconocen un shell, pero Unix tiene la capacidad de usar un shell creado o adquirido en vez del estándar. Entre los shells más conocidos están:  Korn Shell, interfase escrita por David Korn.  Bourne Shell; viene incluido en UNIX que distribuye AT&T. La versión original de este shell fue desarrollada por Stephen Bourne en los Laboratorios Bell.  C Shell, desarrollado en la Universidad de Berkeley por Bill Joy. Fue diseñado pensando en que los usuarios serían programadores de C.  Bourne-Again Shell: bash 3 TALLER DE SISTEMA OPERATIVO UNIX Al encender el servidor, el programa init se encarga de la inicialización de la máquina, creando la estructura que soporta los procesos multiusuario. Por cada puerto de terminal activo se inicia la ejecución de un programa getty que se encarga de establecer la velocidad de comunicación, tipos de terminal y modo. Luego, este mismo programa obtiene la cadena login que aparece en el terminal invitando al usuario a conectarse. Una vez que el usuario introduce su nombre, getty llama al programa login enviándole el nombre de usuario como parámetro. El programa login se ocupa de comprobar si el nombre de usuario es válido y si el password es coincide. Si todo está correcto, llama al programa sh (shell) que se encarga a su vez de ejecutar los comandos que se encuentran en el archivo.profile en el directorio HOME de cada usuario. Finalmente aparece en pantalla el símbolo del shell ($). A partir de aquí, el shell se queda esperando a que se introduzcan comandos. Cuando el usuario introduce un comando, el shell analiza la línea, verifica la sintaxis y lo ejecuta. El ciclo se repite hasta que el usuario se desconecta. Entonces, el programa sh termina su ejecución e init recobra el control iniciando una nueva ejecución de getty para la terminal. Conceptos Básicos Cuentas de usuario. Para ingresar al sistema, organizar y registrar las actividades de cada usuario, el sistema operativo proporciona y utiliza una cuenta por usuario. La cuenta de usuario contiene la siguiente información: Login Name. Este es el nombre con el usuario será identificado en el sistema. Password: Para mantener la seguridad del sistema, cada usuario debe tener una contraseña. Esta contraseña se introduce después del nombre de acceso, al intentar ingresar al sistema. Group Identification. Cada usuario en el sistema es conocido individualmente y como miembro de un grupo. La pertenencia a un grupo es importante por razones de seguridad. Como miembro de un grupo, se permite el acceso a archivos y directorios a los que no se podría acceder en forma individual. Home Directory. Este es el lugar en el sistema de archivos (Filesystem) donde se mantienen los archivos personales de cada cuenta de usuario. Al atarse al sistema, cada usuario es direccionado a su directorio de casa. Super Usuario. Además de tener cuentas de usuario individuales, cada sistema UNIX tiene una cuenta de "superusuario", conocido también como "root". Para la realización de tareas de administración del sistema, el administrador del sistema debe accesar al mismo como superusuario. El superusuario puede leer y editar cualquier archivo en el sistema, así como ejecutar cualquier programa. Actividades: 1. Abrir una sesión de trabajo en el servidor Sun205. La dirección es 148.231.130.230 2. Introduzca su login. (al seguido de los últimos 6 dígitos de su matrícula) 3. Introducir password. Por ser la primera vez se pedira que escriba el password dos veces. El password debe apegarse a las siguientes reglas.  Longitud de al menos seis caracteres  Al menos un caracter debe ser en mayúscula o no alfabético  El password nuevo debe ser diferente al password  No podrá ser igual al nombre del usuario 4. Terminar sesión. 4 TALLER DE SISTEMA OPERATIVO UNIX PRÁCTICA 2 SISTEMA DE ARCHIVOS En UNIX todos los programas, datos, directorios y dispositivos son archivos. Un archivo es una sucesión de bytes. El sistema de archivos de UNIX está organizado en una jerarquía de directorios que tiene una forma arborescente.  Jerárquico: El sistema de archivos es un árbol de directorios.  Virtual: Los archivos representan objetos como unidades de disco, impresoras, etc u objetos lógicos como procesos, enlaces con otras partes del sistema de archivos.  Cada archivo en el directorio se representa internamente por un i-nodo. Un i-nodo es una estructura de datos que contiene la siguiente información: fecha de modificación, dueño, tamaño y permisos. El sistema de archivos tiene una serie de directorios estándar: / Directorio raíz /bin Comandos básicos de usuario /sbin Comandos básicos de superusuario /usr Aplicaciones e información sobre el sistema /usr/bin Comandos de usuario /usr/local Información y comandos instalados específicamente en la máquina /usr/lib Librerías de aplicaciones /usr/doc Documentación sobre aplicaciones /usr/man Páginas de manual /lib Librerías del sistema /etc Archivos de configuración del sistema /dev Archivos de dispositivos del sistema /var Archivos de trabajo del sistema Información sobre operaciones del sistema: accesos, mensajes, avisos de /var/log seguridad, etc, /var/spool Archivos de colas de impresora, correo, etc. /tmp Archivos temporales del sistema o de usuarios /proc Representación de procesos /home Directorios de usuarios 5 TALLER DE SISTEMA OPERATIVO UNIX El árbol de directorios de Unix puede representarse como un árbol invertido: Raiz / bin sbin usr lib etc dev var tmp proc export bin loc lib doc man log spool home fuente.txt maestro al30224 al28283 fuente.txt fuente.txt En Unix, a la parte superior del árbol de directorios se le conoce como raíz. Directorio padre. Cuando un directorio contiene a otros directorios o archivos se dice que es su directorio padre. Por ejemplo en la figura observamos que el directorio export es padre del directorio home y este a su vez, es padre de al30224 y al28283. Directorio actual. El directorio actual es el punto del árbol de directorios se este trabajando. Al entrar al sistema el usuario siempre se encontrará en su home directory.. Un punto representa al directorio actual... Dos puntos representan al directorio padre del directorio actual. / La diagonal representa a la raíz. Rutas Absoluta y Relativa Una ruta es el camino a seguir en el árbol de directorios para localizar un archivo o un directorio. Las rutas pueden ser absolutas o relativas. Ruta Absoluta. Cuando la secuencia de directorios se escribe empezando con / (root), entonces la búsqueda del archivo o directorio será desde la raíz del árbol de directorios. Las rutas absolutas son un mapa de localización de archivos y son únicas en el sistema. La siguiente línea es un ejemplo de ruta absoluta. /export/home/maestro/fuente.txt 6 TALLER DE SISTEMA OPERATIVO UNIX Ruta Relativa. Se le llama ruta relativa porque depende del directorio de trabajo actual. La secuencia toma como punto de partida el directorio actual../fuente.txt../home/maestro/fuente.txt./log/fuente.txt Comandos básicos para el manejo de directorios en UNIX Comando en UNIX Comando en DOS Función ls dir Muestra el contenido del directorio mkdir md Crear un directorio nuevo rmdir rd Borrar un directorio existente pwd No existe Directorio actual de trabajo mv ren Renombra un directorio cd cd Cambio de directorio uname Muestra información sobre el sistema UNIX instalado en el servidor. Formas de uso de los comandos pwd pwd  Muestra el directorio de trabajo actual. Al ejecutar la línea: $pwd La salida que se observa es: \export\home\maestro Se recomienda que consulte el directorio de trabajo antes de realizar cualquier operación. cd cambia al directorio que se indique (si es que existe) cd.. Regresa al directorio padre. cd  Cambia el directorio de trabajo al directorio especificado. cd  Cambia al home directory del usuario. ejemplo: $cd al30224 ls Muestra el contenido del directorio actual. ls -F  Muestra el contenido del directorio actual anteponiendo un símbolo al nombre cada archivo, para indicar el tipo de archivo es. Una / indica directorio y un * archivo ejecutable. ls -R  Lista el directorio de trabajo así como también todos los subdirectorios. ls -l  Listado con detalles en orden alfabético. 7 TALLER DE SISTEMA OPERATIVO UNIX ls -a  Muestra los archivos ocultos. ls -r  Muestra el contenido de un directorio en sentido inverso. $ls –l Las opciones del comando se pueden combinar, el ejemplo siguiente muestra todos los detalles de los archivos incluyendo los archivos ocultos. $ls –la mkdir Crear directorios mkdir  Crea un nuevo directorio en el directorio actual. $mkdir tareas mv El comando mv tiene dos aplicaciones renombrar un directorio o moverlo hacia otra parte. mv  Renombra el directorio con el nombre nuevo. ejemplo: $mv agenda2002 agenda2003 mv  Mueve un directorio a otra parte del árbol de directorios. Por ejemplo: $mv tareas./taller/ En la línea anterior se usa una ruta relativa, el comando mueve el archivo tarea.doc del directorio actual al directorio taller que se supone está dentro del directorio actual. $mv tareas /bin/ con una ruta absoluta, mueve el directorio tarea del directorio actual al directorio bin que está en la raiz rmdir Borra un directorio rmdir  Borra el directorio especificado, siempre y cuando esté vacío. $rmdir tareas 8 TALLER DE SISTEMA OPERATIVO UNIX Actividades: 1. Despliegue el nombre del directorio de trabajo actual. 2. Lista en forma de columnas (sin detalles) el contenido del directorio padre de su home directory. 3. Lista en orden alfabético inverso todos los archivos (incluyendo los ocultos) de su home directory. 4. Lista en orden alfabético el contenido de su home directory mostrando información detallada. ¿En qué consiste esa información? ¿Qué significa el primer caracter que se muestra en la lista? 5. Desarrolle la estructura de directorios que se indique en el pizarrón. 6. Verifique que la estructura haya sido creada correctamente. 7. Borre el último nivel del árbol de directorios. 8. Lista el contenido de su directorio, mostrando de forma simbólica el tipo de archivos que contiene. 9. ¿Para qué sirve el comando whoami? 10. ¿Qué información nos proporciona uname? 11. Dentro de un directorio llamado alumnos, cree un directorio para cada alumno del salón, asignándole como nombre el user name de cada persona (verifique la lista de usuarios mediante el comando who). 12. Renombre todos los directorios del directorio alumnos con los nombre reales de sus compañeros. 13. Liste los directorios en forma alfabética. Quién es el dueño de los directorios creados?, ¿Cúal es la fecha de creación? 14. Borre en un solo paso la estructura anterior. Auxiliese del manual de ayuda. 9 TALLER DE SISTEMA OPERATIVO UNIX PRÁCTICA 3. ADMINISTRACIÓN DE ARCHIVOS Un archivo: Es una colección de bytes. Constituye la unidad fundamental de un sistema de archivos en Unix. Cada archivo tiene los siguientes atributos:  Un nombre de archivo. No necesariamente único en el sistema, pero si en el directorio.  Un número de filesystem único, conocido como i-node.  Un tamaño en bytes.  La hora de última modificación.  Un juego de permisos de acceso.  Un dueño.  Un grupo. Tipos de Archivo en Unix Existen tres diferentes tipos de archivos en Unix: Archivos ordinarios, archivos de dispositivo y archivos de directorio. Archivos ordinarios. Generalmente son documentos, códigos fuente de programas, o datos de programas. Los archivos binarios ejecutables (programas) se consideran también archivos ordinarios. Los bytes de un archivo ordinario se interpretan como caracteres texto, instrucciones binarias, o claúsulas de programas, por los programas que los examinan. Archivos de Dispositivos. Cada dispositivo físico en el sistema, tales como un disco duro, disco flexible, impresores, terminales y el sistema de memoria tienen asignados un archivo especial. Estos archivos son llamados archivos de dispositivos. Archivos de Directorios. Los archivos de directorios son los lugares donde los archivos son almacenados (conceptualmente, no físicamente). Un archivo de directorio es referido como un “directorio” y contiene los nombres y la localización de los archivos “que están en el”. Nombres de archivos Un nombre de archivo es una secuencia de caracteres consistente de letras, dígitos y caracteres especiales. Los nombres de archivo deben indicar el contenido de los mismos. Estos nombres deben ser únicos en el directorio y pueden repetirse en todo el sistema. Directorios diferentes pueden contener diferentes archivos con el mismo nombre. Cuando un nombre de archivo contiene un punto al inicio (.), es un archivo “oculto.” Los archivos de configuración del sistema por lo general son archivos ocultos. Los caracteres como ?,*,[,], y guión nunca deben usarse para nombrar archivos porque tienen un significado especial para el shell. Comodines Un comodin es un caracter que el shell usa para representar uno o mas caracteres del nombre de uno o mas archivos. Unix emplea los siguientes comodines: * , ? , [ ] * Equivale a cualquier conjunto de caracteres de nombre de archivo. ? Coincide con un solo carácter cualquiera de nombre de archivo [ ] Coincide con una clase de posibles caracteres de nombre de archivo. 10 TALLER DE SISTEMA OPERATIVO UNIX Comandos para el manejo y administración de archivos Comando Función cat Despliega el contenido de un archivo, Crea un archivo. more Muestra el contenido de un archivo haciendo pausas. touch Cambia la fecha y hora de creación, modificación o última lectura de un archivo. mv Renombra un directorio. cp Copiar archivos. wc Muestra cuántas palabras, caracteres y líneas que tiene un archivo. tail Muestra las últimas n líneas de un archivo. head Muestra las primeras n líneas de un archivo. chmod Permite cambiar los permisos de un archivo. Formas de uso de los comandos cat cat  Lista el contenido de un archivo, no hace pausas. cat -n  Muestra el contenido del archivo, numerando cada línea. $cat lista.txt $cat –n lista.txt more more  Muestra el contenido de n archivos texto. more [+líneas] [-inicio]  Muestra n líneas de un archivo a partir de la línea de inicio. Teclas de control dentro de more Barra espaciadora avanzar una página. Enter avanzar una línea. n avanzar al siguiente archivo q salir de more touch touch [-t MMDDhhmm]  Cambia la fecha y hora del archivo. Donde MM=dias DD=días hh=horas mm=minutos. $touch -t 01011212 carta.txt mv Renombre o cambia de directorio un archivo mv  Renombrar archivo. mv  Mueve los archivos al directorio destino. Si agrega la opción –i pregunta antes de sobreescribir el archivo. $mv –i tarea nuevo 11 TALLER DE SISTEMA OPERATIVO UNIX cp cp  Copia el archivo fuente al archivo destino cp  Copia los archivos al directorio destino. Si agrega la opción –i pregunta antes de sobreescribir el archivo. Ejemplo: $cp –i pract1./tareas/unix/  tail Muestra las últimas líneas de un archivo, por omisión se muestran las últimas 10. tail  Muestra las últimas 10 líneas del archivo. tail -n  Muestra las n últimas líneas del archivo. $tail –7 pract1  head Muestra las primeras líneas de un archivo, por omisión se muestran las primeras 10. head  Muestra las primeras 10 líneas del archivo. head -n  Muestra las n primeras líneas del archivo. $head –15 pract1  wc Cuenta las palabras, líneas y caracteres que tiene el archivo. wc  Muestra cuantos caracteres, líneas y palabras tiene el archivo. wc -c  Muestra el total de caracteres que tiene el archivo. wc -w  Muestra el total de palabras que tiene el archivo. wc -l  Muestra el total de líneas que tiene el archivo. $wc –wl pract1  Permisos de archivos y directorios. UNIX permite al dueño de un archivo o directorio restringir el acceso a ellos. Los permisos en un archivo limitan la lectura, escritura y/o ejecución, mientras que para un directorio limitan a quien pudiera cambiarse a ese directorio, listar su contenido asi como crear y borrar archivos dentro del mismo. drwx r-x r-x 2 maestro staff 512 Mar 3 15:31 ejemplos Permisos para dueño Permisos para grupo Permisos para otros usuarios. De izquierda a derecha, los caracteres se interpretan como 3 juegos de permisos. Cada uno establece los siguientes permisos: Para los archivos ordinarios, los permisos tienen el siguiente significado: r El archivo puede leerse. w El archivo puede editarse x El archivo puede ejecutarse. - El permiso no esta otorgado o nulo. 12 TALLER DE SISTEMA OPERATIVO UNIX Para los directorios, los permisos tienen el siguiente significado: r Los archivos pueden listarse, el directorio además requiere el permiso de ejecución “x”. w Pueden crearse o borrarse archivos en el directorio. x Puede buscarse en el directorio. - El permiso no esta otorgado o nulo. Cambio de los permisos de archivos. El comando chmod cambia los permisos de lectura, escritura y ejecución y busca permisos en un archivo o directorio. La sintaxis es la siguiente: chmod  Hay dos métodos para usar el comando chmod, uno de ellos se vale de números y se llama método absoluto; el otro utiliza símbolos y recibe el nombre de método simbólico. Método Absoluto. Este método, también conocido como numérico, usa un número octal de tres dígitos para almacenar los permisos. Permiso Símbolo Valor octal Lectura r 4 Escritura w 2 Ejecución x 1 Para encontrar los dígitos octales que necesita para especificar los permisos para una cierta categoría (usuario, grupo u otros), basta con sumar los números que estén asociados con los permisos que desee activar. Por ejemplo: Suponga que se desea modificar los permisos del archivo pract1 de la siguiente forma: activar todos los permisos para el usuario, solo lectura y ejecución para el grupo y ninguno para otros usuarios. La asignación de permisos sería: Dueño Grupo Otros r w x r w x r w x          4 2 1 4 0 1 0 0 0 7 5 0 El comando chmod para otorgar estos permisos se escribiría: $chmod 750 pract1 Método simbólico. Utiliza símbolos para establecer categorías y permisos Los usuarios se especifican como sigue: u Usuario, el dueño de un archivo o directorio. g Grupo, el grupo de usuarios al cual el dueño del archivo pertenece. o Otros, todos los usuarios del sistema que no están en u o g. a Todos los usuarios del sistema. Ejemplos de cambio de permisos: chmod u+x historia Otorga el permiso de ejecución al dueño del archivo. chmod go+x tareas Otorga al grupo y a otros usuarios el permiso de ejecución sobre el archivo. chmod o-w alumnos Prohibe a otros usuarios la escritura en el archivo. chmod o+r-wx uno Otorga permiso de lectura para otros usuarios. Suprimen los permisos de escritura y de ejecución.. 13 TALLER DE SISTEMA OPERATIVO UNIX Actividades: 1. Copie el archivo primero que está dentro de maestro/poesia a su home directory. 2. Copie el archivo segundo (está en el mismo directorio) home directory. 3. Copie el archivo intermedio de maestro/poesia home directory. 4. Verifique el contenido de los tres archivos. 5. Borre los tres archivos copiados en los pasos 2, 3 y 4. 6. Copie los tres archivos (primero,segundo e intermedio) utilizando una sola instrucción. 7. Muestre en pantalla el contenido de segundo e intermedio usando una sola línea. 8. Muestre en pantalla el contenido de Enpaz.txt, numerando cada línea. 9. Copie el archivo SuavePatria.txt de maestro/poesia a su directorio. 10. Muestre en pantalla el contenido del archivo amorosos.txt en el monitor. 11. Vuelva a mostrar el archivo amorosos.txt, pero por páginas. 12. Muestre las últimas diez líneas de este archivo 13. El archivo SuavePatria.txt ahora se llamara patria. 14. Muestre las últimas ocho líneas del archivo amorosos.txt. 15. ¿Cuántas palabras en total contiene el archivo amorosos.txt ? 16. ¿Cuántos caracteres en total contiene el archivo Enpaz.txt ? 17. Mostrar los permisos de todos los directorios que están en el directorio home. Observe cómo están los permisos para grupo y otros usuarios. 18. Otorgue permiso a su grupo para leer y escribir en su directorio. 19. Seleccione a uno sus compañeros, escriba un archivo en su directorio, llamado películas (use el comando cat). Escriba un párrafo sobre la última película que haya visto en el cine, puede ser una sinopsis o su opinión personal. 20. Otorgar permiso de lectura al grupo para este archivo. 21. Copia la historia de tres de tus compañeros a un directorio llamado sinopsis. 22. Restringir los permisos de lectura y escritura de tu directorio al grupo. 14

Use Quizgecko on...
Browser
Browser