1. Curso IntroductorioCurso Introductorio
de Linux parade Linux para
Sistemas OperativosSistemas Operativos
Universidad Tecnológica NacionalUniversidad Tecnológica Nacional
Facultad Regional TucumánFacultad Regional Tucumán
2. Ernesto J. SaleErnesto J. Sale
Ing. ComputaciónIng. Computación
utn@ernet.com.arutn@ernet.com.ar
3. Temas a desarrollarTemas a desarrollar
1.1. Instalación y utilización de una máquinaInstalación y utilización de una máquina
virtual.virtual.
2.2. Inicio de sesión en GNU/Linux.Inicio de sesión en GNU/Linux.
3.3. La consola virtual: concepto. ElLa consola virtual: concepto. El
intérprete de comandos (shell). Elintérprete de comandos (shell). El
entorno o ambiente (environment).entorno o ambiente (environment).
4.4. Documentación en línea.Documentación en línea.
5.5. Estructura de un sistema de archivos.Estructura de un sistema de archivos.
Comandos relacionados.Comandos relacionados.
4. Temas a desarrollarTemas a desarrollar
6.6. Otros comandos. Crear usuarios.Otros comandos. Crear usuarios.
Cambiar la contraseña.Cambiar la contraseña.
7.7. El editor de textos VIM.El editor de textos VIM.
8.8. Compilar y depurar programas en C.Compilar y depurar programas en C.
9.9. Configuración de la red IP desde laConfiguración de la red IP desde la
máquina virtual. Configuración básica enmáquina virtual. Configuración básica en
GNU/Linux. Comandos relacionados.GNU/Linux. Comandos relacionados.
10.10.Cliente SSH.Cliente SSH.
11.11.FTP: concepto y utilización.FTP: concepto y utilización.
6. vivi
Editor de textoEditor de texto
Usualmente reemplazado por vimUsualmente reemplazado por vim
vi mejorado (VImproved)vi mejorado (VImproved)
vimtutorvimtutor
TutorialTutorial
ModosModos
Comando (ESC)Comando (ESC)
EdiciónEdición
/, ?/, ?
BúsquedaBúsqueda
7. vivi
h,j,k,l o flechas de direcciónh,j,k,l o flechas de dirección
DesplazamientoDesplazamiento
G, H, LG, H, L
Saltos (absoluto, head relativo, last relativo)Saltos (absoluto, head relativo, last relativo)
i,a.c,d,dd,p,oi,a.c,d,dd,p,o
EdiciónEdición
ZZ, :w!, :q!, :e!ZZ, :w!, :q!, :e!
SalirSalir
:!:!
Ejecución de comando de shellEjecución de comando de shell
8. vivi
Resalta sintaxis (código fuente)Resalta sintaxis (código fuente)
:syntax on:syntax on
AutoindentarAutoindentar
:set autoindent:set autoindent
Ayuda en líneaAyuda en línea
:help:help
ConfiguraciónConfiguración
/etc/vimrc/etc/vimrc generalgeneral
~/.vimrc~/.vimrc particular de cada usuarioparticular de cada usuario
.exrc.exrc particular de cada directorioparticular de cada directorio
““set exrc” en vimrc o .vimrc habilita .exrcset exrc” en vimrc o .vimrc habilita .exrc
10. Compilar y depurar en CCompilar y depurar en C
gccgcc
GNU Compiler CollectionGNU Compiler Collection
Originalmente, GNU C CompilerOriginalmente, GNU C Compiler
La extensión es importanteLa extensión es importante
gcc programa.c -o ejecutablegcc programa.c -o ejecutable
Sin -o, genera a.outSin -o, genera a.out
Si la compilación resulta bien, no presentaSi la compilación resulta bien, no presenta
mensajes, de otro modo, muestra erroresmensajes, de otro modo, muestra errores
g++g++
Compilador C++Compilador C++
11. Etapas de compilaciónEtapas de compilación
PreprocesadoPreprocesado
Interpretan directivas, como variablesInterpretan directivas, como variables
inicializadas con #defineinicializadas con #define
gcc -E prueba.c > prueba.ppgcc -E prueba.c > prueba.pp
more prueba.ppmore prueba.pp
CompilaciónCompilación
Código fuenteCódigo fuente EnsambladorEnsamblador
gcc -S prueba.cgcc -S prueba.c
more prueba.smore prueba.s
12. Etapas de compilaciónEtapas de compilación
EnsambladoEnsamblado
EnsambladorEnsamblador Código objeto (leng. máquina)Código objeto (leng. máquina)
as -o prueba.o prueba.sas -o prueba.o prueba.s
gcc -c prueba.c (alternativa directa)gcc -c prueba.c (alternativa directa)
file prueba.ofile prueba.o
Enlazado (último paso)Enlazado (último paso)
Las librerías externas son incorporadasLas librerías externas son incorporadas
ld: enlazador (complicado de usar)ld: enlazador (complicado de usar)
gcc -o prueba prueba.ogcc -o prueba prueba.o
Puede ser estático o dinámicoPuede ser estático o dinámico
Todos los pasos se realizan con sólo tipearTodos los pasos se realizan con sólo tipear
gcc -o prueba prueba.cgcc -o prueba prueba.c
13. GDBGDB
GNU DebuggerGNU Debugger
Iniciar el programa con cualquier parámetroIniciar el programa con cualquier parámetro
Hacer que el programa se detenga en ciertasHacer que el programa se detenga en ciertas
condicionescondiciones
Examinar lo sucedido una vez que elExaminar lo sucedido una vez que el
programa ha sido detenidoprograma ha sido detenido
Realizar cambios en el programa en tiempoRealizar cambios en el programa en tiempo
de ejecuciónde ejecución
14. Tema 9Tema 9
Configuración de la red IP desdeConfiguración de la red IP desde
la máquina virtual.la máquina virtual.
Configuración básica enConfiguración básica en
GNU/Linux. ComandosGNU/Linux. Comandos
relacionados.relacionados.
15. Redes IPRedes IP
Internet Protocol v4Internet Protocol v4
Permite interconectar dispositivos (hosts)Permite interconectar dispositivos (hosts)
PCsPCs
Celulares, palmtopsCelulares, palmtops
SensoresSensores
Etc.Etc.
Cada host tiene una dirección única dentro de laCada host tiene una dirección única dentro de la
red para enviar y recibir datos (paquetes)red para enviar y recibir datos (paquetes)
ID de redID de red
ID de hostID de host
Similar al sistema postalSimilar al sistema postal
16. Redes IPRedes IP
IP: 192.168.4.29IP: 192.168.4.29
Máscara: 255.255.0.0Máscara: 255.255.0.0
ID de red: 192.168ID de red: 192.168
ID de host en la red: 4.29ID de host en la red: 4.29
IP: 192.168.0.245IP: 192.168.0.245
Máscara: 255.255.0.0Máscara: 255.255.0.0
ID de red: 192.168ID de red: 192.168
ID de host en la red: 0.245ID de host en la red: 0.245
Estas 2 máquinas pueden comunicarse porEstas 2 máquinas pueden comunicarse por
estar en la misma redestar en la misma red
17. Redes IPRedes IP
IP: 192.168.4.29IP: 192.168.4.29
Máscara: 255.255.255.0Máscara: 255.255.255.0
ID de red: 192.168.4ID de red: 192.168.4
ID de host en la red: 29ID de host en la red: 29
IP: 192.168.0.245IP: 192.168.0.245
Máscara: 255.255.255.0Máscara: 255.255.255.0
ID de red: 192.168.0ID de red: 192.168.0
ID de host en la red: 245ID de host en la red: 245
Estas 2 máquinas NO puedenEstas 2 máquinas NO pueden
comunicarse directamentecomunicarse directamente
18. Redes IPRedes IP
Dirección IPDirección IP
4 “octetos”4 “octetos” 4 bytes4 bytes
Rango de valores 0-255 por octetoRango de valores 0-255 por octeto
Los valores 0 y 255 son reservados enLos valores 0 y 255 son reservados en
algunos casosalgunos casos
Hay públicas, privadas y reservadasHay públicas, privadas y reservadas
IPs privadasIPs privadas
10.0.0.0 - 10.255.255.255 (clase A)10.0.0.0 - 10.255.255.255 (clase A)
172.16.0.0 - 172.31.255.255 (clase B)172.16.0.0 - 172.31.255.255 (clase B)
192.168.0.0 - 192.168.255.255 (clase C)192.168.0.0 - 192.168.255.255 (clase C)
19. IP en GNU/LinuxIP en GNU/Linux
ifconfigifconfig
Configura interfaces de red (eth0, eth1,etc.)Configura interfaces de red (eth0, eth1,etc.)
ifconfig eth0 192.168.1.20ifconfig eth0 192.168.1.20
ifconfig eth0:1 10.0.0.2 (virtual)ifconfig eth0:1 10.0.0.2 (virtual)
Ifconfig eth0:1 downIfconfig eth0:1 down
Otros comandos para investigarOtros comandos para investigar
ipip
arparp
pingping
traceroutetraceroute
20. IP en VMwareIP en VMware
VMware crea 3 interfaces virtualesVMware crea 3 interfaces virtuales
Bridged (conectada directamente a unaBridged (conectada directamente a una
interfaz real)interfaz real)
NAT (VMnet 8)NAT (VMnet 8)
Host-only (VMnet 1)Host-only (VMnet 1) interna a la PCinterna a la PC
Se puede elegir en el menú DevicesSe puede elegir en el menú Devices
Network ConnectionsNetwork Connections
vmnetcfg.exevmnetcfg.exe
Archivos de programaVMware PlayerArchivos de programaVMware Player
Permite configurar las interfaces virtualesPermite configurar las interfaces virtuales
22. SSHSSH
Secure SHellSecure SHell
Reemplaza a telnet y rshReemplaza a telnet y rsh
Conexión inseguraConexión insegura
Provee confidencialidadProvee confidencialidad
Mecanismos criptográficos bien probadosMecanismos criptográficos bien probados
Ofrece una conexión de terminal segura a travésOfrece una conexión de terminal segura a través
de redes IPde redes IP
Esquema cliente - servidorEsquema cliente - servidor
putty.exeputty.exe
Cliente SSH para WindowsCliente SSH para Windows
24. FTPFTP
File Transfer ProtocolFile Transfer Protocol
Protocolo de transferencia de archivos en redesProtocolo de transferencia de archivos en redes
IPIP
Permite transferencia de archivos entre hostsPermite transferencia de archivos entre hosts
Esquema cliente - servidorEsquema cliente - servidor
En la barra de Direcciones del explorador:En la barra de Direcciones del explorador:
ftp://192.168.1.1ftp://192.168.1.1
Soporta inicio de sesión (login):Soporta inicio de sesión (login):
ArchivoArchivo Iniciar sesión como…Iniciar sesión como…