proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
Tema 2. Sistemas operativos tipos UNIX
1. Tema 2. Sistemas operativos tipo UNIX
Tema 2. Sistemas operativos tipo UNIX
Sistemas Operativos Multiusuario
Francisco Medina L´pez — correo@franciscomedina.net
o
http://aulavirtual.capacitacionentics.com
Facultad de Contadur´ y Administraci´n
ıa o
Universidad Nacional Aut´noma de M´xico
o e
18 de febrero de 2013
2. Tema 2. Sistemas operativos tipo UNIX
Agenda
1 GNU/Linux
2 FreeBSD
3 OpenSolaris
3. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
1 GNU/Linux
Conceptos b´sicos
a
Instalaci´n de CentOS
o
Primeros pasos
Introducci´n al sistema de archivos
o
Usuarios, grupos y permisos
Introducci´n al bash shell
o
Entrada y salida est´ndar
a
Editor de texto vim
Utiler´ para el procesamiento de texto
ıas
Utiler´ para la b´squeda y procesamiento de archivos
ıas u
Configuraci´n b´sica del sistema
o a
Inicio del sistema
Administraci´n de usuarios, grupos y permisos
o
Administraci´n de procesos
o
Instalaci´n/Desinstalaci´n de programas
o o
4. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Conceptos b´sicos
a
1 GNU/Linux
Conceptos b´sicos
a
Instalaci´n de CentOS
o
Primeros pasos
Introducci´n al sistema de archivos
o
Usuarios, grupos y permisos
Introducci´n al bash shell
o
Entrada y salida est´ndar
a
Editor de texto vim
Utiler´ para el procesamiento de texto
ıas
Utiler´ para la b´squeda y procesamiento de archivos
ıas u
Configuraci´n b´sica del sistema
o a
Inicio del sistema
Administraci´n de usuarios, grupos y permisos
o
Administraci´n de procesos
o
Instalaci´n/Desinstalaci´n de programas
o o
5. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Conceptos b´sicos
a
Objetivos
Al t´rmino de este tema ser´ capaz de:
e a
Identificar las diferencias entre Unix y Linux
Discutir sobre la historia de Unix y Linux
Mencionar las principales distribuciones de Linux
Explicar la filosof´ de Linux
ıa
6. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Conceptos b´sicos
a
¿Qu´ Unix?
e
Unix es un sistema operativo portable, multitarea y
multiusuario; desarrollado en 1969 por un grupo de empleados
de los laboratorios Bell de AT&T, entre los que figuran Ken
Thompson, Dennis Ritchie y Douglas McIlroy.
7. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Conceptos b´sicos
a
¿Qu´ Unix?
e
UNIX es una marca registrada de The Open Group en Estados
Unidos y otros pa´
ıses. Esta marca s´lo se puede aplicar a los
o
sistemas operativos que cumplen la ”Single Unix
Specification”de esta organizaci´n y han pagado las regal´
o ıas
establecidas.
8. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Conceptos b´sicos
a
Familias de Unix
En la pr´ctica, el t´rmino UNIX se utiliza en su acepci´n de
a e o
familia. Se aplica tambi´n a sistemas multiusuario basados en
e
POSIX tales como:
GNU/Linux,
Mac OS X,
FreeBSD, NetBSD, OpenBSD.
los cuales no buscan la certificaci´n UNIX por resultar cara
o
para productos destinados al consumidor final o que se
distribuyen libremente en Internet. En estos casos, el t´rmino
e
se suele escribir como UN*X, *NIX, o *N?X.
9. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Conceptos b´sicos
a
Historia de Unix (I)
En 1964 MULTICS, un ambicioso proyecto de sistema
operativo para cientos de usuarios, fracasa y no llega a
terminarse.
Ken Thomson, desarrollador de MULTICS, con ideas y apoyo
de algunos compa˜eros, escribe un nuevo MULTICS mas
n
modesto en una m´quina PDP-7 desechada (1969). Brian
a
Kernighan, compa˜ero de Thomson, lo llama ir´nicamente
n o
UNICS.
UNIX pasa a una m´quina PDP-11 (1970). Ritchie dise˜o y
a n
escribi´ un compilador para lenguaje C.
o
Thomson y Ritchie reescriben UNIX en C, rompiendo la
tradici´n de sistemas operativos escritos en lenguaje
o
ensamblador (1973). Esto aumenta la portabilidad del sistema
hacia otras maquinas.
10. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Conceptos b´sicos
a
Historia de Unix (II)
Thomson y Ritchie reciben el premio Turing por un
ıculo sobre UNIX escrito en 1974.1
memorable art´
UNIX es adoptado en las universidades, por tratarse de un
“sistema abierto” que proporciona todo el c´digo fuente
o
(1974).
El desmembramiento de AT&T (1984) permite a esta empresa
ingresar en el mercado de computadoras, y produce la primera
versi´n comercial de UNIX, el Sistema III, que pronto es
o
sustituido por el Sistema V versiones 2, 3 y 4.
La Universidad de Berkeley produjo una versi´n mejorada para
o
la PDP-11, llamada BSD; luego fueron la 3BSD y luego
4BSD, que incorporo el protocolo de redes TCP/IP.
1
http://cm.bell-labs.com/who/ken/trust.html
11. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Conceptos b´sicos
a
Historia de Unix (III)
El grupo POSIX estudi´ y propuso un est´ndar para UNIX,
o a
llamado 1003.1, que define un conjunto de bibliotecas que
cualquier sistema UNIX debe proporcionar. Esto resolvi´ la
o
controversia entre Sistema V y BSD.
Se forma OSF, Open Software Foundation, integrada por
IBM, DEC,HP y otros para enfrentar a AT&T. Crean un
UNIX con mas prestaciones que el est´ndar de POSIX.
a
AT&T, para enfrentar a OSF, crea UI, UNIX International,
junto con otras empresas es otro UNIX ampliado de POSIX.
IBM crea su propia variante de UNIX, llamada AIX. La
confusi´n de versiones continua.
o
12. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Conceptos b´sicos
a
Historia de Unix (IV)
Surgen las versiones UNIX de dominio p´blico como FreeBSD
u
y Linux, que se distribuyen sin costo. Linux es desarrollado por
una multitud de personas y equipos de trabajo a trav´s de
e
Internet. FreeBSD es desarrollado por un grupo de trabajo
cerrado.
UNIX hacia el usuario final: distribuciones f´ciles de instalar
a
(SuSE, Redhat, Mandriva, Ubuntu), aplicaciones de escritorio
(Applixware, OpenOffice).
13. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Conceptos b´sicos
a
Historia de Unix (Resumen)
http://www.levenez.com/unix/
14. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Conceptos b´sicos
a
Unix Actuales
Producto Fabricante Caracter´ısticas
Solaris Sun Mi- Basado en AT&T, con muchas ex-
crosystems tensiones. Arquitectura Sparc y x86.
HP-UX Hewlett- H´ıbrido AT&T y BSD, con particula-
Packard ridades propias. Arquitectura propie-
taria
Linux P´blico
u BSD (SunOS) en lo interno, AT&T
en la administraci´n. Arquitectu-
o
ra Intel x86, sparc , alpha, y
otras. M´ltiples distribuciones; Red-
u
Hat, S.u.s.e., Slackware, Debian,
Mandriva. FreeBSD P´blico Basado
u
en BSD.
15. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Conceptos b´sicos
a
¿Qu´ GNU/Linux?
e
Definici´n
o
GNU/Linux es un clon del sistema operativo Unix, escrito desde
cero por el finland´s Linus Torvalds con la asistencia de un
e
peque˜o grupo de hackers esparcidos por la red.a
n
a
http://www.kernel.org/
Estrictamente, Linux se refiere al n´cleo o kernel. En un sentido
u
m´s amplio, comprende el n´cleo del sistema operativo m´s un
a u a
conjunto de programas que permiten compilar lenguajes de
programaci´n, editar texto, interpretar comandos, manejar archivos
o
y discos, acceder a otras m´quinas, establecer comunicaciones,
a
enviar y recibir correo electr´nico, manejar las colas de impresi´n y
o o
un sinf´ de tareas m´s.
ın a
16. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Conceptos b´sicos
a
Caracter´
ısticas
portable: el mismo sistema operativo corre en un espectro de
m´quinas que van desde notebooks a supercomputadoras. Es
a
el unico sistema operativo con estas caracter´
´ ısticas.
flexible: se adapta a muchas aplicaciones diferentes.
potente: dispone de muchos comandos y servicios ya
incorporados.
multiusuario: atiende a muchas personas simult´neamente.
a
multitarea: hace muchas cosas a la vez.
elegante: sus comandos son breves, coherentes, espec´ ıficos
para cada tarea y muy eficientes.
orientado a redes desde el comienzo.
Dispone de un est´ndar (POSIX) que debe cumplir todo
a
sistema operativo que pretenda ser Unix, lo que asegura una
evoluci´n predecible y compatiblidad con otros Unix.
o
17. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Conceptos b´sicos
a
Historia de Linux (I)
Lo que en un principio no era m´s que un proyecto personal
a
de un joven que se cre´ el mejor programador del mundo2 ,
ıa
termin´ siendo uno de los mejores sistemas operativos; usado
o
ampliamente en todo el mundo, desde instituciones educativas
hasta comerciales, pasando por gubernamentales.
Fu´ en Julio de 1991 cuando Linus a´n siendo estudiante de
e u
Computer Science en Finlandia, envi´ su primer mensaje al
o
grupo de noticias comp.os.minix, respecto a un proyecto
personal sobre el sistema operativo Minix3 .
2
A sus 21 a˜os
n
3
Minix es un clon del sistema operativo Unix distribuido junto con su c´digo
o
fuente y desarrollado por el profesor Andrew S. Tanenbaum en 1987. La ultima
´
versi´n oficial de Minix es la 3.0 y data de octubre del 2005.
o
18. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Conceptos b´sicos
a
Historia de Linux (II)
From:torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds)
Newsgroup: comp.os.minix
Subject: What would you like to see most in minix?
Summary: small poll for my new operating system
Message-ID: 1991 Aug 25, 20578.9541@klaava.Helsinki.FI
Date: 25 Aug 91 20:57:08 GMT
Organization: University of Helsinki.
Hello everybody out there using minix- I’m doing a (free) operating system
(just a hobby, won’t be big and professional like gnu) for 386(486) AT clones.
This has been brewing since april, and is starting to get ready. I’d like any
feedback on things people like/dislike in minix; as my OS resembles it
somewhat (same physical layout of the file-sytem due to practical reasons)
among other things.
I’ve currently ported bash (1.08) an gcc (1.40), and things seem to work.
This implies that i’ll get something practical within a few months, and I’d
like to know what features most people want. Any suggestions are welcome, but
I won’t promise I’ll implement them :-)
Linux Torvalds torvalds@kruuna.helsinki.fi
19. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Conceptos b´sicos
a
Historia de Linux (II)
Versi´n
o A˜o
n Usuarios Estima- Tama˜o del
n kernel
dos (KBytes)
0.01 1991 100 63
0.99 1992 1000 431
0.99 1993 20,000 938
1.0 1994 100,000 1,017
1.2 1995 500,000 1,850
2.0 1996 1,500,000 4,718
2.2 1999 7,500,000 10,593
2.4 2001 10,000,000 19,789
2.6 2003 20-50,000,000 32,476
20. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Conceptos b´sicos
a
Objetivos
GNU/Linux fue dise˜ado teniendo en mente los siguientes
n
objetivos:
crear un sistema interactivo de tiempo compartido dise˜ado
n
por programadores y para programadores, destinado a usuarios
calificados.
que fuera sencillo, elegante, escueto y consistente.
que permitiera resolver problemas complejos combinando un
n´mero reducido de comandos b´sicos.
u a
21. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Conceptos b´sicos
a
Filosof´
ıa
Los objetivos con que se cre´ determinaron una ”filosof´
o ıa”
caracterizada por:
comandos cortos, simples, espec´
ıficos y muy eficientes, que
”hacen una sola cosa pero la hacen muy bien”.
entrada y salida estandarizadas que permiten la interconexi´n
o
de comandos. Esto se llama entubamiento (”pipeling”): la
salida de un comando es tomada por el siguiente como
entrada.
todo es un archivo.
22. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Conceptos b´sicos
a
Distribuciones (I)
Slackware: Una de las primeras distribuciones Linux
(http://www.slackware.com), dise˜ada por Patrick
n
Volkerding a partir de SLS Linux . Tuvo una gran aceptaci´n o
al principio hasta llegar a ser la distribuci´n m´s popular del
o a
mercado. Actualmente ha perdido terreno a favor de
distribuciones mas modernas, siendo relegada a aplicaciones
especializadas.
Debian (http://www.debian.org) es una distribuci´n o
bastante popular que no est´ desarrollada por ninguna
a
compa˜´ comercial sino que es fruto del trabajo de diversos
nıa
voluntarios en toda la comunidad de Internet.
23. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Conceptos b´sicos
a
Distribuciones (II)
SuSE: Compa˜´ recientemente comprada por Novell,
nıa
combina el sistema de paquetes de Red Hat (RPM) con una
organizaci´n derivada de Slackware. Esta distribuci´n es la
o o
mas popular en Europa y tiene un gran soporte para diferentes
lenguas incluido el Espa˜ol. Es una de las m´s f´ciles de
n a a
instalar y configurar, adem´s viene con una gran cantidad de
a
paquetes.
Mandriva (http://www.mandriva.com/community/) antes
Mandrake Linux es una distribuci´n Linux que hizo su
o
aparici´n en julio de 1998 propiedad de Mandriva, enfocada a
o
principiantes o usuarios medios.
24. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Conceptos b´sicos
a
Distribuciones (III)
Red Hat: (http://www.redhat.com) es la distribuci´n maso
popular del mercado hoy en d´ siendo emulada por muchas
ıa,
otras. Muy sencilla de instalar, excelente auto-detecci´n de
o
dispositivos, instalador gr´fico y un excelente conjunto de
a
aplicaciones comerciales en su distribuci´n oficial.
o
Fedora Core Muchos opinamos que es el laboratorio de
pruebas para la versi´n comercial de RedHat. Esta distro es
o
libre y puede ser descargada del sitio:
http://fedora.redhat.com/.
Es ideal para estaciones de trabajo o laptops.
25. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Conceptos b´sicos
a
Distribuciones (IV)
CentOS (http://www.centos.org) Acr´nimo de
o
Community ENTerprise Operating System es un clon a nivel
binario de la distribuci´n Red Hat Enterprise Linux 4
o
Alternativa libre a distribuciones comerciales de compa˜´
nıas
como Red Hat, Suse y Mandriva.
Compilado por voluntarios a partir del c´digo fuente liberado
o
por Red Hat, empresa desarrolladora de RHEL
4
ftp://ftp.redhat.com/pub/redhat/linux/enterprise/4/en/os/i386/SRPMS
26. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Conceptos b´sicos
a
Distribuciones (V)
27. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Conceptos b´sicos
a
Fin del tema
Dudas
Resumen
Historia de Linux
Linus Torvalds y el kernel de Linux
Filosof´ y Objetivos de Linux
ıa
28. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Instalaci´n de CentOS
o
1 GNU/Linux
Conceptos b´sicos
a
Instalaci´n de CentOS
o
Primeros pasos
Introducci´n al sistema de archivos
o
Usuarios, grupos y permisos
Introducci´n al bash shell
o
Entrada y salida est´ndar
a
Editor de texto vim
Utiler´ para el procesamiento de texto
ıas
Utiler´ para la b´squeda y procesamiento de archivos
ıas u
Configuraci´n b´sica del sistema
o a
Inicio del sistema
Administraci´n de usuarios, grupos y permisos
o
Administraci´n de procesos
o
Instalaci´n/Desinstalaci´n de programas
o o
29. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Instalaci´n de CentOS
o
Objetivos
Al t´rmino de este tema, ser´ capaz de:
e a
Validar si un equipo es susceptible de ser instalado con
GNU/Linux
Entender los diferentes m´todos de instalaci´n
e o
Crear un esquema de particionamiento personalizado
Conocer el m´todos automatizado de instalaci´n kickstart
e o
30. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Instalaci´n de CentOS
o
Consideraciones de Hardware
El equipo a instalar debe cumplir ciertos requerimientos
m´ınimos.
Existen listas de compatibilidad de Hardware publicadas en
por cada proveedor :
Para RHEL/Fedora/CentOS:
https://hardware.redhat.com/index.cgi
Para OpenSUSE: http://en.opensuse.org/OpenSUSE_HCL
Para Ubuntu: https://wiki.ubuntu.com/HardwareSupport
Para Linux en general:
http://tldp.org/HOWTO/Hardware-HOWTO/
31. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Instalaci´n de CentOS
o
Anaconda, el instalador de CentOS
Soporta diferentes m´todos de instalaci´n:
e o
Kickstart para instalaciones automatizadas
Actualizaci´n de versi´n
o o
Modo de Rescate para recuperar sistemas da˜ados
n
Consta de dos fases o etapas:
1 Inicio del programa de instalaci´n
o
2 Ejecuci´n del programa de instalaci´n.
o o
32. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Instalaci´n de CentOS
o
Primera fase: Inicio del Programa de Instalaci´n
o
Los elementos de esta fase son el kernel de instalaci´n y un
o
disco RAM llamado initrd.img
Actividades de la primera fase:
1 Inicio el instalador
2 Reconocimiento el hardware
3 Carga de controladores adicionales
4 Selecci´n del idioma, configuraci´n del teclado y el m´todo de
o o e
instalaci´n
o
5 Configuraci´n de la red si se requiere para la instalaci´n
o o
33. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Instalaci´n de CentOS
o
Primera Fase
M´todos de inicio (boot) soportados:
e
boot.iso o el DVD/CD de instalaci´n
o
Memoria USB con el archivo bootimg.img
Network boot con PXE
Floppies ya no tienen soporte.
Interacci´n con el Instalador
o
Instalaci´n gr´fica
o a
M´todo de instalaci´n por default
e o
Par´metros utiles: lowres, resolution, skipddc
a ´
Instalaci´n basada en texto
o
Se inicia usando el par´metro text
a
Interfaz basada en men´su
34. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Instalaci´n de CentOS
o
Primera Fase: M´todos de Instalaci´n
e o
CD-ROM
Disco Duro
NFS
FTP
HTTP
35. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Instalaci´n de CentOS
o
Segunda Fase: Actividades
Selecci´n del idioma y Configuraci´n del teclado
o o
Particionamiento el Disco Duro
Configuraci´n del gestor de arranque
o
Configuraci´n de la red y zona horaria
o
Selecci´n de grupos de paquetes
o
36. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Instalaci´n de CentOS
o
Configurando los Sistemas de Archivos (File System)
Durante el proceso de instalaci´n se eligen los puntos de
o
montaje, tama˜o de las particiones y el tipo de sistema de
n
archivo.
Puede ser de forma manual o autom´tica
a
Existen varias formas de particionar el disco duro :
/ debe de incluir /etc, /lib, /bin, /sbin
El espacio de la memoria de intercambio (swap) es
normalmente 2x RAM
Puntos de montaje recomendados: /boot, /home, /usr,
/var, /tmp, /usr/local, /opt
37. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Instalaci´n de CentOS
o
Particionamiento Avanzado
Software RAID
Crear una nueva partici´n y seleccionar la opci´n Software
o o
RAID como tipo de sistema de archivos
Combinar las particiones RAID en un dispositivo con la opci´n
o
RAID
LVM
Elegir Physical Volume para crear un volumen f´
ısico
LVM crea un Volume Group
A˜adir crea un nuevo Logical Volumes
n
38. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Instalaci´n de CentOS
o
Selecci´n de paquetes
o
Un grupo predeterminado de paquetes se instalan de manera
autom´tica
a
Seleccionar Personalizar ahora (Customize now) para cambiar
los grupos de paquetes
La personalizaci´n es necesaria para a˜adir soporte para
o n
idiomas adicionales
Anaconda de forma autom´tica resuelve las dependencias de
a
paquetes
Los paquetes pueden ser personalizados despu´s de la
e
instalaci´n con el comando yum o system-config-packages
o
39. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Instalaci´n de CentOS
o
Primer Inicio: Configuraci´n Post-Instalaci´n
o o
De ser necesario se configura el sistema X Window
Configuraci´n del Firewall y SELinux
o
Configuraci´n del m´dulo Kdump
o o
Ajuste de fecha y hora
Creaci´n de usuarios
o
Configuraci´n de la tarjeta de sonido
o
Instalar RPMs adicionales
40. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Instalaci´n de CentOS
o
Kickstart
M´todo de instalaci´n v´ scripts
e o ıa
Soporta todas las opciones de Anaconda
El archivo /root/anaconda-ks.cfg es generado de manera
autom´tica durante la instalaci´n
a o
Herramienta de configuraci´n: system-config-kickstart
o
Para revisar sintaxis: ksvalidator
Para iniciar en modo Kickstart usar el par´metro ks al inicio
a
de la instalaci´n
o
41. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Instalaci´n de CentOS
o
Fin del tema
Dudas
Resumen
Pasos para llevar a cabo la instalaci´n
o
Opciones de Anaconda
42. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Primeros pasos
1 GNU/Linux
Conceptos b´sicos
a
Instalaci´n de CentOS
o
Primeros pasos
Introducci´n al sistema de archivos
o
Usuarios, grupos y permisos
Introducci´n al bash shell
o
Entrada y salida est´ndar
a
Editor de texto vim
Utiler´ para el procesamiento de texto
ıas
Utiler´ para la b´squeda y procesamiento de archivos
ıas u
Configuraci´n b´sica del sistema
o a
Inicio del sistema
Administraci´n de usuarios, grupos y permisos
o
Administraci´n de procesos
o
Instalaci´n/Desinstalaci´n de programas
o o
43. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Primeros pasos
Objetivos
Al t´rmino de este tema, ser´ capaz de:
e a
Entrar a sesi´n en CentOS
o
Iniciar el servidor X desde la consola
Acceder a una terminal de linea de comandos desde el servidor
X
Cambiar su contrase˜a
n
Entender los permisos/privilegios de root
Conocer sus permisos
Editar archivos de texto
Ejecutar comandos desde el prompt
Explicar el prop´sito y uso de algunos comandos
o
Usar la ayuda
44. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Primeros pasos
Inicio de sesi´n (logging)
o
Dos tipos de ventanas de inicio: consolas virtuales (modo
texto) y consolas gr´ficas
a
Para iniciar sesi´n es necesario de un nombre de usuario y
o
contrase˜a
n
Cada usuario tiene su propio directorio llamado hogar (home)
Un sistema Linux t´ıpico tiene seis consolas virtuales y una
consola gr´fica
a
Los servidores usualmente solo cuentan con consolas virtuales
Las computadoras personales (desktops) y las estaciones de
trabajo (workstation) normalmente cuentas con las dos
Para cambiarse entre consolas se usa la combinaci´n de teclas
o
Ctrl-Alt-F[1-6]
Para acceder a la consola gr´fica se teclea Ctrl-Alt-F7
a
45. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Primeros pasos
Componentes del Sistema X Windows
El sistema X Windows fue desarrollado a mediados de los a˜os
n
1980 en el MIT para dotar de una interfaz gr´fica a los
a
sistemas Unix
Xorg es la versi´n usada como sistema X Windows por
o
CentOS
Implementaci´n de software libre de X
o
La apariencia y el comportamiento son controlados por el
ambiente de escritorio
CentOS provee dos ambientes de escritorio:
GNOME: ambiente de escritorio predeterminado
KDE: alternativa para ambiente de escritorio
46. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Primeros pasos
Iniciando el servidor X
En algunos sistemas, el servidor X inicia de manera
autom´tica al iniciar el sistema operativo (boot time)
a
En caso de que el sistema solo inicie consolas virtuales, es
necesario iniciar el servidor X de manera manual
El servidor X debe estar preconfigurado por el administrador
del sistema
Iniciar una sesi´n en la consola virtual y ejecutar el comando
o
startx
Para cambiarnos a la sesi´n gr´fica tecleamos Ctrl-Alt-F7
o a
47. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Primeros pasos
Cambiando la contrase˜a
n
Las contrase˜a controlan el acceso al sistema
n
Es conveniente que la primera vez que se firma5 al sistema se
cambie la contrase˜a.
n
Cambiar la contrase˜a con frecuencia
n
Elegir una contrase˜a robusta
n
Para cambiar la contrase˜a desde una terminal usamos el
n
comando passwd
5
Acci´n que comprende dar nombre de usuario y contrase˜a, y que en
o n
adelante llamaremos entrar en sesi´n.
o
48. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Primeros pasos
El usuario root
El usuario root es el administrador en los sistema Unix
Es tambi´n conocido como superuser
e
root tiene el control total del sistema y por consecuencia casi
ilimitada capacidad para da˜arlo
n
No entrar al sistema como root a menos que sea
estrictamente necesario
Una cuenta de usuario normal tiene una capacidad de da˜o
n
limitada
49. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Primeros pasos
Cambiando de identidad
su - crea un nuevo shell como root
sudo comando ejecuta el comando como root
Requiere que el administrador configure previamente la
herramienta
id muestra informaci´n del usuario actual
o
50. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Primeros pasos
Editando archivos de texto
El editor nano
F´cil de aprender, f´cil de usar
a a
No presente en los Unix est´ndar
a
Otros editores
gedit, un simple editor gr´fico
a
vim, avanzado y completo editor
vi, avanzado, completo y dif´ de usar, pero disponible en casi
ıcil
todos los *NIX
51. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Primeros pasos
Ejecutando Comandos
Todos los comandos en *NIX tiene la siguiente sintaxis:
comando opciones par´metros
a
Cada elemento es separado por un espacio
Las opciones modifican el comportamiento del comando
Las opciones de una sola letra se preceden por -
Pueden ser indicadas como -a -b -c o -abc
Las opciones que son palabras son precedidas por –
Ejemplo: –help
Los argumentos son nombres de archivos o cualquier otra
informaci´n que necesite el comando
o
Si se van a ejecutar mas de un comando por l´
ınea, es
necesario separarlos con ;
52. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Primeros pasos
Algunos Comandos Simples
date - muestra la fecha y hora
cal - muestra un calendario
who - muestra los nombres de usuarios conectados al sistema
en este momento.
hostname - muestra el nombre de la m´quina *NIX.
a
53. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Primeros pasos
Obteniendo Ayuda
Es imposible memorizarse todo (hay otras cosas en que
pensar)
Varios niveles de ayuda
whatis
comando –help
man o info
/usr/share/doc
Documentaci´n de CentOS
o
54. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Primeros pasos
El comando whatis
Muestra una breve descripci´n de los comandos
o
Usa una base de datos que se actualiza de manera nocturna
Normalmente no esta disponible inmediatamente despu´s de
e
una instalaci´n
o
Example
$ whatis cal
cal (1) - displays a calendar
cal (1p) - print a calendar
55. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Primeros pasos
Opci´n –help -h
o
Muestra un resumen de como usar el comando y la lista de
argumentos que puede recibir
Usado por casi todos los comandos
Example
$ tar --help Usage: tar [OPTION]... [FILE]...
Examples:
tar -cf archive.tar foo bar # Create archive.tar from files foo and bar.
tar -tvf archive.tar # List all files in archive.tar verbosely.
tar -xf archive.tar # Extract all files from archive.tar.
56. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Primeros pasos
El comando man
Provee de informaci´n detallada sobre los comandos
o
Casi todos los comandos tiene su p´gina de man
a
Las p´ginas est´n agrupadas en cap´
a a ıtulos
Sintaxis:
man [<cap´
ıtulo>] <comando>
57. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Primeros pasos
Leyendo las p´ginas del man
a
Mientras se esta viendo una p´gina del man
a
Para desplazarse por el documento se usan las
”flechitas”,PgUp,PgDn
/texto busca por el texto
n/N se desplaza a la siguiente/anterior ocurrencia del texto
q para salir
Buscando el Manual
man -k keyword lista las p´ginas que correspondan al keyword
a
Usar la base de datos whatis
58. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Primeros pasos
El comando info
Similar a man, pero con mayor detalle
Ejecutar info sin argumentos para listar todas las p´ginas
a
Las p´ginas de info est´n estructuradas como un sitio web
a a
Cada p´gina esta dividida en ”nodos”
a
Cada nodo esta precedido por un *
info [comando]
59. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Primeros pasos
Leyendo las p´ginas de info
a
Mientras se esta viendo una p´gina info
a
Para desplazarse por el documento se usan las
”flechitas”,PgUp,PgDn
Tab para moverse al siguiente link
Enter para seguir el link seleccionado
n/p/u para ir al siguiente/anterior/un nivel arriba del nodo
s text busca el texto (default: ultima b´squeda)
´ u
q para salir
60. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Primeros pasos
Documentaci´n Extendida
o
El directorio /usr/share/doc
Contiene un subdirectorio por paquete instalado
Aqu´ se encuentra la documentaci´n que no entra en otro
ı o
lugar
Ejemplos de archivos de configuraci´n
o
Documentaci´n en formato HTML/PDF/PS
o
Detalles del licenciamiento
61. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Primeros pasos
Salir del Sistema
exit termina la sesi´n
o
Las teclas Ctrl+D tambi´n terminan la sesi´n.
e o
62. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Primeros pasos
Fin del tema
Dudas
Resumen
Nombre de usuario y contrase˜a
n
Ejecutar comandos
startx
gnome-terminal
passwd
su
nano
vi
Obtener ayuda
63. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Introducci´n al sistema de archivos
o
1 GNU/Linux
Conceptos b´sicos
a
Instalaci´n de CentOS
o
Primeros pasos
Introducci´n al sistema de archivos
o
Usuarios, grupos y permisos
Introducci´n al bash shell
o
Entrada y salida est´ndar
a
Editor de texto vim
Utiler´ para el procesamiento de texto
ıas
Utiler´ para la b´squeda y procesamiento de archivos
ıas u
Configuraci´n b´sica del sistema
o a
Inicio del sistema
Administraci´n de usuarios, grupos y permisos
o
Administraci´n de procesos
o
Instalaci´n/Desinstalaci´n de programas
o o
64. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Introducci´n al sistema de archivos
o
Objetivos
Al t´rmino de este tema, ser´ capaz de:
e a
Describir los elementos m´s importante de la jerarqu´ del
a ıa
sistema de archivos
Copiar, mover y borrar archivos
Crear y ver archivos
65. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Introducci´n al sistema de archivos
o
Jerarqu´ del Sistema de Archivos
ıa
La estructura del sistema de archivos es jer´rquica, es decir
a
una gr´fica dirigida o, vista de otro modo, una estructura
a
arb´rea.
o
Nombre sensibles a may´sculas y min´sculas (case-sensitive)
u u
El directorio principal, llamado ra´ representado por el
ız,
caracter / que a su vez es utilizado para separar los nombres
de los subsiguientes directorios.
El est´ndar se puede consultar en
a
http://www.pathname.com/fhs/
66. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Introducci´n al sistema de archivos
o
Sistema de Archivos
67. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Introducci´n al sistema de archivos
o
Algunos Directorios Importantes
Directorios hogar: /root, /home/username
Ejecutables del usuario: /bin, /usr/bin,
/usr/local/bin
Ejecutables del sistema: /sbin, /usr/sbin,
/usr/local/sbin
Puntos de montaje: /media, /mnt
Configuraci´n: /etc
o
Archivos temporales: /tmp
Kernel y Gestor de Arranque: /boot
Datos del servidor: /var, /srv
Informaci´n del sistema: /proc, /sys
o
Bibliotecas compartidas: /lib, /usr/lib,
/usr/local/lib
68. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Introducci´n al sistema de archivos
o
Directorio Actual de Trabajo
Cada shell y proceso del sistema tiene un directorio actual de
trabajo (cwd por sus siglas en ingl´s)
e
pwd
Imprime la ruta absoluta del cwd del shell
69. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Introducci´n al sistema de archivos
o
Nombre de Archivos y Directorios
Los nombres puedes ser de hasta 255 caracteres
Todos los caracteres son v´lidos, con excepci´n de la /
a o
No es recomendable usar caracteres especiales en nombre de
directorios o archivos
Algunos caracteres deben protegerse con comillas para
poderlos referenciar
Los nombres son sensibles a may´sculas y min´sculas
u u
Ejemplo: MAIL, Mail, mail y mAil
De nuevo, es posible pero no recomendable
70. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Introducci´n al sistema de archivos
o
Rutas absolutas y relativas
Rutas Absolutas
Inician con una /
Ruta completa a la ubicaci´n del archivo
o
Puede ser usado en cualquier momento para indicar el nombre
de un archivo
Rutas Relativas
No inician con una /
Indican la ruta desde el directorio actual de trabajo
Pueden usarse como una manera r´pida para indicar el nombre
a
de un archivo
71. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Introducci´n al sistema de archivos
o
Cambiando de Directorio
cd nos cambia de directorio
a una ruta absoluta o relativa
cd /home/paco/cursos
cd coapa/Modulo5
A un directorio superior
cd ..
Al directorio hogar
cd
Al directorio previo de trabajo
cd -
72. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Introducci´n al sistema de archivos
o
Visualizar el contenido de un directorio
El comando utilizado para visualizar el contenido de un
directorio es ls
Uso:
ls [opciones] [archivos o directorios]
Ejemplos:
ls -a (lista archivos ocultos)
ls -l (despliega informaci´n extendida)
o
ls -R (lista recursiva)
ls -ld (informaci´n de directorios y ligas suaves)
o
73. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Introducci´n al sistema de archivos
o
Copiando Archivos y Directorios
cp copia archivos y directorios
Uso:
cp [opciones] origen destino
Es posible copiar m´s de un archivo a la vez si el destino es un
a
directorio:
cp [opciones] archivo1 archivo2 destino
Algunas consideraciones:
Si el destino es un directorio, los archivos se copian en el
directorio
Si el destino es un archivo,la copia sobreescribe el destino
Si el destino no existe, la copia es renombrada
74. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Introducci´n al sistema de archivos
o
Moviendo y Renombrando Archivos y Directorios
mv mueve y/o renombra archivos y directorios
Uso:
mv [opciones] origen destino
Uno m´s de un archivo puede ser movido al mismo tiempo si
a
el destino es un directorio
mv [opciones] archivo1 archivo2 dest
El destino trabaja igual que cp
75. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Introducci´n al sistema de archivos
o
Creando y Borrando Archivos
touch - Crea archivos vac´ o actualiza las marcas de tiempo
ıos
(timestamps)
rm - borra archivos
Uso:
rm [opciones] <archivo>...
Ejemplo:
rm -i archivo (interactivo)
rm -r directorio (recursivo)
rm -f archivo (fuerza)
76. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Introducci´n al sistema de archivos
o
Creando y Borrando Directorios
mkdir - Crea directorios
rmdir - Borra directorios
rm -r - Borra estructura de directorios
77. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Introducci´n al sistema de archivos
o
Determinando el tipo de archivo
Los archivos contienen diferentes tipos de informaci´n
o
Si es necesario validar el tipo de datos que contiene un archivo
antes de abrirlo usamos:
file [opciones] <archivos>...
78. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Introducci´n al sistema de archivos
o
Fin del tema
Dudas
Resumen
Jerarqu´ del sistema de archivos
ıa
Comandos para la administraci´n de archivos
o
79. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Usuarios, grupos y permisos
1 GNU/Linux
Conceptos b´sicos
a
Instalaci´n de CentOS
o
Primeros pasos
Introducci´n al sistema de archivos
o
Usuarios, grupos y permisos
Introducci´n al bash shell
o
Entrada y salida est´ndar
a
Editor de texto vim
Utiler´ para el procesamiento de texto
ıas
Utiler´ para la b´squeda y procesamiento de archivos
ıas u
Configuraci´n b´sica del sistema
o a
Inicio del sistema
Administraci´n de usuarios, grupos y permisos
o
Administraci´n de procesos
o
Instalaci´n/Desinstalaci´n de programas
o o
80. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Usuarios, grupos y permisos
Objetivos
Al t´rmino de este tema, ser´ capaz de:
e a
Explicar el modelo de seguridad de Linux
Explicar el prop´sito de las cuentas de usuario y los grupos
o
Leer y asignar permisos
81. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Usuarios, grupos y permisos
Usuarios
A cada usuario se le asigna un unico identificador conocido
´
como User ID (UID)
root posee el UID 0
Los nombre de usuario y UIDs son almacenados en el archivo
/etc/passwd
A cada usuario se le asigna un directorio hogar y un programa
que se ejecuta cuando entra al sistema (com´nmente un shell)
u
Los usuarios no pueden leer, escribir o ejecutar archivos de
otros usuario sin su previo permiso.
82. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Usuarios, grupos y permisos
Grupos
Los usuarios son asignados a grupos
A cada grupo se le asigna un unico identificador conocido
´
como Group ID (gid)
Los grupos son almacenados en el archivo /etc/group
Todos los usuarios deben de pertenecer a por lo menos un
grupo
Posteriormente se pueden agregar a grupos adicionales para
incrementar su nivel de acceso
Todos los usuarios en un grupo pueden compartir archivos a
los miembros de su grupo.
83. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Usuarios, grupos y permisos
Tipos de Permisos
Se usan cuatro s´
ımbolos para indicar permisos sobre archivos
o directorios:
r: permiso para leer un archivo o listar el contenido de un
directorio
w: permiso para escribir o modificar un archivo o crear y borrar
archivos en un directorio
x: permiso para ejecutar un programa o cambiarse a un
directorio
-: ausencia de permiso (en lugar de r,w o x)
84. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Usuarios, grupos y permisos
Analizando Permisos (I)
Los permisos se pueden ver con el comando ls -l
Example
$ ls -l /bin/bash
-rwxr-xr-x 1 root wheel 1068844 Apr 10 2007 /bin/bash
El tipo de archivo y los permisos son representados por 10
caracteres
85. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Usuarios, grupos y permisos
Analizando Permisos (II)
-rwxr-x--- 1 paco unix 12 Feb 8 11:25 script
Lectura, escritura y ejecuci´n para el due˜o del archivo, paco
o n
Lectura y ejecuci´n para los miembros del grupo unix
o
Ning´n permisos para el resto del mundo
u
86. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Usuarios, grupos y permisos
Cambiando Permisos - M´todo Simb´lico
e o
Para cambiar los permisos de acceso usamos:
chmod [-R] modo archivo
Donde modo es:
u, g u o para el usuario, grupo y otros
+ o - para a˜adir o quitar permisos
n
r, w o x para lectura, escritura y ejecuci´n
o
Ejemplos:
ugo+r Permiso de lectura para todos
o-wx Quita los permisos de escritura y ejecuci´n a otros
o
87. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Usuarios, grupos y permisos
Cambiando Permisos - M´todo Num´rico
e e
Usa tres n´meros para el modo
u
el primer n´mero especifica los permisos de due˜o
u n
el segundo n´mero especifica los permisos del grupo
u
el tercer n´mero representa los permisos del resto del mundo
u
(otros)
Los permisos son calculados a˜adiendo
n
4 (para lectura)
2 (para escritura o modificaci´n)
o
1 (para ejecuci´n)
o
Ejemplos:
chmod 640 miarchivo
88. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Usuarios, grupos y permisos
Fin del tema
Dudas
Resumen
Todos los archivos tienen un solo propietario y pertenecen a un
grupo
Los permisos de un archivo est´n agrupados en due˜o, grupo y
a n
el resto del mundo
Se pueden otorgar tres permisos: lectura, escritura y ejecuci´n
o
89. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Introducci´n al bash shell
o
1 GNU/Linux
Conceptos b´sicos
a
Instalaci´n de CentOS
o
Primeros pasos
Introducci´n al sistema de archivos
o
Usuarios, grupos y permisos
Introducci´n al bash shell
o
Entrada y salida est´ndar
a
Editor de texto vim
Utiler´ para el procesamiento de texto
ıas
Utiler´ para la b´squeda y procesamiento de archivos
ıas u
Configuraci´n b´sica del sistema
o a
Inicio del sistema
Administraci´n de usuarios, grupos y permisos
o
Administraci´n de procesos
o
Instalaci´n/Desinstalaci´n de programas
o o
90. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Introducci´n al bash shell
o
Objetivos
Al t´rmino de este tema, ser´ capaz de:
e a
Usar atajos en la l´
ınea de comandos
Usar las expansiones a la l´
ınea de comandos
Usar la historia de comandos
Usar la terminal de gnome (gnome−terminal)
Saber como usar las variables locales y de ambiente
Crear aliases
Entender como el shell analiza una l´
ınea de comandos
Configurar los archivos de inicio del shell
91. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Introducci´n al bash shell
o
Historia
El bourne shell se convirti´ en est´ndar en Unix desde 1979.
o a
Se encuentra en la ruta /bin/sh
Disponible a´n en la actualidad
u
Berkeley C shell (csh) era m´s amigable al proveer
a
caracter´
ısticas adicionales como el hist´rico de comandos,
o
Durante mucho tiempo la pr´ctica com´n era trabajar en csh y
a u
programar en sh
David Korn incluyo en el Bourne shell el hist´rico de
o
comandos, control de tarea y capacidad adicionales de
programaci´n.
o
Eventualmente ksh se convirti´ en estandar al mezclar lo mejor
o
del sh con el csh
La fundaci´n de software libre desarroll´ un clon del sh,
o o
nombr´ndolo bash (Bourne-Again SHell)
a
Hoy en d´ es el estandar.
ıa
92. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Introducci´n al bash shell
o
Metacaracteres (Globbing)
Caracter que tiene un significado especial para el interprete de
comandos (shell)
* - Se sustituye por 0 o m´s caracteres
a
? - Se sustituye por un caracter
[0-9] - Se sustituye por un rango de n´meros
u
[abc] - Se sustituye por una letra de la lista item [^abc] - Se
sustituye por cualquier letra menos alguna de la lista
93. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Introducci´n al bash shell
o
Tabulador
La tecla Tabulador (Tab) permite completar las l´
ıneas de
comando
En un comando, completa el nombre del comando
En un par´metro. completa el nombre del archivo
a
Ejemplos:
$ ali<tab>
$ alias
$ ls htt<tab>
$ ls httpd.conf
94. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Introducci´n al bash shell
o
Hist´rico
o
bash almacena todos los comandos que se teclean, formado
una historia de comandos
El comando history se usa listar los comandos almacenados
Example
$ history
612 cd /tmp
613 ls -la
614 cd
615 cp /etc/passwd .
616 vi passwd
617 history
95. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Introducci´n al bash shell
o
Trucos del hist´rico
o
Usar las flechas de navegaci´n arriba y abajo para navegar
o
entre los comandos tecleados
Ctrl−r para buscar un comando en el historial
Para utilizar el ultimo argumento del comando anterior:
´
Esc,. (Presionar la tecla escape y luego un punto)
Alt− (Presionar alt m´s punto)
a
96. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Introducci´n al bash shell
o
Ampliaci´n de la l´
o ınea de comandos
Tilde (∼)
Puede indicar el directorio hogar del usuario
$ cat ∼/.bash profile
Puede indicar el directorio hogar de otro usuario
$ ls ∼maria/public html
$( ) o acento grave ` `
Ejecuta un comando dentro de otro.
echo “El ’nombre’ de este equipo es $(hostname)”
El ’nombre’ de este equipo es moiras
{}
Usados para repetir caracteres.
$ touch archivo{1,2,3}
$ rm -f archivo{1,2,3}
97. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Introducci´n al bash shell
o
Editando la l´
ınea de comandos
Ctrl-a desplaza el cursos al principio de la l´
ınea
Ctrl-e desplaza el cursos al final de la l´
ınea
Ctrl-u borra hasta el inicio de l´
ınea
Ctrl-k borra hasta el final de l´
ınea
Ctrl-flecha desplaza el cursos izquierda o derecha palabra por
palabra
98. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Introducci´n al bash shell
o
gnome-terminal
Aplicaciones -> Accesorios ->
Terminal
Emulador gr´fico de terminal que
a
soporta m´ltiples sesiones en
u
forma de pesta˜as.
n
Ctrl-Shift-t crea una nueva
pesta˜a
n
Ctrl-PgUp/PgDn cambia entre
pesta˜as
n
Ctrl-Shift-c copia el texto
seleccionado
Ctrl-Shift-v pega el texto
99. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Introducci´n al bash shell
o
Introducci´n a la programaci´n en bash
o o
Shell scripts son archivos de texto que contiene una serie de
comandos o instrucciones que ser´n ejecutadas.
a
Usos:
Automatizar comandos usados frecuentemente
Crear aplicaciones simples
Manipular cadenas de texto o archivos
Elaborar rutinas de diagn´stico
o
100. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Introducci´n al bash shell
o
Creaci´n de shell scripts
o
Paso 1: Creaci´n de un archivo de texto con alg´n editor
o u
como vi.
ınea indica el n´mero m´gico (magic shebang6 )
La primera l´ u a
#!/bin/bash
No olvidar comentar los scripts
Los comentarios inician con #
Paso 2: Convertir el script en ejecutable
$ chmod u+x miscript.sh
Para ejecutar el nuevo script:
Mover el script a un directorio en dentro del path de ejecuci´n
o
o
Indicar la ruta absoluta o relativa al script en la l´
ınea de
comandos
6
http://www.in-ulm.de/~mascheck/various/shebang/
101. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Introducci´n al bash shell
o
Ejemplo de Shell Script
#!/bin/bash
# Muestra la hora y el directorio actual de trabajo
echo ‘‘Saludos. La fecha $(date)’’
echo ‘‘Tu directorio actual de trabajo es: $(pwd)’’
102. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Introducci´n al bash shell
o
Variables
Una variable es un s´
ımbolo que representa un elemento no
especificado de un conjunto dado.
Usadas para almacenar datos o resultados de la ejecuci´n de
o
un comando.
Se asignan VARIABLE=VALOR
Se invocan con $VARIABLE
$ HOLA=“Hola, bienvenido a $(hostname)”
$ echo $HOLA
103. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Introducci´n al bash shell
o
Variables de Ambiente
Las variables son locales a un shell por default.
Las variables de ambiente se heredan a los procesos que el
shell genere.
export VARIABLE=VALOR
Son usadas por algunos programas para configuraci´n.
o
104. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Introducci´n al bash shell
o
Variables m´s comunes
a
Variables de configuraci´n:
o
PS1: Modifica la presentaci´n del prompt del bash
o
PATH: Indica los directorios donde se buscan los ejecutables
EDITOR: Editor por default
HISTFILESIZE: N´mero de comandos almacenados en el
u
hist´rico del bash
o
Variables informativas
HOME: Directorio hogar del usuario
EUID: User ID del usuario
105. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Introducci´n al bash shell
o
Aliases
Los alias permiten crear atajos (shortcuts) a los comandos
$ alias dir=’ls -laF’
alias sin par´metros muestra los alias creados
a
alias mas el nombre del alias se muestra el contenido
$ alias dir
$ alias dir=’ls -laF’
106. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Introducci´n al bash shell
o
Metacaracteres
Backslash () hace el siguiente caracter literal
$ echo Precio: $19.75
Precio $19.75
Los caracteres usados para proteger los metacaracteres:
Comilla simple (’) protege todo.
Comilla doble (“) protege todo menos
$ (s´
ımbolo monetario) - usado en variables
‘ (comilla invertida) - usado en sustituci´n de comandos
o
(diagonal invertida) - protege un solo metacaracter
! (admiraci´n) - usado en el comando history
o
107. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Introducci´n al bash shell
o
Login vs non-login shells
El inicio de sesi´n aplica de manera diferente para los shells
o
creados desde el login y para los non-login
Login shells son aquellos:
Creados desde el inicio de sesi´n (incluye el ambiente X)
o
su -
Non-login shells son:
su
scripts
instancias del bash
108. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Introducci´n al bash shell
o
Tareas de inicio del bash: profile
Almacenadas en /etc/profile (globales) y ˜/.bash profile
(usuario)
Solo se ejecutan en login shells
Uso:
Configurar variables de ambiente
Ejecutar comandos (ejemplo: revisar si hay correos nuevos)
109. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Introducci´n al bash shell
o
Tareas de inicio del bash: bashrc
Almacenadas en /etc/bashrc (globales) y ~/.bashrc
(usuario)
Ejecutadas para todos los shells
Uso:
Configurar variables de ambiente
Definir alias
110. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Introducci´n al bash shell
o
Tareas al terminar la sesi´n
o
Almacenadas en ˜/.bash logout (usuario)
Se ejecutan cuando el shell termina su sesi´n
o
Uso:
Creaci´n de respaldos autom´ticos
o a
Borrar archivos temporales
111. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Introducci´n al bash shell
o
Scripting: Leyendo par´metros por posici´n
a o
Los par´metros por posicionales se almacenan en variables que
a
almacenan los argumentos enviados a trav´s de la linea de
e
comandos desde un script
Los par´metros por posicionales disponibles son $1, $2, $3,
a
etc.
$* que almacena todos los argumentos
$# que almacena el n´mero de argumentos
u
112. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Introducci´n al bash shell
o
Scripting: Leyendo par´metros interactivos
a
El comando read se usa para leer argumentos de forma
interactiva
-p sirve para indicar un prompt
read lee de la STDIN y asigna una palabra por cada variable
$ read -p “Nombre de archivo: ” ARCHIVO
113. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Introducci´n al bash shell
o
Fin del tema
Dudas
Resumen
Expansi´n: $()
o
Historial: !cadena, !n´mero
u
Escapar caracteres: ’ ’,
Variables locales y globales
configuraci´n el bash shell
o
par´metros posicionales y uso del comando read
a
114. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Entrada y salida est´ndar
a
1 GNU/Linux
Conceptos b´sicos
a
Instalaci´n de CentOS
o
Primeros pasos
Introducci´n al sistema de archivos
o
Usuarios, grupos y permisos
Introducci´n al bash shell
o
Entrada y salida est´ndar
a
Editor de texto vim
Utiler´ para el procesamiento de texto
ıas
Utiler´ para la b´squeda y procesamiento de archivos
ıas u
Configuraci´n b´sica del sistema
o a
Inicio del sistema
Administraci´n de usuarios, grupos y permisos
o
Administraci´n de procesos
o
Instalaci´n/Desinstalaci´n de programas
o o
115. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Entrada y salida est´ndar
a
Objetivos
Al t´rmino de este tema, ser´ capaz de:
e a
Redirigir la salida de un comando a un archivo
Interconectar comandos
Usar for para iterar sobre valores
116. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Entrada y salida est´ndar
a
Entrada y Salida Est´ndar
a
Linux provee tres canales de I/O a los programas:
Entrada est´ndar (STDIN) - por default el teclado
a
Salida est´ndar (STDOUT) - por default la terminal
a
Error est´ndar (STDERR) - por default la terminal
a
STDOUT y STDERR pueden ser redirigidos a un archivo:
comando operador archivo
Operadores soportados:
> Redirige STDOUT a un archivo
2> Redirige STDERR a un archivo
&> Redirige toda la salida del comando a un archivo
El contenido del archivo es sobreescrito por default. Usar >>
para concatenar.
117. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Entrada y salida est´ndar
a
Entrada y Salida Est´ndar - Ejemplos
a
Ejecutar este comando como un usuario diferente a root
genera varios errores:
$ find /etc -name passwd
Los operadores pueden ser usados para redirigir los errores:
$ find /etc -name passwd > find.out
$ find /etc -name passwd 2> /dev/null
$ find /etc -name passwd > find.out 2>find.err
118. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Entrada y salida est´ndar
a
Redirigiendo la STDOUT a un programa
(Entubamiento)
El entubamiento (con el caracter |) permite interconectar
comandos:
comando1 | comando2
La STDOUT del comando1 es enviado al STDIN del comand2
en lugar de la pantalla.
STDERR no es enviado en el entubamiento
Usado para combinar la funcionalidad de varios comandos
comando1 | comando2 | comando3 ... etc
119. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Entrada y salida est´ndar
a
Entubamiento - Ejemplos
less: Muestra la salida del comando ls de manera paginada:
$ ls -l /etc | less
Se puede buscar cadenas con /
mail: Env´ la entrada v´ correo electr´nico
ıa ıa o
$ echo ‘‘correo de prueba’’ | mail -s ‘‘prueba’’
usuario@ejemplo.com
lpr: Env´ la entrada a una impresora
ıa
$ echo ‘‘prueba de impresi´n’’ | lpr
o
120. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Entrada y salida est´ndar
a
Redirigiendo a m´ltiples objetivos
u
$ comando1 | tee archivo | comando2
Almacena STDOUT del comando1 en archivo y entuba la
salida al comando2
Usos:
Localizaci´n y resoluci´n de problemas en entubamientos
o o
complejos
Ver y registrar la salida de un comando de manera simultanea
121. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Entrada y salida est´ndar
a
Redirigiendo STDIN desde un archivo
Para redirigir la entrada est´ndar se usa el caracter <
a
Algunos comandos pueden aceptar redirigir la STDIN desde
un archivo:
$ tr ’A-Z’ ’a-z’ < .bash profile
Este comando cambia las may´sculas por min´sculas del
u u
archivo .bash profile
Equivalente a:
$ cat .bash profile | tr ’A-Z’ ’a-z’
122. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Entrada y salida est´ndar
a
Enviando m´ltiples l´
u ıneas a la STDIN
Para redirigir varias l´
ıneas desde el teclado a la STDIN se usa
<<PALABRA
todo el texto hasta la PALABRA es enviado a la STDIN
$ mail -s ‘‘Comunicarse con el sysadmin’’ paco@ejemplo.com << END
> Hola paco,
>
> Favor de comunicarse al departamento de administraci´n de servidores.
o
> Necesitamos agendar un mantenimiento para el servidor1
>
> Saludos cordiales
> --
> Sysadmin Team
> END
123. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Entrada y salida est´ndar
a
Scripting: for
Realizar una acci´n por cada valor de un grupo
o
Ejemplo:
for NOM in hugo paco luis
do
CORREO=‘‘$NOM@ejemplo.com’’
MENSAJE=’Enviar estatus de proyectos hoy!’
echo $MENSAJE | mail -s Recordatorio $CORREO
done
Tambi´n es posible usar una secuencia de n´meros como lista:
e u
for num in $(seq 1 10)
Asigna los n´mero del 1 al 10 a la variable $num
u
seq X Y imprime una lista de n´meros de X hasta Y
u
for archivo in *.txt
Asigna los nombre de archivos a la variable $archivo
124. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Entrada y salida est´ndar
a
Fin del tema
Dudas
Resumen
Entrada y Salida Est´ndar
a
Redirecci´n de archivos
o
Entrada est´ndar (<)
a
Salida est´ndar (>)
a
Error est´ndar (2>)
a
Entubamiento de comandos
Breve descripci´n del comando for
o
125. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Editor de texto vim
1 GNU/Linux
Conceptos b´sicos
a
Instalaci´n de CentOS
o
Primeros pasos
Introducci´n al sistema de archivos
o
Usuarios, grupos y permisos
Introducci´n al bash shell
o
Entrada y salida est´ndar
a
Editor de texto vim
Utiler´ para el procesamiento de texto
ıas
Utiler´ para la b´squeda y procesamiento de archivos
ıas u
Configuraci´n b´sica del sistema
o a
Inicio del sistema
Administraci´n de usuarios, grupos y permisos
o
Administraci´n de procesos
o
Instalaci´n/Desinstalaci´n de programas
o o
126. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Editor de texto vim
Objetivos
Al t´rmino de este tema, ser´ capaz de:
e a
Usar los tres modos de operaci´n de vi y vim
o
Desplazarse entre el texto y entrar a modo inserci´n
o
Cambiar, borrar, copiar y pegar texto
Deshacer cambios
Buscar texto en un documento
Grabar y salir
127. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Editor de texto vim
Introducci´n a vim
o
Nueva versi´n de vi, el editor de texto est´ndar de Unix.
o a
El comando vi, ejecuto vim por default
gvim: Versi´n gr´fica de vim
o a
Ventajas:
Velocidad: Mucho atajos disponibles
Simplicidad: No hay dependencia de mouse/GUI
Disponibilidad: Incluido en casi todos los Unix
Desventajas:
Dificultad: Curva de aprendizaje
Los atajos no son intuitivos
128. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Editor de texto vim
vim: Un editor con modos
El comportamiento del teclado varia dependiendo el modo de
vi
Existen tres modos:
Modo comando (default): Mover cursos, copiar/pegar, cambiar
de modo
Modo inserci´n: Modificar texto
o
Modo Ex: Guardar, salir, etc
Esc sale del modo actual
EscEsc siempre regresa a modo comando
129. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Editor de texto vim
Primeros pasos con vim
Conocimientos m´
ınimos indispensables para usar vim:
Abrir un archivo
Modificar un archivo (modo inserci´n)
o
Grabar un archivo (modo ex)
130. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Editor de texto vim
Abriendo un archivo con vim
Para iniciar vi:
vim archivo
Si el archivo existe, el contenido es mostrado
Si el archivo no existe, vi lo crea y los cambios son guardados
por primera vez
131. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Editor de texto vim
Modificando un archivo - Modo inserci´n
o
i para comenzar a insertar texto en la ubicaci´n del cursor
o
Otras opciones para insertar texto:
A inserta al final de la l´ ınea
I inserta al inicio de la l´
ınea
o inserta una nueva l´ ınea (abajo)
O inserta una nueva l´ ınea (arriba)
132. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Editor de texto vim
Grabar y Salir - Modo Ex
: para ara entrar en modo ex
Crea una linea de comandos en la parte inferior de la pantalla
Comandos de escritura/salida comunes
:w Guardar
:wq Guardar y salir
:q! Salir sin guardar
133. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Editor de texto vim
Usando el modo comando
Modo por default en vi
Teclas describen movimientos y comandos de manipulaci´n de
o
texto
Para repetir comandos se precede por un n´mero
u
Ejemplos:
Flecha de navegaci´n derecha Mueve el cursor un caracter a
o
la derecha
5, Flecha de navegaci´n derecha Mueve el cursor cinco
o
caracteres a la derecha
134. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Editor de texto vim
Navegando en un documento
Navegar caracter por caracter: h, j, k, l
Las flechas de navegaci´n no funcionan en conexiones remotas
o
y sistemas viejos
Desplazarse por palabra: w, b
Desplazarse por oraci´n: ), (
o
Desplazarse por p´rrafo: }, {
a
Saltar a la linea x: xG
Saltar al final de archivo: G
135. Tema 2. Sistemas operativos tipo UNIX
GNU/Linux
Editor de texto vim
Buscando y Reemplazando
Buscar es igual que con el comando less
/, n, N
Buscar/Reemplazar como en sed
Afecta solo la l´
ınea actual
Usa x o y rangos o % para todo el archivo
:1,5s/gato/perro/
: %s/gato/perro/gi