You are on page 1of 18

Repaso de GNU/Linux

Alejandro Villarreal

(alejandro.v@ciencias.unam.mx)

Computacin

GNU/Linux

Es un Sistema Operativo de fuente libre (open


source) y gratuito

Kernel: Linux
Herramientas bsicas del SO: GNU

Existen muchsimas distribuciones distintas:

Cada una incluye un conjunto de herramientas


Distintas formas de empaquetar los programas
En general compatibles entre s
Entre las ms comunes estn Ubuntu, Debian,
Fedora, Scientific Linux CERN,

GNU/Linux: Ventanas

Existen dos entornos grficos principales para Linux: Gnome y KDE

Equivalente al entorno de ventanas de windows


Compatibles entre s
Cuestin de gustos

GNU/Linux: La consola

Ventana en la que se teclean los comandos que se quieren ejecutar


Puede ser ms difcil de aprender (a veces)

Pero es muuuuucho ms flexible

No dependes de las opciones que hay en tu GUI

Y sobre todo es
muchsimo ms eficiente

Hay que aprenderse los comandos

Al no haber clicks y
movimientos de cursors,
permite automatizar
tareas repetitivas
Gran parte de lo que
hacemos es repetitivo

Tambin optimiza la
posibilidad de ejecutar
tareas en nodos remotos

GNU/Linux
En el entorno cientfico y en particular en fsica Linux es
mayoritario

SLC es casi omnipresente en AAEE:


http://linux.web.cern.ch/linux/scientific5/

Ubuntu muy adecuada para usarios con poca experiencia:


http://www.ubuntu-es.org

Existen aplicaciones que permiten ejecutar Linux dentro de


Windows

Emuladores: VMWare/Virtualbox:

Emulacin completa de Linux


http://www.vwmare.com, http://www.vitualbox.org

Cygwin:

Entorno de aplicaciones Linux portadas a Windows


http://www.cygwin.com/

Otros conceptos de Linux: Usuarios

Usuarios:

Linux es un sistema multiusuario


Cada usuario posee unos permisos concretos
(lectura, escritura, ejecucin,)
El usuario root puede hacer (casi) todo

Grupos:

Cada usuario pertenece a al menos un grupo


Los permisos se pueden regular a nivel de usuario

Otros conceptos de Linux: Ficheros

Terminologa:

Ficheros = Archivos = Documentos


Directorios = Carpetas

Todos los ficheros pertenecen a algn


usuario

Que controla su visibilidad para el resto


de usuarios/grupos

Los ficheros se encuentra en algn


directorios

Directorios especiales:
. Dir actual
.. Dir superior
/ Directorio raz
~ Directorio de usuario

Subdirectorios:

El camino (path) hasta un directorio se


construye encadenando los directorios
intermedios separados por /. Ej:
/home/larry

Otros conceptos Linux: Comandos

Los comandos se ejecutan teceando su


nombre y la tecla enter

Los comandos aceptan opciones y argumentos

$
$
$
$

Suelen tener las siguientes formas:


comando --opcion
comando o
comando --opcion=bla
comando o bla

Directorios en Linux

Crear un directorio:
$ mkdir nombredir

Borrar un directorio (vacio):


$ rmdir nombredir

Moverse a un directorio:
$ cd nombredir

Averiguar cual es el directorio actual:


$ pwd

Directorio = Carpeta

Ficheros = Archivos
= Documentos

Ficheros en Linux

Obtener la lista de los ficheros en el directorio actual:


$ ls [directorio|fichero]

Opciones:
$ ls -l: Con detalles
$ ls -a: Todos (incluidos ocultos)
$ ls -t: Ordenar por fecha de modificacin
$ ls r: Ordenacin inversa
Se pueden combinar las opciones. Ej:
$ ls -lrt

