Download Introducción a Linux

Document related concepts

Ruta (informática) wikipedia , lookup

Cp (Unix) wikipedia , lookup

Grep wikipedia , lookup

Variable de entorno wikipedia , lookup

Midnight Commander wikipedia , lookup

Transcript
Introducción a Linux
Ahora yo: Martin Altmann, PhD
Maximiliano Moyano D’Angelo
Magister Astronomía
Universidad de Chile
Temario
• Introducción a Linux/Unix – Historia.
• Generalidades de Linux.
• Red de Calan.
• Editores Básicos (emacs,vi).
• Comandos Básicos.
• Comandos Útiles.
• Herramientas Avanzadas.
• Herramientas Astronómicas.
Introducción a Linux Historia
-A pesar del éxito comercial de UNIX y de su aceptación como
sistema operativo libre inicial, el código fuente de UNIX no
podía ser explicado en aulas universitarias, lo que comenzó a
restringuir su entendimiento.
- Ante esta situación, el profesor Andrew Tenembaum, de la
Universidad de Vrije, en Amsterdam, creo MINIX (de MiniUNIX). MINIX había sido desarrollado en una IBM PC y, sin
embargo ofrecía las mismas llamadas al sistema que UNIX V7.
Tenembaum hizo público el código de MINIX.
-En 1990, Linus Torvals, un estudiante de 23 años de la
Universidad de Helsinki, en Finlandia, comenzó a desarrollar,
como hobby, un proyecto basado en el MINIX de Andrew
Tenembaum.
- En octubre de 1991, anuncio la primera versión "oficial" de
LINUX, la 0.02, que ya era capaz de ejecutar el SHELL bash y el
compilador gcc de GNU.
Introducción a Linux –
Definición
El término Linux estrictamente se refiere al núcleo
linux, pero es más comúnmente utilizado para describir
al sistema operativo tipo Unix (que implementa el
estándar POSIX - Sistema Operativo Portable basado en
UNIX ), que utiliza primordialmente filosofía y
metodologías libres y que está formado mediante la
combinación del núcleo Linux con las bibliotecas y
herramientas del proyecto GNU (sistema operativo
completo libre) y de muchos otros proyectos/grupos de
software (libre o no libre).
El kernel o núcleo de linux se podría definir como el
corazón del sistema. Es el encargado de que el software
y el hardware funcionen de forma adecuada en el
computador en el que se encuentra.
Las funciones más importantes del mismo, aunque no
las únicas, son:
• Administración de la memoria, para todos los
programas en ejecución.
• Administración del tiempo de procesador, que estos
programas en ejecución utilizan.
Generalidades de Linux
• Sistema Operativo libre, es decir gratis,
por consiguiente no hay que pagar licencia
para usarlo.
• Codigo Fuente disponible.
• Multitarea, es decir varios procesos o
programas se pueden ejecutar al mismo
tiempo.
• Multiusuario, varios usuarios pueden
iniciar sesión al mismo tiempo.
• Gran capacidad y seguridad para trabajar
en red.
• Muchas mas…
Distribuciones de Linux
• “Una distribución no es otra cosa, que una
recopilación de programas y ficheros,
organizados y preparados para su
instalación que utilizan el nucleo de linux
como base”
• Algunas distribuciones más conocidas son:
– REDHAT(www.redhat.com)
– DEBIAN (http://www.es.debian.org/)
– SUSE (http://www.novell.com/es-es/linux/suse/)
Gestores de Ventanas
“Un gestor de ventanas no es otra cosa
que el conjunto de programas, ventanas,
funcionalidades, que hacen posible que el
usuario pueda interactuar con el sistema
de forma gráfica y no en modo texto”
Ventaja: hacen más fácil el trabajo, con un
ambiente más parecido a Windows.
Desventaja: en algunos casos utilizan
muchos recursos del sistema.
Gestores comunes: KDE,GNOME,FVWM2 y
muchos más.
Red de Calan
Pagina Web del Departamento
www.das.uchile.cl
Seccion: Uso Local -> Diagrama Red de
Computación.
-> Configuración de Impresoras.
-> Hágalo Ud. Mismo.
Editores Básicos
vi
Provee capacidad de edición de texto básicas.
Hay aspectos importantes acerca de vi:
- vi es proporcionado con todos los sistemas UNIX.
- vi usa una pequeña cantidad de memoria, lo cual
permite una operación eficiente cuando la red está
muy ocupada.
-vi usa teclas alfanuméricas standares para los
comandos.
-no necesita servidor X o gestor de ventanas para
funcionar, solo una interfaz de comandos.
Editores Básicos
vi – comandos
:q
:q!
:w
archivo.
i
ESC
:help
=>
salirse de vi.
=>
=>
salirse de vi sin importar modificación.
escribir las modificaciones o crear
=>
=>
=>
insertar texto.
salir del modo de insertar texto.
ayuda de vi.
Editores Básicos
emacs
Es el editor de textos más potentes que existe para linuxUnix.
Características principales:
- reconocimiento de formatos (convenciones de sintaxis)
- facilidad de configuracion y personalizable (comandos
nuevos, asignar combinacion de teclas diferentes,etc)
-Extensibilidad , lenguaje de programación propio para
agregar nuevas funcionalidades.
-Extenso y complejo, gran cantidad de comandos.
Editores Básicos
emacs – comandos
-bash
 se ejecuta en modo
parecido a vi. En este modo F1
para ayuda y F10 para menus.
-ctrl+x+s : guardar documento
actual.
-ctrl+x+c: salir de emacs.
-ctrl+s:buscar en el documento.
Comandos Básicos
Terminal: una interfaz de comandos
que permite interactuar con el PC a
traves de la pantalla, mouse,
cursos,etc. Existen gran variedad con
distintas características de memoria,
shells disponibles, etc.
Shell: interprete de comandos de linux.
Los más conocidos: tcsh,bash.
Comandos Básicos
man
: ayuda acerca de un
comando, al ejecutarlo se abre vi con
la ayuda solicitada.
Sintaxis: >man “nombre comando”
Para consultar su ayuda basta
ejecutar:
>man man
Comandos Básicos
info: muestra información general
acerca de un comando.
Sintaxis: >info “nombre comando”
Para consultar su ayuda basta
ejecutar:
>man info
Comandos Básicos
chmod: cambia permisos de lectura,
escritura y ejecución en archivos o
directorios.
Sintaxis: >chmod [ugo] [+/-] [wrx] “nombre
archivo/directorio”
u : permisos del usuario.
g: permisos a usuarios del grupo.
o: otros usuarios no pertenecientes al grupo.
Opciones más comunes:
chmod –R +resto 
recursivamente.
cambia permisos
Comandos Básicos
ls : lista el contenido del directorio
actual.
Sintaxis: >ls “nombre directorio”
Opciones más comunes:
ls –l 
ls –a 
ocultos.
ls –R 
ls –lh 
humano”
listado mas detallado.
listado completo incluyendo archivos
entra recursivamente en subdirectorios.
lista tamaño de archivos en “formato
Comandos Básicos
mkdir: crea un directorio nuevo en el
directorio actual.
Sintaxis: >mkdir “nombre directorio”
Comandos Básicos
rmdir: borra un directorio vacio.
Sintaxis: >rmdir “nombre directorio”
Comandos Básicos
cp: copia archivos y directorios.
Sintaxis: >cp [opciones] “origen”
“destino”
Opciones más comunes:
cp –R/r +resto copia recursivamente
Comandos Básicos
xhost: permite o restringue el
despliegue de ventanas X-Window en
el pc actual.
Sintaxis: >xhost [+/-]
+:permite el despligue de ventanas externas.
-:prohibe el despligue de ventanas externas.
Comandos Básicos
setenv: cambia o agrega una variable
de entorno, comando que funciona
bajo tcsh.
Sintaxis: >setenv “variable entorno”
valor
Opciones más comunes:
setenv DISPLAY maquina_actual:0.0
Comandos Básicos
mv: mueve o renombra archivos
Sintaxis: >mv origen destino
>mv archivos directorio
Comandos Básicos
mount: monta un sistema de archivos
Sintaxis: >mount “origen driver” “directorio destino”
Opciones más comunes:
mount
mount
mount
mount
/media/cdrecorder/  monta el grabador de cd en ese directorio
/media/dvd/  monta el dvd en ese directorio.
/media/sda1/

monta el pentdrive
/dev/hda1 /media/windows  monta disco duro en ese directorio.
Comandos Básicos
ps: muestra la lista de procesos ejecutándose.
Sintaxis: >ps
Opciones más comunes:
ps –A  muestra todos los procesos que se
ejecutan.
ps – - User “nombre usuario” muestra procesos de
ese usuario.
Comandos Básicos
kill /killall: el primero mata los procesos según un
identificador, el segundo termina todo proceso
relacionado con un identificador.
Sintaxis: >kill -9 codigo_proceso
>killall “nombre_proceso”
Comandos Básicos
who: muestra quien esta logeado en esa máquina
específica en ese instante.
Sintaxis: >who
Comandos Básicos
passwd: cambia el password del usuario.
Sintaxis: >passwd
Comandos Básicos
rm: elimina archivos o directorios
Sintaxis: >rm [opcion] “nombre archivo o directorio”
Opciones más comunes:
rm –r “nombre directorio”  borra recursivamente hacia dentro del
directorio.
rm –f “nombre archivo”  borra sin preguntar.
rm –r –f “nombre directorio”  borra todo dentro del directorio,
incluyendolo, sin preguntar. CUIDADO!
Comandos Básicos
cd: entra o sale de directorios.
Sintaxis: >cd “nombre_directorio”
Opciones más comunes:
cd ../  volver un directorio atrás.
cd “sin parametros”  vuelve al directorio “home”
Comandos Básicos
lpr / lpq: el primero imprime el archivo ascii o ps
indicado, el segundo muestra el estado actual de
las impresiones.
Sintaxis: >lpr –P”nombre_impresora”[d/”sin” d]
“nombre_archivo”
>lpq
Opciones más comunes:
lpr –Plasercolord ejemplo.ps  imprime el archivo ejemplo.ps en la
impresora lasercolor en formato doble hoja o duplex.
lpq  muestra el estado de las impresiones.
Comandos Básicos
more : muestra la salida de un comando pantalla
por pantalla
Sintaxis: > comandos | more
.
Comandos Básicos
pwd: muestra el directorio actual donde nos
encontramos.
Sintaxis: >pwd
hostname: muestra el nombre de nuestra maquina.
Sintaxis: >hostname
top: para ver los procesos y el uso de memoria y
CPU. Para salir “q”.
Lista comandos utiles
• pine: para ver el mail en calan.
• acroread: para ver archivos PDF.
• gs/ghostview : para ver archivos PS.
• cal:muestra el calendario.
• date:muestra la fecha actual.
• finger: muestra información de un
usuario.
• mozilla/netscape:navegador de
internet.
Herramientas Avanzadas
• Linux tiene la capacidad para
compartir recursos entre máquinas.
• Podemos ejecutar programas tanto
de nuestra máquina como de otras.
• Todo lo anterior es aplicable a un
máquina propia tanto como en una a
la que nos conectamos
remotamente.
SSH
• Programa que nos permite conectarnos
remotamente a otra máquina y ejecutar
comandos en ella.
Sintaxis:
ssh nombre_usuario@maquina
Ejemplo:
ssh calan  podemos omitir el nombre de usuario si queremos
conectarnos como el usuario en uso.
ssh max@io  cuando cambiamos de usuario tenemos que
especificarlo.
ssh [email protected]  cuando nos conectamos desde
un lugar que no es area local debemos de especificar tanto nombre
de usuario como ruta completa a la máquina que nos queremos
conectar.
SSH
- Para poder ejecutar programas de la máquina
remota con despliegue gráfico debemos antes
permitir el despliegue hacia nuestra máquina. Es
decir:
>xhost +
- Una vez conectados a la otra máquina debemos de
actualizar la variable de entorno DISPLAY para que
contenga nuestra máquina. Es decir:
>setev DISPLAY “nuestra_maquina”:0.0
- Hecho lo anterior podemos trabajar normalmente
como si trabajáramos en nuestra propia máquina.
Copiar remotamente
archivos
• SCP: para copiar archivos
remotamente entre distintas
máquinas.
Sintaxis: > scp archivos
nombre_usuario@maquina:directorio_destino/
Ejemplo:
scp hola.txt
[email protected]:/remote/centauro/mmoyano/
Copiar remotamente
archivos
• rsync: para copiar archivos
remotamente entre distintas
máquinas, con la salvedad que solo
actualiza archivos distintos.
Sintaxis: > rsync --rsh=ssh -vrtlap directorio_origen
user@maquina:directorio_destino
Ejemplo:
rsync --rsh=ssh -vtrlap Tarea1 max@io:/jupiter/max/
Copiar remotamente
archivos
• sftp: para conectarse a otra maquina
y copiar interactivamente los
archivos necesarios.
Sintaxis: > sftp nombre_usuario@maquina
Una vez conectado para copiar un archivo basta hacer >get
archivo
La mayoria de los comandos usuales son validos. >help para
ayuda.
Ejemplo:
sftp max@io
Herramientas Astronomicas
• SKYVIEW skyview.gsfc.nasa.gov/
• SIMBAD simbad.ustrasbg.fr/Simbad
• ADS adsabs.harvard.edu/
• ASTRO-PH xxx.lanl.gov/
Lo logramos!!!!
• Aprendimos LINUX con el tio MAX.
Martin
FIN!!!!!!