Universidad Tecnológica de Izúcar de Matamoros Tecnologías de la Información y Comunicación área Sistemas Informáticos Sistemas Operativos Multiusuarios Catedrático Sergio Valero Orea e-mail svalero@utim.edu.mx Teléfono 243-4363894 Ext 281 Enero, 2008
Contenido El sistema operativo Linux Comandos básicos Sistema de archivos y su manejo Procesos Introducción al Shell Comandos complementarios El editor VI Comunicaciones Programación del Shell
El sistema operativo Linux Es un sistema operativo gratuito y open source Clon de Unix Kernel + Programas + Librerías + Paquetes Distribuida bajo la GNU Public License Multiplataforma x86, PowerPC, Alpha, Sparc, Mac, etc.
Historia y desarrollo 1991 – Linus Torvalds publica kernel 1992 – núcleo GNU 1993 – se establece el proyecto Debian 1994 – se publica la primera GUI (Xfree86) 1998 – muchas empresas (IBM, Compaq, Oracle, etc) brindan soporte para Linux. KDE 1999 – GNOME 2000 – StarOffice 2004 – se funda Xorg 2005 – OpenOffice 2007 – Dell fabrica PCs con Ubuntu
Características Multitarea, Multiusuario y Multiplataforma Protección de memoria entre procesos Pseudoterminales (ptys) Seguro y estable Acceso a particiones DOS TCP/IP nativo (SO de Red) Soporta diversos sistemas de archivos Varios entornos gráficos Se distribuye su código fuente Distintos Shells Distribuciones Administrador o ROOT
Analogías y/o diferencias con DOS Ambos disponen de un intérprete de comandos Prompt configurable No existen unidades de disco en Linux (C:\>). Se “montan” Nombres de archivo (No extensiones) Sensitivo a mayúsculas y minúsculas Linux NUNCA se apaga por las ‘buenas’
Comandos básicos Iniciar una sesión Linux Terminar sesión en Linux Existen 3 formas A través de una consola de texto Desde un gestor de sesiones gráfico Vía remota (SSH o Telnet) Login/password Terminar sesión en Linux exit/logout Ctrl + D
El intérprete de comandos El SHELL o intérprete de comandos es el proceso encargado de traducir los comandos que los usuarios introducen, a instrucciones que el sistema operativo entiende. Es el programa que esta entre el SO y el usuario.
El comando passwd Este comando se utiliza para efectuar un cambio o la introducción de un password o contraseña. $ passwd [enter] $ (current) password: (se teclea la contraseña actual; no aparece en pantalla) $ new password: (se teclea la nueva contraseña; no aparece en pantalla) $ re-type new password: (se teclea de nuevo la contraseña comprobando que se ha tecleado bien. Si no coincide no se produce ningún cambio)
El comando shutdown Antes de apagar la PC, es necesario cerrar apropiadamente el sistema. Nunca apague la PC sin “bajarlo” primero, pues se puede dañar el sistema. Sintaxis: $ shutdown [opciones] hora [aviso] Algunas de sus opciones son: -r ; reinicia después del apagado -h ; detiene al sistema después del apagado -f ; realiza un reinicio rápido, sin comprobar ningún sistema de archivos Ejemplos: $ shutdown -r +15 "Reiniciando el sistema..." $ shutdown -h now
El comando who Este comando muestra a los usuarios conectados al sistema ya sea local o remotamente. Sin argumentos who muestra los logins de los usuarios conectados, por que terminal lo han hecho y en que fecha y hora. Sintaxis: $ who [opciones] [fichero] [am i] Algunas de sus opciones son: -H ; imprime un encabezamiento para las columnas. -q ; sólo muestra los logins de los usuarios conectados y la cantidad total de ellos. Ejemplos: $ who coco tty2 Oct 17 15:59 root tty3 Oct 17 12:40 alma :0 Oct 17 08:21 pepe pts/0 Oct 17 10:20 $ who -H -w -i USER MESG LINE LOGIN-TIME IDLE FROM pepe + pts/2 Nov 16 09:26 old root - tty1 Nov 17 09:01 00:11 alma ? :0 Nov 17 09:10 . coco - pts/0 Nov 17 10:30 00:05 $ who am i gloin!pepe tty2 Nov 16 09:26 $ who -q pepe root alma coco # users=4
El comando man El comando date Este comando muestra las páginas de manual de los distintos comandos Ejemplo $ man cp El comando date Este comando despliega la fecha y hora del sistema. Solamente el administrador o root puede cambiar y establecer estos parámetros Ejemplo $ date
El comando cal El comando clear Este comando muestra el calendario en la salida estándar Ejemplos $ cal $ cal 1960 $ cal 10 1994 El comando clear Limpia la pantalla y deja el prompt al inicio de la pantalla Ejemplos
Sistema de archivos Todo en Linux es un archivo (discos, dispositvos, etc.) Longitud máxima 255 caracteres No existen las extensiones en el nombre del archivo Es válido usar caracteres especiales, excepto ‘/’ Sensible a mayúsculas y minúsculas
Sistema de archivos
Estructura
Ruta Absoluta vs Relativa Ruta absoluta: se indica TODO el camino para llegar al archivo Ruta relativa: dependiendo en el directorio que nos encontremos Ejemplo: [svalero@radio ~]$ /home/Ana/Carta.txt [Ana@radio ~]$ Carta.txt
El comando ls Lista el contenido de un directorio Sintaxis $ ls [opciones] [directorio|archivo] Opciones -l ; formato largo -R ; lista recursivamente -a ; muestra archivos ocultos -h ; tamaño de archivos
El comando touch Crea un archivo vacío o cambia los tiempos de acceso y modificación, en caso de existir. Sintaxis $ touch [opciones] archivo Opciones Archivo ; es el archivo que se desea crear o cambiar -a ; cambia la fecha y hora del archivo especificado
El comando cat Este comando concatena (catenate) archivos y los imprime en la salida estándar. Sino se le pasa ningún argumento lee de la entrada estándar. Ejemplo $ cat examen
Los comandos more y less Estos comandos paginan (dividen en páginas) uno o varios archivos y los muestran en la terminal. Se diferencian en cuanto a las facilidades que ofrecen. Ejemplo $ more pila.java
El comando cp Permite copiar un archivo en otro o varios archivos en un directorio Sintaxis $ cp [opciones] <origen> <destino> Opciones r ; copia recursivamente un directorio f ; forza el copiado sin preguntar i ; forma iterativa Ejemplo $ cp /etc/passwd . $ cp -rf /usr/bin/*sh /tmp
El comando rm Este comando borra archivos Sintaxis Opciones $ rm [opciones] <archivos | directorios> Opciones Muy parecidas al cp Ejemplo $ rm prueba $ rf -i progrs/hola.c
El comando mv Este comando mueve un archivo hacia otro o varios archivos hacia un directorio. A su vez, permite renombrar archivos o directorios. Sintaxis $ mv [opciones] <fuente> <destino> $ mv [opciones] <archivos> <directorio> Ejemplos $ mv mail.cf mail.cf.old $ mv -i *.txt /tmp
Atributos de los archivos [user@localhost]# ls -l -rwxr-x--- 1 pepito depart1 4348 Nov 24 16:19 test Tipo de archivo Propietario Grupo Los demás Tamaño Fecha/Hora Nombre d = directorio r = read En bytes = datos w = write l = enlace x = execute
Tabla de conversiones r w x Decimal 1 2 3 4 5 6 7
El comando chmod Este comando se utiliza para cambiar los permisos de los archivos Sintaxis $ chmod <permiso> nombre_archivo Ejemplo $ chmod 750 test Cómo salió este dato? Qué significa?
El comando chown Este comando cambia el dueño y el grupo de un archivo o conjunto de archivos Sintaxis $ chown <usuario:grupo> archivo(s) Ejemplo $ chown alumno:quintoX examen.java
El comando ln Este comando permite establecer enlaces entre archivos. Puede ser rígido o simbólico. Sintaxis $ ln [opciones] origen [destino] Opciones -d ; permite al root hacer enlaces rígidos a directorios -s ; crea un enlace simbólico Ejemplo $ ln -s /etc/passwd /home/usuario/claves
El comando pwd Este comando indica el camino absoluto del directorio en el cual nos encontramos actualmente Ejemplo $ pwd /home/pepe/backup/pruebas
El comando cd Este comando se utiliza para cambiar el directorio actual Sintaxis $ cd [directorio] Ejemplos $ cd /tmp $ cd $ cd – $ cd .. $ cd ~
El comando mkdir Este comando se utiliza para crear directorios Ejemplos $ mkdir bin $ mkdir -p docs/linuxdocs/howtos/pdfs
El comando rmdir Este comando se utiliza para eliminar directorios Ejemplos $ rmdir bin