Smbolos especiales:
Borrar un fichero:
$ rm fichero
? Un caracter
Renombrar un fichero:
* Conjunto de caracteres
$ mv ficheroorig ficherofinal
Cambiar de sitio un fichero:
$ mv ficheroorig path/ficherofinal
Copiar un fichero:
$ cp dirorigen/ficheroorig dirfinal/ficherofinal
Copiar un directorio:
$ cp r dirorigen dirfinal

Ficheros en Linux - Permisos


Al hacer un listado largo de un fichero (ls l) o
directorio (ls ld) obtenemos:
-rw-r--r-- 1 user1 group 0 2009-10-23 17:51 fichero.txt
drwxr-xr-x 2 user2 group 4096 2009-10-23 17:52 directorio
Usuario Grupo

Fecha y hora de la
ltima modificacin

al que pertenece

Nombre
Triadas de permisos:
rwxr-x r-x
-: fichero
d: directorio
l: link (enlace)

x: ejecucin
w: escritura
r: lectura

usuario (u)
grupo (g)
otros (o)

Tamao del fichero en bytes


(usar ls h para
formatos ms legibles)

Otros comandos tiles de Linux

Cambiar los permisos de los ficheros


$ chmod [u|g|o|a][+|-][r|w|x] fichero
Ej: chmod u+x fichero

Ver el contenido de un fichero


$ less fichero

Ayuda sobre un comando


$ man comando

Editores en Linux

Hay muchos distintos

Cada uno con sus ventajas y


desventajas
La curva de aprendizaje puede ser
muy distinta

Normalmente inversamente
proporcional a la velocidad a la que se
pueden hacer las cosas

Algunos de los ms conocidos:

vi: Editor muy bsico de difcil


aprendizaje

Funciona en cualquier Linux

nedit/gedit/kate: Editores sencillos y


con un montn de funcionalidades
(X)emacs: Editor no tan sencillo, pero
tremendamente configurable y potente

Resumen de comandos bsicos en Linux

-- Ficheros -Obtener listado:


ls [directorio|fichero]
-l: Con detalles
-a: Todos (incluidos ocultos)
-rt: Ordenar por antiguedad
Borrar:
rm fichero
Mover/Renombrar:
mv ficheroorig ficherofinal
Smbolos especiales:
? Un caracter
* Conjunto de caracteres
Copiar:

-- Directorios -Crear:
mkdir nombredir
Borrar:
rmdir nombredir
Cambiar:
cd nombredir
Dir actual:
pwd
Directorios especiales:
. Dir actual
.. -> Dir superior

cp dirorigen/ficheroorig dirfinal/ficherofinal
cp r dirorigen dirfinal

Ms comandos Linux

Ver qu hay en un fichero


less fichero
Ayuda sobre comandos:
man comando

Ejecutar

un programa:
dir/programa
Ejecutar un script:
source script

-- Programacin -

Comando:
ipython
Opciones:
ipython notebook
Ejemplo:
python notebook archivo.py

Programa en bash
Cuando los comandos

son repetitivos se puede


hacer un programa en la
terminal

Ejemplo

#!/bin/bash
echo "Hello World
chmod 700 ./hola.sh
./hello.sh

Ejemplo de un programa para


contar del 1 al 10
Escribir
#!/bin/bash

# this program counts

from 1 to 10:
for i in 1 2 3 4 5 6 7 8 9 10;
do
echo $i
done

un programa
que cree un archivo,
despus borre ese mismo
archivo y despliegue el
mensaje archivo creado y
borrado.

Ejercicio Linux
Siempre desde la consola!
1.Crea un directorio llamado primero
2.Crea otro directorio dentro de primero llamado segundo
3.Crea un fichero llamado hola.txt con un texto que
diga Hola. Mi nombre es (tu nombre)
4.Renombra el fichero hola.txt como nombre.txt
5.Copia el nuevo fichero al directorio primero
6.Copia el directorio segundo entero a otro directorio
nuevo llamado tercero dentro de primero.
7.Borra el directorio segundo
8.Averigua para que sirve el comando date
9.Cierra el Script y mndalo por correo

You might also like