Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Version imprimible
Este documento deber servir exclusivamente como material de apoyo
al contenido del curso interactivo accesible a travs de internet.
Indice
Evaluacin inicial...................................................................... 4
Presentacin........................................................................... 5
Ejemplos................................................................................ 6
Mdulo I. Introduccin............................................................... 7
Introduccin......................................................................... 7
Instalacin........................................................................... 9
Historia.............................................................................. 11
Entornos de trabajo.............................................................. 14
Prctica: Consola................................................................. 21
Distribuciones...................................................................... 21
Autoevaluacin: Distribuciones................................................. 24
Sopa de letras.................................................................... 25
Evaluacin primera.................................................................. 26
Mdulo II. rdenes comunes..................................................... 27
Instrucciones habituales......................................................... 27
Sintaxis de las rdenes......................................................... 31
Autoevaluacin: Comandos..................................................... 38
Prctica: Primeros comandos.................................................. 38
Sistema de ficheros.............................................................. 38
Instrucciones de ficheros........................................................ 45
Instrucciones de ficheros..................................................... 45
Inspeccionar.................................................................... 45
Evaluacin inicial
Este recurso es de tipo Evaluacin.
Debe conectarse a la plataforma para realizar la evaluacin. Recuerde que las
evaluaciones son obligatorias ya que determinan la nota final.
Presentacin
Despus debe descargar el recurso llamado "ejemplos" del curso. Es muy importante
probarlo todo, hacer todos los ejercicios, modificarlos, probarlos, preguntar al tutor
cualquier duda o comentar las impresiones en el foro.
Ejemplos
Este recurso es de tipo Multimedia.
Tiene que conectarse a la plataforma para acceder a este recurso.
Mdulo I. Introduccin
Introduccin
Curva de aprendizaje
La curva de aprendizaje es un grfico que nos gusta mucho a los profesores; muestra
cunto esfuerzo es necesario para lograr aprender a hacer algo.
Instalacin
Aprender a instalar en profundidad un sistema Linux no es un objetivo de este curso.
Sin embargo,practicar las rdenes de Unix es fundamental para el aprendizaje de este
curso, por esto vamos a dar unas pequeas nociones sobre cmo instalar Linux.
Comprar
Se puede comprar (que sean libres no significa que no se puedan vender, lo que no
se puede hacer es limitar el derecho de copia), as que puedes ir a un distribuidor de
informtica y comprar una distribucin grande;no son muy caras y vienen con manuales
muy tiles.
Descargarla de Internet
Tambin se pueden descargar los CD-ROMs de Internet y despus grabarlos. Aqu
tenemos una lista de lugares donde se pueden descargar varias distribuciones:
Instalacin completa
La instalacin completa en disco duro es complicada porque normalmente querremos
tener Linux y mantener Windows, y cuando instalamos Windows, este sistema
operativo ocup todo el espacio en disco duro para l.
Antes de instalar Linux en un ordenador que ya tiene Windows es necesario hacer una
copia de seguridad de todos nuestros datos, los programas se pueden volver a instalar,
pero las fotos digitales de las vacaciones pasadas no las podremos recuperar si se
borran durante el proceso.
Una vez que est instalado el ordenador al arrancar nos preguntar con cul de los
sistemas operativos queremos trabajar. Se lo indicamos con las teclas de las flechas
arriba o abajo y la tecla enter cuando est seleccionada la opcin correcta.
Ejecucin live
Para ejecutar una distribucin live, es necesario decirle al ordenador que cuando
arranque busque el sistema operativo en el CD-ROM, y si no hay ninguno que lo
busque en el disco duro.
Este programa se maneja con las teclas de las flechas, la tecla enter para hacer
cambios.
Historia
Conocer un poco la Historia de estos sistemas operativos no es fundamental, pero
nos aporta un poco de perspectiva para organizar algunos conceptos con los que
trabajaremos en el curso.
Unix
Unos ingenieros, en su tiempo libre ,hicieron por su cuenta una versin reducida del
sistema Multics y como chiste le llamaron Unix ,en contraposicin al sistema que no
llegaron a hacer.
En los aos siguientes varias empresas realizaron sus propias versiones de Unix
como IBM, HP, Apple, Santa Cruz Operation o Digital para grandes ordenadores.
GNU
A mediados de los 80 surge el movimiento en apoyo del software libre con el proyecto
GNU.
Linux
Entornos de trabajo
En Linux tenemos la oportunidad de trabajar en modo texto (consola) o en modo
grfico (con ventanas), as podremos elegir un mtodo u otro y poder cambiar cuando
queramos.
Entornos de consola
El entorno de consola no es MS-DOS. El entorno de consola de Unix es mucho ms
rico y poderoso.
Dentro del entorno de consola tambin podemos elegir entre varios sistemas, aunque el
ms utilizado y el que vamos a estudiar en este curso es el shell llamado Bash.
Entornos grficos
En Linux, tenemos multitud de entornos de trabajo grficos
WindowMaker
Blackbox
IceWM
XFCE
Gnome
KDE
BlackBox
KDE
XfCE
Distribuciones
Los sistemas operativos propietarios, como Windows, estn desarrollados por
empresas como Microsoft y esta empresa es la que realiza los CDs y los vende.
En el campo de Linux, no hay una nica empresa que lo desarrolle, sino que hay miles
de programadores, sin ninguna relacin entre ellos que van creando y modificando los
programas que funcionan en Linux. Como estos programas estn a disposicin de
cualquiera que los quiera utilizar, surgieron las distribuciones, que son recopilaciones
de programas y utilidades que forman el sistema Linux.
Como los programas que se incluyen en una distribucin son libres, la empresa que
realiza la distribucin no puede limitar el derecho de copia, slo pueden prohibir la
copia de programas que haya realizado dicha empresa y no haya liberado, as como
logotipos, marcas, etc.
Estas empresas tienen como objetivos vender las distribuciones o los servicios de
mantenimiento y personalizacin a organizaciones o a usuarios finales.
Ubuntu: recientemente ha surgido esta distribucin que es de una empresa, pero est
basada en la de Debian y pretende ser muy sencilla y permanecer libre.
Distribuciones temticas
Como no hay apenas restricciones a la creacin de distribuciones, se van creando
distribuciones con objetivos de lo ms variopinto.
Distribuciones live
Las distribuciones live son recopilaciones de programas que estn listas para funcionar
sin necesidad de instalar nada en el disco duro, no lo modifican de ninguna manera.
La primera distribucin live fue Knoppix, que ya va por la versin 4.0, se desarroll
para demostrar a los usuarios las posibilidades y facilidad de uso de Linux.
Autoevaluacin: Distribuciones
empresa?
Ubunto
Debian
Mandriva
Pregunta 2:
Qu distribuciones estn enfocadas al entorno empresarial?
Sopa de letras
Este recurso es de tipo Multimedia.
Tiene que conectarse a la plataforma para acceder a este recurso.
Evaluacin primera
Este recurso es de tipo Evaluacin.
Debe conectarse a la plataforma para realizar la evaluacin. Recuerde que las
evaluaciones son obligatorias ya que determinan la nota final.
Comenzamos a escribir
Empezamos a trabajar con Linux, tenemos una pantalla negra (puede ser de otro
color) que hemos sacado en el men terminales (o xterm o kterm), o hemos pulsado las
teclas Control, Alt y F1 al mismo tiempo (en este caso, volvemos al modo grfico con
Control + Alt + F7).
Despus de escribir el nombre de usuario y la clave (si nos la pide), nos encontramos
un texto que sirve para indicarnos que el sistema est esperando que escribamos una
orden, a este texto le llamaremos "prompt" y lo representaremos en este curso con el
smbolo del dlar (en tu Linux puede ser diferente).
$ date
$ date
Wed Nov 23 13:22:21 2005
$
Errores de escritura
Vamos a escribir una orden incorrectamente para ver qu sucede:
$ dates
$ dates
sh: dates: command not found
$
Atajos de teclado
En los entornos grficos un atajo de teclado es una combinacin de teclas que hace lo
mismo que un men.
En el entorno de consola, realmente son atajos para no tener que escribir las rdenes
completas.
Sin estos atajos el trabajo con el teclado sera muy tedioso, es muy importante que se
conozcan y se utilicen constantemente.
Auto completado
El auto completado se activa cuando tenemos un comando o nombre de archivo escrito
a medias y pulsamos la tecla tabulador (tab).
Unix distingue entre maysculas y minsculas, asegrate de que estn tal y como las
escribimos aqu.
$ rmd(tab)/e(tab)X(tab)xin(tab)
$ rmdir /etc/X11/xinit/
Por cierto la orden anterior intentar borrar un directorio de configuracin del sistema,
pero si no tenemos permisos o no est vaco nos dar un error y no lo borrar, pero por
si acaso en lugar de darle a la tecla control , anularemos la orden manteniendo pulsada
la tecla control (Ctrl ) y pulsamos una vez la tecla c.
Qu sucede cuando hay varias rdenes o archivos que comienzan igual? Al darle
al tabulador el sistema no sabe cul de ellos poner, pone las letras que puede y nos
avisa con un pitido, podemos forzarle a que nos muestre las diversas opciones con
una segunda pulsacin sobre el tabulador (tab), escribir unas letras para que diferencie
entre las opciones posibles y volver a darle al tabulador.
Ejemplo: escribimos:
$ ls /usr/i(tab)
el sistema encuentra en el directorio /usr los directorios que empiezan por i include e
info, como los dos empiezan por i y luego n , el sistema pone la n y nos indica que no
sabe cul de los dos poner con un pitido, si le damos una segunda vez al tabulador nos
indica cules son las opciones:
escribimos una letra (c) que rompa el empate y volvemos a pulsar (tab); ahora el
sistema no tiene dudas y nos mostrar el directorio /usr/include.
Recuperacin de rdenes
En el entorno de texto que estamos trabajando se almacenan las rdenes que vamos
escribiendo.Para recuperarlas pulsamos las teclas flecha-arriba o flecha-abajo, y
cuando las tengamos en pantalla pulsamos retorno.
Tambin podemos recuperar una orden antigua y modificarla para que se ejecute con
otras opciones o sobre otros ficheros.
$ ls -l
total 0
drwxr-xr-x+ 3 felix Ninguno 0 Nov 29 14:18 bin
drwxr-xr-x+ 4 felix Ninguno 0 Nov 30 10:19 cursos
drwxr-xr-x+ 4 felix Ninguno 0 Nov 30 12:04 tmp
$ ls -l /usr
total 0
drwxrwxrwx+ 8 ifes Usuarios 0 Nov 21 13:59 X11R6
drwxrwxrwx+ 3 ifes Usuarios 0 Nov 30 08:59 bin
drwxrwxrwx+ 7 ifes Usuarios 0 Nov 21 13:59 doc
drwxrwxrwx+ 2 ifes Usuarios 0 Nov 21 10:45 etc
drwxrwxrwx+ 23 ifes Usuarios 0 Nov 21 14:01 include
drwxrwxrwx+ 2 ifes Usuarios 0 Nov 21 10:45 info
drwxrwxrwx+ 18 ifes Usuarios 0 Nov 21 14:01 lib
drwxrwxrwx+ 5 ifes Usuarios 0 Nov 21 10:45 local
drwxrwxrwx+ 6 ifes Usuarios 0 Nov 25 10:30 man
drwxrwxrwx+ 3 ifes Usuarios 0 Nov 23 09:01 sbin
drwxrwxrwx+ 35 ifes Usuarios 0 Nov 23 09:01 share
drwxrwxrwx+ 2 ifes Usuarios 0 Nov 21 10:45 src
drwxrwxrwx+ 6 ifes Usuarios 0 Nov 21 14:00 ssl
drwxrwxrwx+ 2 ifes Usuarios 0 Nov 21 10:45 tmp
drwxrwxrwx+ 7 ifes Usuarios 0 Nov 24 12:50 var
$ ls -l /usr/X11R6
total 0
drwxrwxrwx+ 2 ifes Usuarios 0 Nov 23 14:26 bin
En este ejemplo, la primera vez hemos escrito ls -l , la segunda vez flecha arriba
(espacio)/usr, con lo que hemos obtenido ls -l /usr, y la tercera vez flecha arriba /X11R6,
con lo que hemos obtenido ls -l /usr/X11R6.
Las rdenes que escribimos se almacenan en un archivo, y las recuerda de una sesin
a otra aunque se haya apagado el ordenador.
rdenes simples
Hay muy pocas rdenes que tengan utilidad al emplearse sin modificadores ni
argumentos.Suelen dar informacin del sistema.Las ms habituales estn en el
siguiente listado:
$ pwd
/home/ifes
$ ls
RCS
bin
cursos
tmp
$ ps
PID PPID PGID WINPID TTY UID STIME COMMAND
1484 1 1484 1484 con 1001 13:22:17 /usr/bin/bash
964 1484 964 1676 con 1001 13:22:25 /usr/local/bin/screen
1612 964 1612 1612 ? 1001 13:22:25 /usr/local/bin/screen
1672 1612 1672 1460 0 1001 13:22:25 /usr/bin/sh
1804 1672 1804 1500 0 1001 13:49:22 /usr/bin/vim
1816 1612 1816 1568 1 1001 13:52:43 /usr/bin/sh
540 1816 1208 540 1 1001 14:01:41 /usr/bin/sh
1620 540 1208 1588 1 1001 14:01:41 /usr/bin/ps
$ date
Thu Nov 24 14:01:41 2005
Opciones
Las opciones son letras o textos que se ponen detrs de la orden,normalmente con
espacios y guiones.
$ date
Thu Nov 24 14:36:18 2005
$ date -u
Thu Nov 24 13:36:18 UTC 2005
$ date --iso-8601
2005-11-24
Cuando la opcin est formada por una letra se suele poner un guin delante;cuando
es una opcin larga se suelen poner dos guiones, pero esto no es estndar y depende
de la orden de que se trate.
$ ls -l -h
total 0
Argumentos
Los argumentos son textos o nombres de archivos que se pasan a la orden para que
los procese (que haga algo con ellos).
En los dos ejemplos siguientes vamos a utilizar argumentos para la funcin date del
tipo cadena de texto.
$ date -d 1-may
Sun May 1 00:00:00 2005
$ date -d 1-dec-2005
Thu Dec 1 00:00:00 2005
$ date -r /etc/passwd
Mon Nov 21 10:45:48 2005
Como el sistema en el que estoy trabajando est en ingls, los nombres de los meses
tienen que estar en ingls (la abreviatura de mayo, may, en ingls es igual que en
espaol, pero para diciembre hemos tenido que poner dec).
Comprueba cmo est instalado el idioma en tu sistema con los resultados que
devuelve date.
Comodines
El uso de los comodines lo hace el sistema operativo, que busca los archivos que
tengan la forma que case con los comodines y se los pasa al programa, as que todos
los programas admiten comodines.
Los comodines de la baraja son naipes que pueden tomar el valor que nos apetezca en
juegos como el pquer o el rabino.
El asterisco ( * )
El cierre de parntesis ( ? )
Cualquier smbolo entre corchetes cuadrados ( [ ] ).
$ ls /bin/a*
/bin/a2p
/bin/addftinfo
/bin/afmtodit
/bin/animate
/bin/annotate
En los ejemplo anteriores estamos mostrando los archivos que se encuentran dentro
del directorio /bin y que adems:
El smbolo cierre de interrogacin (?) sirve para indicar cualquier letra, pero slo una
vez.
$ ls /bin/?sh
/bin/ash
/bin/ssh
$ ls /bin/??sh
/bin/bash
El otro comodn que se utiliza es poner las letras que nos interesan entre corchetes ([]).
El sistema busca en su lugar cualquiera de las letras que estn en el corchete una sola
vez.
$ ls /bin/b[ae]*
/bin/banner
/bin/basename
/bin/bash
/bin/bashbug
$ ls /bin/b[ai]*
/bin/banner
/bin/basename
/bin/bash
/bin/bashbug
/bin/bioradtopgm
$ ls /bin/[bc][ae]*
/bin/banner
/bin/basename
/bin/bash
/bin/bashbug
/bin/cal
/bin/cameratopam
/bin/captoinfo
/bin/cat
As la orden ls /bin/b[ae]* muestra el contenido del directorio /bin/ que empiece con una
b seguido indistintamente por una a o una e , seguido de cualquier letra o grupo de
letras *.
Obtencin de ayuda
Para la obtencin de ayuda podemos utilizar el comando man
$ man uname
UNAME(1) UNAME(1)
NOMBRE
Nadie es capaz de aprenderse todos los comandos que se utilizan en Unix con todas
sus opciones, pero es un objetivo de este curso que se sepan utilizar las pginas del
manual y encontrar las opciones necesarias para realizar lo que se quiera hacer.
Pregunta 1:
Cul es la orden para saber la fecha actual
Pregunta 2:
Si queremos sacar el calendario del ao 1975 qu orden tendremos que darle al
sistema?
Respuesta correcta: cal 1975 o cal -m 1975
Pregunta 3:
Para ver la pgina del manual de la orden ls utilizaremos la orden:
Pregunta 4:
Cuando estamos viendo el manual de la orden ls y queremos buscar qu hace la
opcin -r :
tecleamos -r directamente
tecleamos / y despus -r y retorno
Men buscar y escribimos -r
Men opciones y la buscamos por orden alfabtico
Ficheros y directorios
Como la mayora de los sistemas actuales, Unix organiza la informacin en ficheros
y directorios. Tambin hay otros elementos un poco ms exticos que veremos a su
debido tiempo.
$ ls /
bin
cygdrive
cygwin.bat
cygwin.ico
etc
home
lib
mnt
tmp
usr
var
Dentro del directorio raz nos encontramos varios directorios, como bin, etc, home, tmp,
usr, var, etc. Para ver el contenido de uno de ellos ejecutamos las orden:
$ ls /usr
X11R6
bin
doc
etc
include
info
lib
local
man
sbin
share
src
ssl
tmp
Para ver el contenido del directorio man que est debajo de usr, que est debajo de /
usaremos la orden:
$ ls /usr/man
es
man1
man5
man7
$ ls /mnt/cd(tab)
$ ls /cd(tab)
$ ls /media/cd(tab)
As, si escribimos:
podemos ver que el directorio /bin pertenece al usuario ifes y su grupo es Usuarios
Los permisos tambin aparecen en este listado, pero son un poco ms complicados de
entender.
La primera letra de cada lnea indica el tipo es cada "objeto", un guin - indica que es
un archivo, una d indica que es un directorio.
Las siguientes nueve letras son las que indican los permisos asociados a ese archivo.
Direcciones absolutas
Direcciones relativas
Direcciones relativas
Las direcciones relativas no empiezan con el smbolo /.
Normalmente las direcciones relativas son ms cortas de escribir que las direcciones
largas.
$ # Cul es mi directorio?
$ pwd
/home/felix
$ # Qu hay en el directorio /usr?
$ ls /usr
X11R6
bin
doc
etc
i686-pc-cygwin
i686-pc-mingw32
include
info
lib
local
man
sbin
share
src
ssl
tmp
$ # Qu hay en mi directorio?
$ ls
bin
Lo que se escribe en la consola despus del smbolo # ser ignorado hasta que
empiece la siguiente lnea, se puede utilizar para poner comentarios. El sistema lo
ignora.
Directorios virtuales
Cuando ponemos una direccin relativa podemos trabajar con dos directorios virtuales:
Directorio actual ( . ).
Directorio superior ( .. ).
El directorio actual (un punto) se utiliza cuando una orden necesita un argumento
que es un directorio, en lugar de poner la ruta completa del directorio donde nos
encontramos, como /home/francisco/proyecto, ponemos simplemente.
El directorio superior (representado por un punto seguido de otro punto, ..) nos indica
el contenido del directorio padre del que nos encontramos. Podemos escribir ls .. , o
incluso ls ../.. , que nos listar el directorio padre del directorio padre del actual (o sea el
abuelo ;-)).
Instrucciones de ficheros
Instrucciones de ficheros
A continuacin veremos las rdenes para trabajar con el sistema de archivos ms
habituales, as como sus opciones ms usadas.
Podemos ver la descripcin oficial de cada orden, con todas sus opciones tecleando
man orden.
Ver
Crear
Modificar
Borrar
Inspeccionar
Ver
Instrucciones que nos dan informacin sobre el sistema de archivos. No modifican
nada.
pwd
La orden pwd nos muestra en qu directorio nos encontramos.
Hay muchas rdenes en las que si no les indicamos otro directorio, utilizan el actual,
por lo que es importante conocer en dnde estamos en cada momento.
$ pwd
/home/ifes/cursos/linux
$ cd /home
$ pwd
/home
ls
ls sirve para ver qu archivos o directorios hay en un directorio.
$ ls
Makefile
RCS
admin
literal
out
src
tmp
$ pwd
/home/ifes/cursos/linux
$ ls /usr
X11R6
bin
doc
etc
include
info
lib
local
man
sbin
share
src
ssl
tmp
$ ls /bin/*sh
/bin/ash
/bin/bash
/bin/ppmflash
/bin/sh
/bin/ssh
-l: Hace que el listado sea largo, dando ms informacin adems del
nombre.
-h: Los datos de tamao de archivo estn en formato humano, en kbytes o
mbytes.
-a: Nos muestra todos los archivos, incluidos los ocultos.
Una opcin que utilizo es ls -rlt que hace un listado largo (-l ), ordenado por fecha de
modificacin (-t ) en orden creciente (-r ). De esta manera los ficheros que aparecen al
final son los ltimos en los que se ha estado trabajando.
cat
La orden cat sirve para concatenar archivos y mostrarlos por pantalla.
Varios ejemplos, para practicar puedes probar con los archivos que se encuentran en el
directorio /etc.
less
Cuando un archivo es ms grande que la pantalla y lo vemos utilizando el comando
cat, el sistema no espera a que lo leamos, sino que lo pasa a toda velocidad. Para
poder verlo poco a poco est el comando less.
$ less /etc/passwd
file
La orden file nos indica de qu tipo son los archivos, ya que la extensin es slo un
adorno en Unix.
$ file /home/felix/tmp/*.*
/home/felix/tmp/blame-1.3: directory
/home/felix/tmp/calculos.txt: ASCII text
/home/felix/tmp/calendario.txt: ASCII text, with CRLF line terminators
/home/felix/tmp/carta.txt: ISO-8859 text
/home/felix/tmp/carta1.txt: ASCII text
/home/felix/tmp/carta2.txt: ISO-8859 text
/home/felix/tmp/grandes.txt: ISO-8859 English text, with CRLF line terminators
/home/felix/tmp/kk.tar.gz: gzip compressed data, from Unix
/home/felix/tmp/last_sesion.txt: ASCII text, with CRLF line terminators
/home/felix/tmp/numeros.txt: ASCII text, with CRLF line terminators
/home/felix/tmp/ordenes.txt: ASCII text
wc
wc nos indica el nmero de lneas, palabras y letras que tiene un archivo.
$ # cifras de /etc/passwd
$ wc /etc/passwd
7 9 718 /etc/passwd
$#
$ # slo las lneas
$ wc -l /etc/passwd
7 /etc/passwd
$#
$ # todas las cartas
$ wc tmp/carta*
12 25 206 tmp/carta1.txt
11 25 219 tmp/carta2.txt
23 50 425 total
Crear
Instrucciones para crear archivos o directorios.
En este apartado no veremos otros mtodos para crear archivos como son los
procesadores de texto o la redireccin, porque tcnicamente no son rdenes, se vern
en otros mdulos.
$ #####################################
$#
$ # listamos los archivos de texto
$ # que estn dentro del directorio tmp
$#
$ ls tmp/*.txt
tmp/carta1.txt
tmp/carta2.txt
tmp/last_sesion.txt
$ #####################################
$#
$ # creamos 3 archivos de texto
$ # dentro del directorio tmp
$#
$ touch tmp/ene.txt tmp/feb.txt tmp/mar.txt
$ #####################################
$#
$ # listamos los archivos de texto
$ # que estn dentro del directorio tmp
$ # para ver si estn los archivos nuevos
$#
$ ls tmp/*.txt
tmp/carta1.txt
tmp/carta2.txt
tmp/ene.txt
tmp/feb.txt
tmp/last_sesion.txt
tmp/mar.txt
$ #####################################
$#
$ # sacamos un listado largo para ver
$ # el tamao de los nuevos
$ # y comprobamos que es cero.
$#
$ ls -l tmp/*.txt
-rw-r--r-- 1 felix Ninguno 206 Dec 1 08:54 tmp/carta1.txt
mkdir
mkdir seguido del nombre de uno o varios directorios, los crea.
Una opcin muy interesante es -p , si en el directorio a crear tiene que estar bajo otro
directorio y ste no existe tambin lo crea.
$ #############################################
$#
$ # creamos el directorio trabajo
$#
$ mkdir trabajo
$#
$ # nos metemos en este directorio
$#
$ cd trabajo
$#
$ # creamos directorios con subdirectorios
$#
$ mkdir -p clientes/opel clientes/seat prov/cepsa prov/pirelli
$#
$ # salimos del directorio trabajo
$ # subiendo al directorio superior
$#
$ cd ..
$#
$ # hacemos un listado recursivo
$ # del directorio trabajo
$#
$ ls -lR trabajo
trabajo:
total 0
drwxr-xr-x+ 4 felix Ninguno 0 Dec 1 10:17 clientes
drwxr-xr-x+ 4 felix Ninguno 0 Dec 1 10:17 prov
trabajo/clientes:
cp
cp sirve para copiar archivos.
Modificar
Para modificar archivos se usan editores en modo interactivo, no rdenes. Tambin se
procesan archivos mediante redireccin que se estudiar ms adelante.
mv
La orden mv sirve para mover o renombrar un archivo o directorio.
Borrar
rm
Para borrar archivos utilizamos la orden rm seguida del nombre del archivo o archivos
que queremos borrar.
Autoevaluacin: Ficheros
Pregunta 1:
Cul es la diferencia entre ls y ls . (con un punto)?
Pregunta 2:
Cul es el directorio raz?
Respuesta correcta: /
Pregunta 3:
Qu orden nos indica cul es el directorio actual?
ls
ls -rtl
path
pwd
Pregunta 4:
Para copiar las imgenes con extensin .jpg del directorio /var/www/img al
Pregunta 5:
Para recuperar archivos que hemos borrado con la orden rm , utilizaremos
No podemos recuperarlos
rm -r nombre_archivo
Pregunta 6:
rmdir borra directorios:
siempre
que no contengan nada
que slo contengan directorios, no archivos
hay que utilizar la opcin -f
Prctica: Ficheros
Este recurso es de tipo Prctica.
Tiene que conectarse a la plataforma para acceder a este recurso.
Instrucciones de texto
Las instrucciones de texto son muy importantes porque los archivos de configuracin,
programacin y otros muchos estn en formato texto, as como el resultado de las
rdenes tambin son de texto y podremos realizar acciones sobre estos resultados
intermedios.
head
Nos puede ser til para ver el aspecto de un documento o ver su definicin.
Por defecto head muestra las primeras 10 lneas del archivo. Se puede modificar con la
opcin -n nmero donde nmero puede ser 1,2,8,88, etc.
Se utiliza mucho para ver archivos que van aumentando de tamao, aadiendo lo que
va pasando al final (logs).
sort
echo
$ echo hola
hola
$ echo la variable HOME vale $HOME
la variable HOME vale /home/felix
Para sacar el valor de una variable tenemos que poner un smbolo dolar $ delante del
nombre, pero esto ya lo veremos ms adelante.
Trabajando de esta manera el programa divide cada lnea utilizando el delimitador (que
es una letra o un smbolo, como:, o un espacio en blanco, etc.) y nos muestra slo los
campos que le hayamos indicado con el argumento campos .
Podemos ver que ocurre con el fichero /etc/passwd, que est separado en campos por
':'.
$ # nombres de usuarios
$ cut -f1 -d':' /etc/passwd
SYSTEM
Administradores
Administrador
ASPNET
felix
ifes
Invitado
$ # nmeros de usuario
$ cut -f3 -d':' /etc/passwd
18
544
500
1002
1003
1001
501
La otra manera de trabajar con cut es eligiendo los caracteres que nos
interesan, cut -c caracteres archivo.
$ ##############################
$#
$ # slo las primeras 10 letras
$#
$ cut -c -10 /etc/passwd
SYSTEM:*:1
Administra
Administra
ASPNET:unu
felix:unus
ifes:unuse
Invitado:u
$ ##############################
$#
$ # las siguiente 10 letras
$#
$ cut -c 11-20 /etc/passwd
8:544:,S-1
dores:*:54
dor:unused
sed_by_nt/
ed_by_nt/2
d_by_nt/20
nused_by_n
$ ##############################
$#
$ # Las 20 primeras letras de cada lnea
sed
sed nos permite hacer sustituciones cuando nos muestra un fichero.
Con esta tcnica no modificamos los archivos slo el resultado que aparece, ms
adelante s que lo haremos.
$ ############################################################
$#
$ # sacamos el archivo original para que podamos comparar
$#
$ cat tmp/carta.txt
Hola, soy felix
El prximo da 8 es mi cumpleaos,
espero que vengas a mi fiesta y traigas muchos
regalos.
Zaragoza, 30 de noviembre de 2008
$ ############################################################
$#
$ # sustituimos felix por mi nombre completo
$#
$ sed "s/felix/Flix Jorge Anadn Trigo/g" tmp/carta.txt
Hola, soy Flix Jorge Anadn Trigo
El prximo da 8 es mi cumpleaos,
espero que vengas a mi fiesta y traigas muchos
regalos.
Zaragoza, 30 de noviembre de 2008
$ ############################################################
$#
Instrucciones tiles
$ ############################################################
$#
$ # orden completa
$#
find
find es seguramente la orden ms compleja y con la pgina del manual ms grande del
entorno Linux.
find sirve para buscar, pero tambin sirve para buscar y hacer algo con lo encontrado.
Vamos a ver unos ejemplos que aporten algo de claridad a esta maraa de opciones.
$ ############################################################
$#
$ # busqueda por nombre
$ # desde el directorio actual
$#
$ find . -name carta.txt
./tmp/carta.txt
$ ############################################################
$#
$ # bsqueda por nombre en todo
$ # el disco duro
$#
$ find / -name passwd
/etc/passwd
$ ############################################################
$#
$ # bsqueda por nombre en todo
$ # el disco duro
$ # con comodines entre comillas
$#
$ find / -name "*.mp3"
/cygdrive/c/Archivos de programa/C-Media 3D Audio/Driver/Advance/MUSIC/
Demo3_Bass.mp3
/cygdrive/c/Archivos de programa/C-Media 3D Audio/Driver/Advance/MUSIC/
Demo3_Front.mp3
$ ############################################################
$#
$ # busqueda por nombre
$ # de archivos vacos
$ # y posterior borrado
$#
tar
tar sirve para agrupar varios archivos en un nico archivo, con o sin compresin.
Tambin sirve para ver el contenido de archivos con formato tar o extraer los archivos
de este formato.
Cuando se agrupa con esta orden a los archivos generados les solemos poner las
extensiones .tar, .tar.gz o.tgz.
Entre estas opciones tiene que estar obligatoriamente una de las siguientes:
Adems hay otras opciones que suelen acompaar a las opciones anteriores:
zip/unzip
zip y unzip se usan para comprimir o descomprimir grupos de archivos.
Bsqueda de archivos
Bsqueda de archivos
La bsqueda de archivos que tiene Linux es mucho ms potente que cualquier bsqueda de
archivos que hayamos usado antes.
El pequeo esfuerzo de aprender el comando find nos compensar con creces cuando
tengamos que buscar archivos o analizar el sistema.
Tipos de bsquedas
Adems, podremos hacer algo con los archivos encontrados, como borrarlos, copiarlos,
hacer una copia de seguridad...
La sintxis de find es:
find lugar opciones acciones
Buscar archivos que han sido modificados en Buscar archivos que son ms viejos de 30
los ltimos 5 das das
find . -mtime -7 find . -mtime +30
Otros ejemplos
Buscar archivos que ocupan ms de 2048 Buscar archivos que puede ejecutar todo el
kilobytes mundo
find . -size +2048k find . -perm 0755
Buscar archivos del usuario root Buscar archivos cuyo nombre acaba en .pdf
find . -user root find . -name '*.pdf'
Empaquetado de archivos
Empaquetar
Tar
Comprimir
Algoritmos
Gzip y Bz2
Zip
Adems podemos usar los archivos .zip, usados comnmente en los sistemas Windows con
los comandos zip y unzip
Comprimir:
zip -r paquete.zip file1 file2
Descomprimir
unzip paquete.zip
Pregunta 1:
La instruccin para ver el contenido de un archivo muy grande es:
Pregunta 2:
Si queremos saber el nmero de usuarios que hay en un sistema podemos contar
Pregunta 3:
Para saber de qu tipo es un fichero utilizaremos la orden:
wc
file
head
tail
Pregunta 4:
Para saber qu valores contiene la variable PATH utilizaremos:
ls $PATH
cat $PATH
echo $PATH
file $PATH
Pregunta 5:
Para hacer una copia de seguridad de un directorio utilizaremos la orden:
Sopa de letras
Este recurso es de tipo Multimedia.
Tiene que conectarse a la plataforma para acceder a este recurso.
Evaluacin segunda
Este recurso es de tipo Evaluacin.
Debe conectarse a la plataforma para realizar la evaluacin. Recuerde que las
evaluaciones son obligatorias ya que determinan la nota final.
Hasta ahora, cuando ejecutbamos una orden el resultado sala por pantalla, la
pantalla es lo que se conoce como salida estndar.
Podemos decirle que cuando ejecute una orden el resultado no salga por pantalla
sino que lo redirija a un fichero (por ejemplo). De esto ya hemos visto ejemplos en los
ejercios del curso.
$ # ejemplo de redireccin
$
$ cal -m 5 2006 > tmp/calendario.txt
$
$ # Hemos ejecutado la orden cal(endario) con la opcin
$ # -m (las semanas empiezan en monday, lunes)
$ # pero por pantalla no aparece nada, el resultado est
$ # guardado en el archivo calendario.txt dentro del directorio tmp
$
$ # Podemos verlo utilizando la orden less o cat
$
$ cat tmp/calendario.txt
May 2006
Mo Tu We Th Fr Sa Su
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
Para redireccionar la entrada se pone el smbolo < seguido del archivo con el que
queremos alimentar el archivo.
Por ejemplo, si nos ponemos a buscar en todo el disco duro, habr carpetas donde no
tengamos permisos de escritura y nos saldr un error.
Para que los errores no salgan por pantalla los podemos redirigir con el operador 2>
Si sabemos que se van a producir errores pero no nos interesan se pueden redirigir al
dispositivo nulo, que es como tirarlos a la basura.
Uso de tuberas
Es muy comn que el resultado de una orden lo queramos volver a tratar mediante otra
orden por ejemplo:
Podemos ir viendo cmo se van uniendo las rdenes escribiendo la primera orden,
recuperndola y poniendo la tubera y la siguiente orden, y as sucesivamente y vemos
cmo va quedando.
Es muy habitual acabar una orden que genera muchas lneas con | less para poder
verlas ms cmodamente.
Tambin son finalizaciones habituales | wc para saber cuantas lneas genera o | grep
cadena para quedarnos slo con las lneas que nos interesan.
Concatenar rdenes
rdenes seguidas
Normalmente cuando tenemos que poner varias rdenes se escriben en diferentes
lneas.
$ # es lo mismo escribir
$
$ ls tmp/*.txt
tmp/calculos.txt
tmp/calendario.txt
tmp/carta.txt
Tanto la separacin en diferentes lneas como con punto y coma hacen que se ejecuten
las rdenes, una despus de otra independientemente de si se han ejecutado bien o
mal.
A veces querremos que una orden se ejecute slo si la orden anterior se ha realizado
con xito.
con este cdigo creamos el archivo donde guardamos la copia de seguridad y slo en
el caso de que todo haya ido bien borraremos el directorio.
Otras veces querremos que se ejecute una segunda orden slo si la primera ha fallado.
Para concatenar rdenes y que se ejecute la segunda slo cuando falle la primera se
utiliza el smbolo || .
As en
$ date >/tmp/estado.txt
$ echo >>/tmp/estado.txt
Uso de variables
Las variables sirven para almacenar valores para utilizarlos ms adelante.
$ a=32
$ read b
hola
Para utilizar el valor de una variable tenemos que aadirle el smbolo del dolar ($ )
antes del nombre.
$ t=/tmp/archivo_temporal.txt
$
$ find / -size +10000k > $t
$ wc $t
$ head $t
$ rm -f $t
Nos hemos creado la variable t con el valor de un archivo que se utiliza mucho. As
en las siguientes rdenes slo escribimos $t y no tenemos que escribir el nombre
completo.
Por ejemplo la variable HOME indica cul es nuestro directorio personal. Podemos ver
su valor con la instruccin:
Si hacemos un programa que depende del directorio del usuario podemos poner esta
variable en lugar de tener que modificarlo.
Para ver todas utilizamos esta orden pero con tuberas set | less o set | grep -i home.
Uso de comillas
En el shell utilizamos 3 tipos de comillas.
comilla simple ('). En la tecla a la derecha el cero. Sirve para escribir texto
literal.
comilla doble ("). En la tecla del 2 con maysculas pulsadas. Si dentro de
estas comillas hay una variable se sustituye por su valor.
comilla grave (`). En la tecla que hay a la derecha de la tecla p, al pulsarla no
sale nada en la pantalla, hay que pulsar un espacio despus. Su contenido
se ejecuta y es sustituido por el resultado de la ejecucin.
Estructuras de control
Las estructuras de control son "instrucciones" que hacen que unas rdenes se repitan o
se ejecuten de forma condicionada por variables o estados del sistema.
for
La estructura for hace que se repitan una serie de rdenes asignando a una variable
un valor diferente cada vez que se repite el bucle.
Como podemos ver en el ejemplo anterior for va seguido del nombre de la variable que
vamos a utilizar, en este caso i, despus la palabra in seguida de una lista de palabras,
letras o nmeros que son los valores que ir tomando la variable. Despus de la lista
viene la palabra do indicando que empiezan las rdenes que se van a repetir. Despus
de las rdenes hay que poner la palabra done para indicar que hemos acabado las
rdenes que se repiten.
$ for i in enero febrero marzo abril;do echo "$i tiene `echo $i|wc -c` letras";done
enero tiene 6 letras
febrero tiene 8 letras
marzo tiene 6 letras
abril tiene 6 letras
$ for i in enero febrero marzo abril;do echo "$i tiene `echo $i|cut -c 2- |wc -c`
letras";done
enero tiene 5 letras
febrero tiene 7 letras
marzo tiene 5 letras
abril tiene 5 letras
Pregunta 1:
Si queremos aadir la salida de una orden al principio de un fichero usaremos el
operador:
Pregunta 2:
Si queremos tener en un archivo los nmeros pares hasta el 100, la orden ser:
Pregunta 3:
Si queremos saber qu archivos han cambiado en mi directorio en los ltimos 2
Pregunta 4:
Si queremos saber qu archivos son mayores de 1 megabyte y que no se hayan
Editores de texto
Un editor de texto es simplemente un programa que nos permite escribir y modificar
archivos de texto.
Los editores de texto nos permiten tambin escribir programas, varias rdenes
seguidas en diferentes lneas, hacer pruebas y volver a modificar los archivos de texto.
Editor vim.
En modo texto hay varios editores sencillos como joe, pico o nano.
Sopa de letras
Este recurso es de tipo Multimedia.
Tiene que conectarse a la plataforma para acceder a este recurso.
Evaluacin tercera
Este recurso es de tipo Evaluacin.
Debe conectarse a la plataforma para realizar la evaluacin. Recuerde que las
evaluaciones son obligatorias ya que determinan la nota final.
Prctica final
Este recurso es de tipo Prctica.
Tiene que conectarse a la plataforma para acceder a este recurso.
Evaluacin final
Este recurso es de tipo Evaluacin.
Debe conectarse a la plataforma para realizar la evaluacin. Recuerde que las
evaluaciones son obligatorias ya que determinan la nota final.
Bibliografia
Linux a fondo. BERNAUS PREZ, ALBERT BLANCO.
Editorial Infor books, Barcelona 2002.
Gua Prctica para usuarios Linux. CESAR MARTIN PEREZ E ISMAEL PEREZ
CRESPO.
Editorial Anaya, Madrid 1998.
Glosario
Ahh,muy importante,puedo introducir texto con formato en este recurso!
Perfectamente posible!
Cmo se ha comentado en la demostracin del recurso de edicin anterior, el
correspondiente a las FAQ ,podemos hacer uso de diferentes "herramientas" en la
edicin de un determinado curso como :
texto en negrita
texto tipo cdigo
listas para enumerar como:
una cosa
dos cosas
tres cosas
........
Lo que a continuacin viene podra servirnos como ejemplo de Glosario de un supuesto
curso de la Plataforma ,en este caso ,un curso de Linux.
Como se acaba de comentar,podemos y debemos presentar el texto de una forma ms
atractiva ,complementndolo con diferentes formatos....
alias
Orden interna de bash. Permite sustituir una cadena por una sola palabra. Esto nos
permite poner el nombre que queramos a un comando junto con sus parmetros.
Ahorra tiempo en el trabajo diario, por lo que su uso es altamente recomendado. Puede
ser algo tan sencillo como: alias rm='rm -i'. Por lo que cada vez que teclearamos rm el
shell lo sustituira por rm -i.
Apache
Servidor de pginas web. Hoy por hoy lider del mercado de servidores, por delante de
soluciones propietarias.
background
Segundo plano. Se habla de proceso en segundo plano cuando se ejecuta sin nuestra
interactividad o lo pasamos a modo suspendido. Es til,si por ejemplo, estamos
compilando un programa grande que nos deja inutilizada la consola mientras dura el
proceso de compilacin. Pasndolo a segundo plano, el proceso se completara, pero
nosotros podramos seguir trabajando.
boot
BSD
case sensitivity
compilar
consola
Una consola la forman el teclado y el monitor del equipo donde tenemos instalado
GNU/Linux . No confundir con terminal.
cron
demonio que usa el administrador para delegar ciertas tareas que pueden ser
ejecutadas sin su participacin. Este demonio puede ser programado para ejecutar las
tareas a intervalos variables, anualmente, semanalmente, diariamente etc. Sus tareas
tpicas suelen ser el borrado de ficheros temporales, conexiones con otros equipos,
backups, etc.
cuenta
Una cuenta en un sistema Unix/Linux puede ser algo as como la llave de un taller
comunitario. Es decir, tenemos una llave personal que nos permite acceder a ese
taller y utilizar algunas de las herramientas del mismo. Donde adems tenemos que
atenernos a las normas que rijan en ese taller.
Es un sistema del que se vale el administrador, para regular el espacio que los
diferentes usuarios de un sistema ocupan con sus ficheros en disco.
demonio
display
Variable de entorno, cuyo valor apunta al servidor Xwindow del usuario que lo est
ejecutando.
Emacs
enlaces
Los enlaces o links permiten tener "copias" de un mismo archivo, ocupando slo el
espacio del archivo real. Es decir, el enlace no es ms que otro archivo que apunta al
original.
enlightenment
entrada/salida estndar
ethernet
expresiones regulares
ext2fs
filtro
FSF
ftp
gcc
getty
ghostcript
GID
GNOME
GNU Network Object Model Environment. Entorno de escritorio basado en las libreras
GTK diseadas para el programa de retoque fotogrfico GIMP. Ofrece un entorno
amigable y la posibilidad de que las aplicaciones intercambien datos entre s.
GNU
GNU
Gnu is Not Unix. Proyecto de la FSF para crear un sistema UNIX libre.
GNU/Linux
GPL
General Public License. Una de las mejores aportaciones de la FSF. Es una licencia
que protege la creacin y distribucin de software libre.
groff
host
http
HURD
Nombre del ncleo del sistema que sigue desarrollando la FSF dentro del proyecto
GNU.
inetd
init
initdefault
inode
Todos los archivos en UNIX/Linux tienen un inode que mantienen informacin referente
al mismo, tal como situacin, derechos de acceso, tamao o tipo de fichero.
job
Orden interna de bash que muestra los trabajos pendientes que tengamos en segundo
o primer plano.
kernel
Programa ncleo que se encarga de que funcionen el resto de los programas, que
tengan acceso al disco duro, a la memoria, a la red, etc. Son kernels Linux, FreeBSD,
NetBSD, Hurd, etc.
kernel
Vase ncleo
kerneld
LaTeX
lilo
LInux LOader. Programa que nos permite elegir que sistema operativo arrancar, en el
caso de tener varios.
Linus Torvalds
Linux
login
loopback
Sistema de trabajo en red en modo local. Con este sistema podemos trabajar en red
con nuestro propio ordenador; su utilidad radica en probar programas de seguridad,
leer las noticias o el correo de los servidores instalados en nuestro ordenador o
simplemente poder ejecutar Xwindow.
lpd
Demonio encargado de asistir a las peticiones de impresin por parte del sistema.
LuCaS
man
Manual en lnea del sistema. Aqu puedes buscar casi cualquier cosa relacionada con
el sistema, sus comandos, las funciones de biblioteca, etc.
mbr
mdulos
monousuario
montar
motif
mta
mtools
mua
multitarea
multiusuario
nntp
ncleo
ncleo
password
path
Variable del entorno, cuyo valor contiene los directorios donde el sistema
buscar cuando intente encontrar un comando o aplicacin. Viene definida en los
ficheros .bashrc o .bash_profile de nuestro directorio home.
permisos
Todos los archivos en UNIX/Linux tienen definido un set de permisos que permiten
establecer los derechos de lectura, escritura o ejecucin para el dueo del archivo, el
grupo al que pertenece y los dems usuarios.
PID
posix
Es un estndar con una serie de normas definidas para permitir la portabilidad entre
diferentes sistemas UNIX. GNU/Linux cumple con este estndar.
postscript
ppp
proceso
prompt
El prompt es lo siguiente que vemos al entrar al sistema, una linea desde donde el
sistema nos indica que esta listo para recibir ordenes, que puede ser tan sencilla como:
$ o algo mas compleja como: amphora:1505200:home/israel:$
redireccin
respawn
Parametro para el proceso init que indica la necesidad de volver a arrancar el programa
implicado, una vez finalizado o muerto por alguna causa.
root
sed
seales
Las seales son eventos que se hacen llegar a un proceso en ejecucin para su
tratamiento por este. Las seales las podemos mandar nosotros u otros programas a
otros programas. Tienen diferentes valores, y en funcin a esos valores el proceso que
las recibe actua de una manera u otra.
setuid
Establece la identidad del usuario del proceso en curso. Si bien es muy comn oir
hablar del bit set-uid.Este bit establece permisos de root para el programa que que
lo posea, por lo que cualquier usuario puede utilizar ese programa con los mismos
privilegios que el administrador. Es facilmente identificable por la "s" que aparece en
vez de la "x" en los permisos del archivo.
shell
shell
smtp
superusuario
Ver root.
swap
Memoria virtual. Espacio de disco duro que utiliza el kernel en caso de necesitar mas
memoria de la que tengamos instalada en nuestro ordenador.
telnet
Servicio que nos permite la conexin a otro ordenador de la red, pasando nuestro
sistema a ser una terminal de ese ordenador.
terminal
Una terminal es un teclado y una pantalla conectados por cable u otro medio a un
sistema UNIX/Linux, haciendo uso de los recursos del sistema conectado.
tubera
uid
unix
vi
Editor de texto muy potente aunque algo complejo al principio. Es el editor por defecto
en casi todas las distribuciones. Hay versiones mejoradas (vim) o versiones para X
Xvim.
windowmanager
X Xwindow
X11R6
xterm
F.A.Q.
Introduccin e informacin general
Qu es Linux?
Historia de Linux
Caractersticas de Linux
Aqu tenis una lista bastante completa con las caractersticas de LINUX [Fuente:
Infosheet-Como. Autor: Ivan Casado] .
Multitarea: La palabra multitarea describe la habilidad de ejecutar varios
programas al mismo tiempo. LINUX utiliza la llamada multitarea preeventiva,
la cual asegura que todos los programas que se estn utilizando en un
momento dado sern ejecutados, siendo el sistema operativo el encargado
de ceder tiempo de microprocesador a cada programa.
Multiusuario:muchos usuarios usando la misma mquina al mismo tiempo.
Multiplataforma: Las plataformas en las que en un principio se puede
utilizar Linux son 386-, 486-, Pentium, Pentium Pro, Pentium II,Amiga y
Atari.Tambin existen versiones para su utilizacin en otras plataformas,
como Alpha, ARM,MIPS, PowerPC y SPARC.
Multiprocesador: Soporte para sistemas con ms de un procesador;est
disponible para Intel y SPARC.
Funciona en modo protegido 386.
Proteccin de la memoria entre procesos, de manera que uno de ellos no
pueda colgar el sistema.
Carga de ejecutables por demanda: Linux slo lee del disco aquellas partes
de un programa que estn siendo usadas actualmente.
Linux Copyright
El copyright del kernel de Linux pertenece a Linus Torvalds. ste se distribuye bajo
la GNU General Public License.Esto significa bsicamente que cualquiera puede
libremente copiarlo, cambiarlo y distribuirlo, pero sin posibilidad de aplicar restricciones
en futuras distribuciones y teniendo que incluir el cdigo fuente. Las licencias de los
programas y aplicaciones que acompaan al ncleo varan;muchos pertenecen al
proyecto GNU y se distribuyen bajo GPL.
Fuentes
Aunque parezca muy simple,esta pregunta conlleva otra serie de cuestiones anejas
que
hemos de considerar para responder con verosimilitud al profano en este sistema. Por
otra parte,aunque convencidos abogados de este sistema operativo frente a los que
no son de cdigo abierto, tambin hemos de aceptar las limitaciones del mismo con
respecto a los nuevos usuarios.
En un principio,linux era para gurs, hackers y desarrolladores...y hay muchos que
piensan que debera seguir siendo as. No obstante, las facilidades que tanto en
instalacin, configuracin y gestin del sistema,han proporcionado las distribuciones en
sus versiones ms recientes han acercado mucho al usuario final al mundo linux.
Cuando pensamos en esta FAQ lo hicimos considerando que los "novatos" en
este sistema podan ser de diversas procedencias: algunos podran ser grandes
conocedores de informtica, programadores y administradores de sistemas "no-
linux",quienes se adaptaran fcilmente; otros podran ser usuarios finales de algn otro
sistema operativo, que utilizan el ordenador para correr aplicaciones, como algunos
conductores usan el vehculo slo como medio para acceder a lugares lejanos en
tiempos cortos, pero no quieren saber nada de mecnica ni electricidad del automvil...
Al preguntarnos ,es linux para m? ,queremos decir ms bien,me conviene usar
Linux? Para qu lo quiero? Hemos ledo muchos libros y un gran nmero de
documentos acerca de linux en relacin con el usuario. Uno de ellos, titulado "Linux for
the masses and other popular myths" de Todd Burgess, trata en profundidad el tema de
los trnsfugas de sistemas operativos por cuestiones de moda (Cool people use Linux
= la gente gai usa linux) y nos dice usa linux:
Si lo requiere la aplicacin que necesitas
Mucha gente que lea esta FAQ en el futuro, provendr del ambiente Microsoft
(Windows 95/98/NT/00 ).
En tal caso, aqullos que usaren su computador bsicamente para el procesamiento de
textos y el empleo de hojas de clculo, deberan quedarse como estn.
A pesar de todos sus fallos, Windows es fcil de usar, ms an de aprender y dispone
de una ingente cantidad de software.
Los que tienen otras ambiciones, pueden plantearse cambiar a linux por 10 importantes
razones(http://www.reichel.net/opensource/linuxtop10.html ):
1.Las distribuciones de Linux no son costosas: pueden obtenerse gratis de los lugares
apropiados de internet o bien comprar los CDs por muy poco dinero comparado con
otros sistemas comerciales.
2. Linux es un sistema operativo completo con tres grandes caractersticas: estable
(es muy raro que colapse una aplicacin en linux), fidedigno (un servidor linux puede
funcionar durante cientos de das sin necesidad de reiniciarse, lo que no es comn en
sistemas Windows) y extremadamente potente.
3.Tiene un entorno de programacin completo,incluyendo C, C++, compiladores
Fortran, utilidades como Qt y lenguajes de guiones (scripts) como Perl, gwak y sed. (un
simple compilador C para Windows cuesta cientos de dlares)
4.Presenta una excelentes prestaciones para conexin en red, permitiendo compartir
PPUs y mdems.
5.Constituye el entorno ideal para hacer funcionar servidores web (Apache) o FTP
(oran).
6.Adems del software "libre", hay tambin bastante software comercial para linux.
7. Se actualiza y mantiene fcilmente (a diferencia de Windows).
8. Admite mltiples procesadores como norma.
9. Es realmente multitarea (a diferencia de Windows).
10.Tiene un excelente servidor X-windows y numerosos gestores de ventanas X. y
adems, por instalar linux no tendremos que renunciar a Windows: es posible gestionar
linux + otros sistemas operativos en el mismo ordenador.
Para terminar, me gustara copiar literalmente un trozo de la introduccin de un libro
titulado "Manual Avanzado de linux" de Ral Montero Rivero (Ed. Anaya) que viene
como anillo al dedo al nuevo usuario de nuestro sistema:
"Aprenders qu es linux, sus virtudes y sus defectos, cmo puedes conseguirlo, qu
distribucin elegir a la hora de instalarlo, cmo administrar tu sistema correctamente,
cmo trabajar con X-windows, cmo conectarte con l a Internet...Pero no todo va a ser
tan fcil con linux, porque como comprobars, no es un sistema hecho para cobardes.
Tendrs que ser valiente".
Si te da miedo formatear tu disco duro, linux no es para ti. Si te acobarda tener que
reinstalar todo de nuevo slo porque has cometido un pequeo error en el proceso
de instalacin, abandona y no sigas. Si te aterra la mera idea de particionar tu disco
Esto depender tambin en gran medida del uso que le vayas a dar a tu
mquina.Cuanta ms memoria, mejor trabajar. Aqu tienes unos datos orientativos
sobre la cantidad de memoria necesaria:
Como mnimo se necesitan 4Mb de memoria RAM para utilizar Linux.Esta
cantidad es como se indica mnima y no apta para trabajar con sistemas
grficos.
Para trabajar con las X-windows de una manera decente (depender del
entorno grfico utilizado) se necesitar como mnimo 16Mb.
Para un uso intensivo y para trabajar con programas que requieren muchos
recursos,se recomienda de 32Mb en adelante. Cuanta ms memoria se
tenga, ms suelto trabajar nuestro sistema y ms programas podremos
tener cargados en memoria.
Hoy en da la gran mayora de hardware est soportado por Linux,as que no deberiais
tener problemas.De todas maneras, existen configuraciones que no estn soportadas
y quizs ltimos modelos de tarjetas grficas, controladoras, etc, que tampoco
lo estn.Da a da se trabaja para dar soporte a nuevo hardware y lo que no este
soportado hoy, probablemente est soportado muy pronto. En un pasado,muchas
Linux es una sistema de libre distribucin por lo que podis encontrar todos los ficheros
necesarios para su funcionamiento en multitud de servidores conectados a Internet.
Casi todos los principales distribuidores de Linux ofrecen la posibilidad de bajarse
sus distribuciones va FTP. Otra alternativa para los que van a instalar el sistema por
primera vez son las llamadas "Distribuciones" de Linux. Una distribucin no es otra
cosa que una recopilacin de programas y ficheros, organizados y preparados para
su instalacin. Estas distribuciones se pueden obtener a travs de Internet,como ya
hemos explicado, pero tambin se encuentran en varios CDes conteniendo todos los
ficheros necesarios para instalar un sistema Linux bastante completo y, en la mayora
de los casos, un programa de instalacin que nos ayudar en la tarea de una primera
instalacin.
Existen varias distribuciones creadas por diferentes empresas a unos precios bastantes
asequibles las cuales deberiais poder encontrar en tiendas de informtica o libreras.En
el peor de los casos siempre podis encargarlas directamente por Internet a las
empresas que las crean.A veces las revistas de informtica sacan una edicin
bastante aceptable de alguna distribucin.Si vais a instalar el sistema por primera
vez os recomiendo haceros con una de estas distribuciones y en un futuro, cuando
queris actualizar el sistema con las ltimas versiones y actualizaciones del ncleo y
programas que utilicis, usad Internet.
Para ms informacin sobre las distintas distribuciones de Linux podis leer la Linux
Distribution HOWTO. A continuacin tenis una lista con las principales distribuciones:
Redhat Pagina web:
http://www.redhat.com
FTP principal:
ftp://ftp.redhat.com/pub/
Debian Pagina web:
http://www.debian.org/
FTP principal:
ftp://ftp.debian.org/debian/
SuSE Pagina web:
http://www.suse.de/es/
http://www.caldera.com/
FTP principal:
ftp://ftp.caldera.com/pub/OpenLinux/
Slackware Pagina web:
http://www.slackware.com/
FTP principal:
ftp://ftp.cdrom.com/pub/linux/slackware
Eurielec Pagina web:
http://www.eurielec.etsit.upm.es/linux/
FTP principal:
ftp://ftp.dit.upm.es/linux/
Esware Pagina web:
http://www.esware.com/
FTP principal:
ftp://ftp.hardlogic.es/pub/
Qu distribucin es la mejor?
Esta pregunta se podra denominar "la pregunta del milln".Son muchos los usuarios
que la hacen y la respuesta no es fcil de hacer.Como ya se ha explicado en la seccin
Que es Linux?, un sistema Linux est formado por el ncleo (Leer seccion kernel/
nucleo) ms una serie de programas y libreras que hacen posible tener un sistema
productivo y operativo. Tanto el ncleo, como las libreras y programas necesarios
estn disponibles libremente en internet. Con esto, cualquiera con conocimientos,
puede instalarse un sistema Linux sin necesidad de adquirir una distribucin, o crear
una nueva distribucin desde cero.No hace falta decir que hacer esto es una tarea que
requiere muchos conocimientos y tiempo. Lo que hacen las empresas que crean una
distribucion es precisamente esto, poner todos los componentes necesarios juntos,
con esto nos evitamos el tener que hacerlo nosotros. Las distribuciones suelen traer un
programa de instalacion, generalmente creado por la empresa que crea la distribucion,
manuales con documentacion, una serie de programas/librerias para poder usar el
sistema, un kernel, y en algunas ocasiones aplicaciones diversas y soporte tecnico.
Sabido esto, podemos afirmar que la diferencia entre una distribucin u otra es la
calidad de lo includo en la misma.
Algunos programas de instalacin pueden ser ms intuitivos que otros o ms faciles
de utilizar.La calidad de la documentacin,que el conjunto de programas/librerias estn
bien testeados y funcionen bien juntos (diferentes versiones, libreras, etc),soporte
Linux + FreeBSD
NT Loader+Linux
Linux+Win95
Loadlin+Win95
Introduccin :
Si nos ceimos a esta FAQ, en la seccin 1 se proporciona una informacin de carcter
general acerca de qu es Linux, su historia, caractersticas,... .
Durante la instalacin
Dnde instalo Linux?
Particionar el disco duro es una manera de dividir el disco fsico en varios discos
lgicos. O lo que es lo mismo, al particionar un disco, dividimos el disco en varias
Qu es la Swap ?
La swap es un espacio reservado en tu disco duro para poder usarse como una
extensin de memoria virtual de tu sistema. Es una tcnica utilizada desde hace tiempo
para hacer creer a los programas que existe ms memoria RAM de la que en realidad
existe. Es el propio sistema operativo el que se encarga de pasar datos a la swap
cuando necesita ms espacio libre en la RAM y viceversa. En Linux, la memoria total
disponible por el sistema estar formada por la cantidad de memoria RAM instalada +
la swap disponible.
El acceso a la swap (disco duro) es ms lento que el acceso a la memoria RAM, por
lo que si nuestro ordenador est muy cargado de trabajo y hace un uso intensivo de
la swap, la velocidad del sistema disminuir.Un uso muy intensivo y continuado de
la swap es un indicativo de que necesitamos ms memoria en nuestro sistema para
que funcione desahogado con el uso que le estamos dando. En linux generalmente se
usa como mnimo una particin dedicada a swap (aunque tambin se puede tener un
fichero swap).
sta es otra pregunta que es difcil de contestar:todo depender del uso que se le vaya
a dar al sistema y del espacio libre que tengamos.Si vas a utilizar muchos programas
a la vez y tienes poca memoria RAM, necesitars ms swap;si tienes mucha RAM, no
necesitars tanta swap.
Hay que recordar que un uso no intensivo de la swap es normal y no afectar mucho
a la velocidad del sistema,pero como hemos dicho antes,un uso muy intensivo y
continuado es un indicativo de que necesitamos ms memoria RAM. No existe una
frmula mgica para saber cunto espacio deberamos reservar para swap.Hay
La manera ms fcil de arrancar Linux es con LILO.Psate por la seccin sobre LILO
para ms informacin.
Sobre LILO
Qu es LILO y para qu sirve?
Excepto en el caso de que LILO sea el gestor de otros SOs,ser el BIOS u otro
cargador el responsable de ejecutar el sector de arranque de la particin.
El BIOS (Basic Input Output System) cuando encendemos el ordenador, lleva a cabo
el POST (Power-On Self Test) para comprobar los parmetros de la configuracin
de hardware que se encuentran permanentemente salvados en el chip CMOS
(Complementary Metal Oxyde Semiconductor) RAM (continuamente alimentado por
una batera aunque el ordenador se apague): memoria instalada, disqueteras, discos
duros, cd-roms,...
Despus del test, BIOS muestra en la pantalla los valores de los parmetros de
hardware y procede a arrancar el SO.En el caso de un disco duro toma el MBR del
disco primario y de l se cargar el programa gestor de arranque. Antao, el MBR
contena el sistema de arranque del nico sistema operativo instalado. Hoy da,como es
Fichero de configuracin
/etc/lilo.conf
Seccin general
boot=/dev/hda prompt
timeout=100
vga=normal
Particin linux
image=/vmlinuz
root=/dev/hdc1
label=linux read-only
Particin Windows 95
other=/dev/hda1
label=win95 table=/dev/hda .
En este caso, LILO tambin est en el MBR del primer disco duro (/dev/hda) y hay dos
sistemas operativos: Linux en la particin /dev/hdc1 y Windows 95 en la particin /dev/
hda1. La tabla de particin para el gestor de arranque corresponde al dispositivo /dev/
hda. Si hacemos
/sbin/lilo
aparecer el mensaje:
Added linux
Added win95, lo que significa que LILO va a gestionar los dos sistemas
operativos y que por defecto el primero en arrancar ser linux. Cuando
Cuando LILO se inicia, si todo ha ido bien, presenta en la pantalla las cuatro letras
"LILO".
Kernel / Ncleo
Qu es el kernel?
El kernel o ncleo de linux se podra definir como el corazn de este sistema operativo.
Es el encargado de que el software y el hardware de tu ordenador puedan trabajar
juntos. Las funciones ms importantes del mismo, aunque no las nicas, son:
- Administracin de la memoria, para todos los programas en ejecucin.
- Administracin del tiempo de procesador, que estos programas en ejecucin utilizan.
- Es el encargado de que podamos acceder a los perifricos/elementos de nuestro
ordenador de una manera cmoda. Existen dos versiones del Linux kernel:
ste es uno de los temas que asustan a los nuevos usuarios de Linux. Lo primero
deciros que no hay razn para asustarse, la configuracin e instalacin de un nuevo
ncleo en nuestro sistema es mas fcil de lo que suena.Lo que si hay que hacer es
tener claro una serie de cosas antes de ponernos a trabajar, para as evitar problemas.
A continuacin tienes una pequea gua sobre cmo configurar e instalar un nuevo
Seguramente habris odo hablar de los parches para el ncleo, si no, aqu tenis
informacin sobre los mismos
Qu son los parches y para qu sirven?
Un parche para el ncleo no es ms que un fichero que solamente contiene
informacin, sobre las lneas de cdigo que han cambiado desde la versin precedente
del ncleo. De esta manera, solamente te tienes que bajar un fichero con los cambios
Pregunta: Necesito actualizar el ncleo que utilizo cada vez que una nueva versin
aparece?
Respuesta:NO.
Por qu? La explicacin es la siguiente:
cuando un nuevo ncleo aparece, puede ser por las siguientes causas:
Nuevas caractersticas se han aadido.
Fallos de programacin se han corregido.
Fallos de seguridad se han corregido.
Qu es un gestor de ventanas?
Administracin
Cmo se utilizan los empaquetadores-des/compresores?
Los paquetes rpm son archivos que llevan includos dentro de ellos todos los ficheros
que componen un determinado programa. Internamente estn comprimidos, pero
nosotros slo debemos pensar en ellos en trminos de Instalacin, Actualizacin,
Borrado y Consultas.
Dentro del rpm van los ficheros del programa a instalar, su descripcin, a qu
directorios van a ir instalados, scripts de auto-configuracin en algunos casos, etc.
La sintaxis de rpm es:
rpm -accin nombre_del_paquete
Acciones:
rpm -i archivo (instalar)
rpm -e paquete (desinstalar)
rpm -u paquete (actualizar)
rpm -qi paquete (pedir info)
Ejemplos:
rpm -i Par-1.50-1.i386.
rpm -e Par rpm -u Par
rpm -qi Par
Supongamos el fichero programa-1.0.rpm que no tenemos instalado y que acabamos
de bajar de Internet. Procedemos a su instalacin: ##rpm -i programa-1.0.rpm
Tras eso el programa estar instalado en nuestro Linux y podremos ejecutarlo y
usarlo normalmente. Tal vez nuestro problema es que no sabemos como se llama el
ejecutable y los dems ficheros de configuracin que le acompaan. Para solucionar
eso hacemos una consulta (query) del paquete ya instalado: ##rpm -ql programa
La accin -ql significa "query list", y nos mostrar en pantalla la lista de ficheros
instalados de este programa y sus directorios destinos. Si por ejemplo deseamos
ver slo los fichero sean instalados en los directorios bin (los ejecutables) podemos
Al igual que el formato RPM , los .DEB encapsulan todos los ficheros y scripts
vinculados a un determinado programa, pero para la distribucin Debian.Adems de
disponer de herramientas de instalacin como dselect, se incluye la posibilidad de
instalacin manual mediante las diferentes opciones del programa dpkg:
Instalacin de paquetes deb: ## dpkg -i nombre_del_paquete.deb .
Para hacer consultas:
dpkg -s nombre_del_paquete (admite comodines)
Para desinstalar:
dpkg -r nombre_del_paquete
El resto de opciones de dpkg puede verse con ##man dpkg.
Alien es un programa que permite convertir un paquete binario entre los formatos rpm
(Redhat, Suse), deb (Debian) y tgz (Slackware).
Conversion a .DEB:
alien --to-deb paquete.elquesea
Conversion a .RPM:
alien --to-rpm paquete.elquesea
Conversion a .TGZ:
alien --to-tgz paquete.elquesea
Existen otros flags (como -i) que permiten directamente tras la conversin realizar la
instalacin del paquete generado.
Alien realiza la conversin descomprimiendo el paquete original y generando el nuevo
paquete, dicindonos el lugar del rbol de directorios donde dejar el paquete recin
generado,segn la distribucin (por ejemplo, en Redhat en /usr/src/redhat/RPMS/).
Lo primero que hay que decir es que para conseguir toda la informacin sobre los
comandos involucrados en el tema de
permisos podis consultar ##man chmod, man chown , man chgrp.
Informacin de un fichero/directorio:
cuando obtienes informacin sobre un fichero/directorio, existen diferentes campos que
te dicen qu clase de permisos el fichero/directorio tiene.
El formato de diskettes en Linux depende del tipo de formato que se le desee dar al
diskette (tipo MSDOS, tipo FAT32/VFAT, tipo
Ext2 de Linux, minix, etc.). En general, simplemente hay que usar uno de los comandos
mkfs disponibles que crear el sistema de ficheros pertinente.
Para formatear diskettes en formato Linux-ext2 :
mkfs.ext2 [opciones] /dev/fd0
,o bien su equivalente:
mke2fs [opciones] /dev/fd0
El usuario que formatee deber tener permiso de escritura para la disketera
(normalmente /dev/fd0). Para eso, debe estar en el grupo de usuarios floppy o que /
dev/fd0 tenga permisos 666 (para todo el mundo).
Para formatear diskettes en formato MSDOS:
mkfs.msdos [opciones] /dev/fd0
o bien:
mkdosfs [opciones] /dev/fd0
Otro comando disponible si tenemos instaladas las mtools es mformat:
mformat a:
este ltimo comando formatear el diskette en formato ms-dos.Por ltimo, existen otros
programas como fdformat o superformat (ver paquete fdutils) que tambin sirven para
dar formato a diskettes.
Slo tenemos que ejecutar los siguientes comandos con un diskette vaco dentro de la
diskettera:
[sromero@localhost]$/sbin/mke2fs /dev/fd0
[sromero@localhost]$ [ -d /fd ] || mkdir /fd
[sromero@localhost]$ mount /dev/fd0 /fd
[sromero@localhost]$ cp /boot/boot.b /fd
[sromero@localhost]$ cp /vmlinuz /fd
[sromero@localhost]$ echo
image=/fd/vmlinuz label=linux | /sbin/lilo -C - -b /dev/fd0 -i /fd/boot.b -c
[sromero@localhost]$ umount /fd
[sromero@localhost]$rmdir /fd
Lo que hacen estos comandos es:
/sbin/mke2fs /dev/fd0
-> Formatea el diskette con formato ext2
[ -d /fd ] || mkdir /fd
-> Si no existe el directorio /fd lo crea
mount /dev/fd0 /fd
-> monta el diskette en dicho directorio.
cp /boot/boot.b /fd cp /vmlinuz /fd
-> Copia el kernel de Linux y el archivo de boot al diskette. Si nuestro kernel no se
llama vmlinuz (por ej bzImage o zImage) o no est en el raz debemos cambiar esto.
echo image=...
-> Activa el kernel en el diskette.
umount /fd
-> Desmontamos el disco
rmdir /fd
-> Borramos el dir /fd
Si alguno de los paths o nombres cambia los deberemos cambiar dentro del diskette.
Son modems internos "capados". Los fabricantes les quitan chips para que sean ms
baratos. Por ejemplo, algunos no tienen UART, a otros les quitan los protocolos de
compresin, etc. Para que tengan las mismas funciones que los modems "de verdad",
las funciones correspondientes a los chips retirados las tienen que realizar drivers del
sistema operativo, o sea el microprocesador del ordenador. Los fabricantes de los
distintos modems slo ofrecen drivers para Windows y no dan especificaciones de
cmo se programan, y as desarrollar versiones para Linux. Por tanto estos modems no
Tienes ms de dos puertos serie, contando adems con los que incorporan
los modems internos (si tienes alguno). Por lo general debers configurar
todos los puertos a partir del COM3 includo.
Un tercer caso, ms raro, que consistira en tener un mdem interno
en COM1 o COM2 y que no usar los recursos estndar (puerto 3f8 e
interrupcion 4 para COM1, y puerto 2f8 e interrupcin 3 para COM2). Los
recursos utilizados por el mdem pueden consultarse en el Panel de Control
de Windows 95 :
(Sistema -> Administrador de dispositivos -> Puertos COM y LPT -> el puerto que sea -
> Recursos). Entonces debers configurar el puerto del mdem.
Si no cumples ninguna de estas condiciones, puedes ignorar el resto de la seccin.
Un puerto serie (ms exactamente, la UART del puerto serie) usa un rango de
direcciones de entrada-salida y una solicitud de interrupcin para comunicarse con
el sistema operativo. Para el correcto funcionamiento del ordenador y del sistema
operativo, ningn otro dispositivo del ordenador puede usar alguno de esos valores.
Nuestro objetivo ser conseguir esto, y en segundo lugar, hacer que el sistema
operativo atienda a ese rango de entrada-salida y esa interrupcin para comunicarse
con el mdem. Tradicionalmente, la eleccin del rango de entrada-salida y la
interrupcin se realizaba a travs de una serie de microinterruptores manuales situados
en el mdem. Conocida la posicin de estos interruptores, se configuraba el sistema
operativo para que usara esos valores. Hoy en da casi la totalidad de los modems
internos son Plug'n'Play, lo cual significa que el sistema operativo puede, por software,
decirle a la tarjeta qu valores debe usar.
Configuracin de modems Plug'n'Play en Linux
Si tienes un mdem Plug'n'Play, lo primero que habr que hacer es decirle qu rango
de entrada-salida y qu interrupcin debe usar. Lo ms cmodo en este caso es usar
los mismos valores que Windows 95. Para ello, arranca Windows 95, y haz:
Inicio->Configuracin->Panel de control. Una vez en el Panel de control, elige el icono
'Sistema' y dentro de l, el 'Administrador de dispositivos'. Dentro del apartado 'Puertos
COM y LPT' elige el correspondiente al puerto COM donde tienes el mdem. Busca
en 'Recursos' el rango de entrada-salida y la interrupcin que use y apntalos. Con
esos valores en la mano, puedes configurar tu mdem Plug'n'Play en Linux. Eso se
Una vez activados los cambios con el comando isapnp para los modems Plug'n'Play
y el/los comando(s) setserial necesarios para configurar el/los puerto(s) serie, o se
hreiniciado el ordenador con los scripts de arranque modificados para que ejecuten
dichas rdenes (es ms seguro hacer lo primero), se puede probar si todo va bien. La
forma ms sencilla es usar un programa de comunicaciones y enviarle comandos al
mdem para ver si responde. As, un programa adecuado sera minicom ,que es un
terminal de comunicaciones tipo Telix. No es complicado de configurar. Pulsando Ctrl+a
y luego z sale un men. Una de las opciones 'configure minicom' dar paso a otro men
donde la opcin "Serial port setup" nos permitir elegir el puerto serie, la velocidad con
la que nos comunicaremos con l (no la velocidad del mdem) y otras opciones ms.
Lo normal es usar :
115200 o 57600 para la velocidad, 8N1,
"Hardware Flow Control: Yes" y "Software Flow control: No".
Una vez configurado y sin ningn men sobre la pantalla escribes ' AT' (las dos en
maysculas o las dos en minsculas) y pulsas ENTER. Si el mdem responde al
instante 'OK' ,o con un nmero cero, indicara que el mdem funciona y que responde
bien. Para completar la faena puedes probar a conectarte a una BBS o a tu nodo de
infova plus (los nodos de infova plus permiten una conexin tipo terminal, aunque no
s qu se puede hacer con ella) ,y as probar que todo va bien. Si el mdem tarda en
responder al 'AT', o no responde, algo ha fallado en la configuracin del mdem o del
puerto serie y habra que revisar lo hecho.
Un comentario sobre el 'AT' :
Cuando se escriben estas dos letras pueden ocurrir varias cosas:
Que salga el AT mientras lo escribes (lo normal).
Que no te salga el AT, pero al pulsar ENTER el mdem responda con OK.
Para solucionar esto deberas activar el eco local del terminal con Ctrl+a e o
escribir a ciegas "ATE1" y pulsar ENTER.
Que te salga AATT y todo lo que pongas por duplicado. No es problema
porque el mdem slo recibir 'AT'. Para quitar esto, desactiva el eco local
del terminal con Ctrl+a e o escribe "ATE0", aunque te salga duplicado.
Qu es pppd?
Donde pone /dev/ttySx, la 'x' indica el puerto serie: /dev/ttyS0 = COM1, /dev/
ttyS1 = COM2, etc...
La velocidad 115200 NO es la velocidad del mdem, es la velocidad entre el
mdem y el puerto serie, que no tiene por qu coincidir con la velocidad en
el lado de la lnea telefnica. La velocidad del mdem (33600, 28800...) NO
hay que ponerla en ningn sitio.
Algunos modems no soportan esa velocidad entre el mdem y el puerto serie y habr
que probar con 57600 o incluso con 38400. Si se tiene una UART 16450 o 8250, utilizar
/etc/ppp/pap-secrets
/etc/ppp/chap-secrets
Existen dos formas posibles de identificacin cuando nos conectamos a un proveedor:
PAP y CHAP.
PAP es la ms sencilla y es la que usaba por ejemplo Infovia.
CHAP es muy usada en Infovia Plus. El formato de ambos archivos es el mismo:
mi_login@mi_proveedor * password
Comentarios:
mi_login@mi_proveedor debe ser exactamente lo mismo que se puso como
parmetro de la opcin 'name' en /etc/ppp/options.
Los campos van separados por TABULADORES no por espacios.
Despus de haber utilizado diversos sistemas para conectar con Internet a travs
de InfovaPlus mediante mdem y haber constatado en el grupo de noticias
es.comp.os.linux la gran cantidad de veces que se pregunta acerca de cmo
conectarse mediante kppp, hemos pensado que este breve resumen sobre cmo
establecer la conexin usando el kppp podra ser interesante para algunos que se
inician en linux y disfrutan del entorno grafico KDE.
Las notas que escribo a continuacin se refieren a la versin KDE 1.0 (las diferencias
con respecto al KDE 1.1 son mnimas) y por lo tanto voy a partir de la base de que el
usuario de linux ha instalado ya el KDE y le funciona sin problemas de ningn tipo.
Gua paso a paso de conexin a internet a travs de InfovaPlus con kppp.
Antes de comenzar...
El mdem debe estar correctamente instalado y su funcionamiento verificado (usando
por ejemplo el programa minicom). El dispositivo asociado al mdem depender del
puerto serie al que est conectado. Si est conectado al "COM2" (en jerga DOS), el
dispositivo ser /dev/ttyS1 , y podemos hacer un enlace simblico a /dev/modem :
ln -s /dev/ttyS1 /dev/modem .
Adems debemos saber su velocidad mxima. Si el mdem es de ms de 28,8Kbps
podemos tomar 115200.
Otros datos fundamentales son los que tienen que ver con nuestro proveedor de
internet:
"Domain name" (Nombre de dominio del servidor de acceso) seguido por
un punto y la extensin del pas: por ejemplo proveedor.es (se trata de un
nombre inventado para ilustrar el procedimiento)
kppp muestra "I can't create a modem lock file" (no puedo crear el fichero de
cerradura)
O bien le das a kppp el bit setuid o das acceso al fichero /var/lock a los usuarios
normales
kppp slo espera (Expecting OK) - Has jugado con la configuracin de CR/
LF? - El modem quiz necesita ms tiempo para inicializarse. Ve al cuadro
"Modem commands" y aumenta el "Init Delay Time".
La negociacin se puede distinguir por ser la fase en la que suenan los modems.
Si cuelga bruscamente puede ser debido a un TIMEOUT demasiado corto en el
script de marcado. Se puede subir a TIMEOUT 100 o a TIMEOUT 150. En caso
de seguir colgando, se puede intentar aadir S7=100 o S7=150 entre el AT y el
DTnumero_de_telefono en el script de marcado.
Depende de lo que quieras. Si simplemente quieres bajar el volumen del mdem, basta
aadir L1 o L0 a la cadena de inicializacin del mdem. Un posible sitio para colocarlo
sera entre el "AT" y el DTnumero_de_telefono en el script de marcado.
Si lo que quieres es que no suene para nada (por ejemplo, si quieres automatizar
la conexin para que se realice de madrugada), debers aadir M0 a la cadena de
inicializacin del mdem. Puedes colocarla en el mismo sitio que se indic para L1 o
L0.
Qu significa eso de
Asegrate de que tienes (si usas pppd) la opcion mdem en /etc/ppp/options. En caso
de que la tuvieras, comprueba que has puesto una cadena de inicializacin al mdem
en el script de marcado (por ejemplo at& f, atz...).
En caso de que as siguiese sin colgar, tendrs que echar mano del manual del mdem
y buscar el comando "que haga que el mdem cuelgue (o se resetee) cuando cambie la
lnea DTR".
Normalmente es & Dx donde 'x' es un nmero(que es lo que debers buscar
en el manual del mdem;si prefieres prueba-y-error 'x' normalmente estar entre 0 y
4). Luego debers editar el script de marcado del mdem y colocar dicho "& Dx"
entre el "AT" y el "DTnumero_de_telefono". Al usar el caracter '&', no olvides
poner todo el conjunto (desde el AT hasta el final del nmero de telfono) entre comillas
dobles (p.e.: "AT& D3DT055").
Esto puede deberse a muchas causas: debers verificar la configuracin del mdem
y del puerto serie. Sigue la descripcin que se da en la seccin correspondiente de la
FAQ.
Comprueba que la velocidad que has puesto en /etc/ppp/options NO es la velocidad del
mdem (nada de 28800, 33600 o lo que sea, no es eso lo que debes poner ah). Pon
115200 o 57600, preferiblemente la primera. Si tienes una UART 16450 u 8250 pon
38400 y asegrate de NO poner el flag 'spd_hi' o 'spd_vhi' con setserial (si has seguido
las instrucciones de la FAQ desde el principio no hace falta que compruebes esto). El
tipo de UART que tienes lo podrs ver haciendo ##setserial /dev/ttySx
,donde 'x' es 0 para COM1, 1 para COM2, etc...
Si sigue lento o conectando mal, asegrate de poner una cadena de inicializacin al
mdem ("at& f", "atz") y que la opcin crtscts aparece en /etc/ppp/options. En
caso de continuar los problemas debers echar mano del manual del mdem y buscar
las opciones que "activen el control de flujo RTS/CTS".
Suelen ser de la familia de las que empiezan por '&'. En algunos modems es
una sola orden (por ejemplo "& K3") y en otros hay que activar el RTS y el CTS
separadamente. Colocar el o los comandos entre el "AT" y el "DTnumero_de_telefono".
Si usas el carcter '&', asegrate de poner todo el conjunto (desde el AT hasta el
final del nmero de telfono) entre comillas dobles (p.e. "AT& K3DT055").
Slo puedo usar internet como root , qu hago para poder hacerlo como
usuario?
Comandos bsicos
Pero hay que saber comandos?
Como regla general, se podra decir lo siguiente: "Todo lo que se puede hacer en modo
grfico, se puede hacer tambin en modo texto, a base de comandos. Pero no todo
lo que se puede hacer en modo texto, se puede hacer en modo grfico". Cada da
aparecen ms y ms programas, que permiten hacer hacer en modo grfico, a golpe
de ratn y ventanas, lo que se hace en modo texto a base de comandos. Es ms, lo
nico que estos programas hacen, es crear una versin grfica que hace uso de los
comandos que se utilizan en modo texto. Entornos grficos como Gnome y Kde, vienen
con una serie de programas grficos que hacen esto. Para terminar esta seccin, slo
decir a aquellos que quieran profundizar en el sistema, que hasta el momento, ningun
programa grfico, supera en versatilidad y potencia, a una consola de texto donde
ejecutar comandos directamente.
# [Ctrl]+[Alt]+[Del]: Shutdown.
Apaga el sistema de forma organizada desde una terminal texto.
# [Ctrl]+[Alt]+[F1]: Cambia a la primera terminal de texto.
# [Ctrl]+[Alt]+[Fn]: Cambia a la terminal de texto numero n (n=1,...,6).
# [Ctrl]+[Alt]+[F7]: Cambia a la primera terminal X (si se est usando alguna)
Todos los comandos citados en este apartado, pueden usarse con multitud de
opciones. Para conseguir informacin detallada de cada comando utilizar " man
comando". A continuacin tenis la manera ms sencilla de utilizacin.Informacin del
sistema
##hostname
, informacin sobre los procesos del actual usuario, que se estn ejecutando.
## ps axu
, para comprobar si tenemos contacto con la maquina maquina (maquina: nombre o IP)
## /sbin/route
##/usr/sbin/groupadd grupo
, crea un nuevo grupo.
##/usr/sbin/groupdel grupo
, borra un grupo.
## more /etc/passwd,
,crea un subdirectorio
## rmdir directorio
,borra un subdirectorio
## shutdown -t3 -r now
Adems de esta funcin de asignar los recursos a cada programa, el sistema operativo
se encarga de contabilizar stos, y de la seguridad (que un usuario no pueda acceder
sin autorizacin a la informacin de otro, por ejemplo).
Qu es el software?
Empecemos con la definicin de Software: son los componentes no fsicos(programas)
que un ordenador --o un aparato con capacidades de computacin-- necesita para
funcionar.
El software, por el tipo de licencia, se divide en dos grupos principales: Software Libre
y Software Propietario.
El software propietario
Este software se define como aquel cuya licencia restringe drsticamente su uso.
Puede ser creado por desarrolladores para el uso en una nica empresa, como es el
caso de numerosas aplicaciones verticales, aunque en este caso la empresa cliente
suele retener la propiedad completa del software, o por pequeas empresas, que lo
venden bajo numerosos tipos de licencias, algunas de ellas gratuitas (pero no libres).
Sin embargo, cuando nos referimos a este tipo de software, estamos pensando en el
que es producido principalmente por grandes empresas. La ms conocida de ellas
probablemente sea Microsoft, pero existen otras: Oracle, Adobe,...
En este caso, cuando pagas por un programa, no pagas por el cdrom, el programa o
su cdigo, solamente pagas por su licencia, que es la autorizacin de su uso, con las
condiciones que ponga la empresa propietaria de dicho software.
En general, las condiciones que tiene la licencia del software propietario son stas,
aunque la empresa propietaria del mismo suele poner las que le interesa:
Esto hace que, por ejemplo, haya que pagar 2 veces por el mismo programa si se
instala en 2 puestos de trabajo, aunque sean usados por la misma persona (en casa y
en la oficina).
El software libre
Libertad de uso: se puede usar de la manera que se quiera, por quien quiera, en
el nmero de ordenadores que se quiera.
Libertad de cdigo: la cual permite ver el cdigo, estudiarlo, usarlo, copiarlo,
mejorarlo, adaptarlo a nuestras necesidades y ponerlo a disposicin de la
comunidad. El cdigo fuente de un programa libre, debe estar a la disposicin de
quien lo quiera.
Libertad de distribucin: se puede copiar, regalar o vender, cmo y a quien se
quiera. Sin dar explicaciones a los autores.
Una lista de las licencias ms frecuentes de cdigo abierto est disponible en la pgina
web de la Open Source Iniciatives:
http://www.opensource.org/licenses/index.php
. Quizs el mximo exponente del software libre son las distribuciones GNU/Linux, ms
conocidas globalmente como Linux.
Por economa
Usando software propietario, por cada ordenador, hay que tener una licencia de cada
programa que se use. Por poner un ejemplo, el sistema operativo que es lo mas bsico
para que funcione el ordenador, la versin que se comercializa actualmente para uso
domstico es el WindowsXP homey su licencia suele superar los 120 Euros, pero para
poder hacer algo ms que encender el ordenador necesitamos programas de ofimtica
como la suite de Microsoft Office XPy algunos programas de audio, publicacin y
retoque fotogrfico, por ejemplo.
El precio del software de cada terminal de trabajo puede superar ampliamente los 600
euros pudiendo invertir este dinero en la compra de nuevos equipos o perifricos que
se necesiten si usamos software libre.
Por su filosofa
Porque el software libre, ha sido y es creado por miles de personas que cooperan
desde todas las partes de la geografa mundial coordinndose mediante Internet,
de forma descentralizada adems de desinteresada en su mayora, aportan su
conocimiento, su trabajo y su tiempo, para la creacin de este software, que ha sido
propuesto a la Unesco a formar parte del patrimonio de la Humanidad.
Por seguridad
Esto no hace ms que dar una ficticia seguridad a sus usuarios, que ven como da a
da, se ven afectados por una gran cantidad de virus, gusanos e intrusos informticos.
[Nota de La Espiral: El autor, que firma con seudnimo, es usuario de Debian GNU y
Licenciado en Derecho.]
Vamos a explicar cules y cmo son los derechos del autor del programa. Por ahora
trataremos al software como una obra intelectual ms, sin fijarnos demasiado en
aquello que lo caracteriza y distingue de, por ejemplo, una novela o una cancin.
Despus de tratar algunas cuestiones generales (1.1), definiremos quin es el titular
de los derechos de autor de un programa (1.2), sobre qu objetos recaen y sus tipos
(1.3), qu es y qu implica la divulgacin y la publicacin del software (1.4), cul es
el multiforme contenido del derecho de autor y sus lmites (1.5), su duracin (1.6), las
formas de explotacin y cesin de derechos (1.7) y finalmente las garantas legales de
todo esto (1.8).
Dicho de otro modo, un programa no puede ser objeto de propiedad industrial, que
es el conjunto de derechos de los inventores sobre sus inventos y de las empresas
sobre sus marcas y rtulos comerciales, o de los ingenieros sobre topografa de
semiconductores, etc. Es una propiedad "incorporal" o "inmaterial" , lo mismo que la
propiedad intelectual, pero se regula no en la LPI sino en la LP y LM, conforme a reglas
y mecanismos diferentes.
Adelantemos que hay diferencias, y muy notables. Probablemente a causa de que los
programas no son en absoluto equivalentes a las obras literarias.
Los autores de programas que sean menores de edad son por supuesto considerados
titulares nicos de sus derechos, igual que los mayores de edad. Pero slo los menores
de 18 aos y mayores de 16 independientes -de acuerdo con sus padres o tutores-
pueden ceder sus derechos de explotacin del programa sin la autorizacin de quien
les tenga a su cargo.
Obra colectiva es un concepto difcil de definir con precisin. Para la LPI, programa
de ordenador colectivo es el generado por iniciativa y coordinacin de una persona
(natural o jurdica), que lo edita y divulga bajo su nombre. El programa colectivo est
constituido por aportaciones de diferentes programadores, de las que resulta una
creacin nica y autnoma, sin atribucin de partes o cuotas a cada aportador, y sin
que uno solo de ellos pueda atribuirse derechos sobre el conjunto del programa.
Tipos de programas
Los programas pueden clasificarse segn varios criterios con arreglo a la LPI:
Ahora nos interesa slo dar algunas definiciones. Llamamos programa independiente
al constituido como una "creacin autnoma" , aunque se publique conjuntamente con
otros programas. Se distingue del programa compuesto, formado por varios programas
independientes preexistentes.
Un programa (obra intelectual) se distingue del soporte en que est contenido (bien
mueble, como puede ser un CD). El soporte del programa es el material en que se
plasma, no es lo mismo que el programa. [Advertencia probablemente superflua:
El significado de soporte al que nos referimos nada tiene que ver con el utilizado
constantemente en informtica de "servicio de apoyo" ]. Lo importante es que son
distintos e independientes los derechos sobre el programa (derechos inmateriales, de
propiedad intelectual) y los derechos sobre el CD (derechos materiales, de propiedad
comn). Al cederse los derechos de propiedad intelectual no necesariamente se ceden
los derechos sobre el soporte. Viceversa y ms importante: ser dueo del soporte no
significa ser titular de los derechos sobre el programa que incorpora.
El derecho moral es una figura que slo encontraremos en los derechos continentales,
no en las leyes anglosajonas, al menos con el mismo aspecto. No puede cederse en
vida, como parece deducirse del texto de la LPI. En realidad son varios los derechos
morales del autor:
Los derechos patrimoniales son los que tienen relevancia econmica. Los trataremos
muy sintticamente en el apartado 1.7, dedicado a la explotacin del software.
Esto es esencial, al menos en teora. Veamos: Una vez creado el programa, nacen
los derechos de propiedad intelectual sobre l, que duran toda la vida del autor y 70
aos tras su muerte, contados desde el 1 de enero del ao siguiente al de la muerte,
y despus se extinguen. Hay reglas especiales para los programas annimos y
seudnimos, los realizados en colaboracin y los programas colectivos, los programas
publicados por partes, que no detallaremos aqu (vense los artculos 26 y 30 LPI).
Sin embargo, el derecho moral dura toda la vida del autor, pero slo dos de sus
facultades duran despus indefinidamente sin lmite de tiempo: exigir el reconocimiento
de la autora y exigir la integridad del programa. El resto de las facultades se extinguen
con la muerte del autor, salvo la divulgacin del programa indito durante su vida, pero
ste es un caso muy extrao y tampoco lo trataremos.
Cuando los derechos de explotacin se extinguen por transcurso del plazo, el programa
pasa al dominio pblico, es decir, puede ser utilizado por cualquiera siempre que
respete la autora e integridad del software. Trataremos de nuevo el dominio pblico,
con ms fundamento, en el apartado 4.
Este es el panorama con que se enfrentan las licencias de software libre, que vienen
a subvertir los trminos: No limitar al usuario, que explote el programa a su entero
placer, sin restricciones. Permite esto la LPI espaola? No se encontrar una licencia
de software libre, y especialmente las copyleft que son las ms interesantes desde
el punto de vista terico-jurdico, con el muro infranqueable de algn derecho del
autor que sea inviolable, ni siquiera contando con la propia voluntad del autor? A esto
tratan de responder los apartados siguientes. Pero antes, y para rematar el cuadro,
trataremos brevemente el sistema de garantas de los derechos de autor.
Pero todo esto es teora. Los programas se inscriben en la llamada Seccin VII del
Registro General de la Propiedad Intelectual, cuya organizacin y funciones bsicas se
En fin, si no se arregla de otro modo y por las buenas, el autor o titular que considere
violados sus derechos ha de acudir al Juez de 1 Instancia de la localidad en donde
se haya producido la infraccin, al que pedir que se condene al infractor a devolverle
el beneficio ilcito, a indemnizarle por los perjuicios, a detener la actividad ilegal e
impedirle que pueda reanudarla. Entretanto estudia el litigio y dicta sentencia, el juez
puede adoptar medidas cautelares que llegan a ser muy gravosas para el presunto
infractor, como el secuestro de los equipos y materiales de reproduccin y copia, etc.
No podemos entrar en detalles, adems muy tcnicos y farragosos, fuera del objetivo
de esta "Introduccin" . Para las infracciones de las licencias de software libre, vase el
apartado 4.7.
Pero hay un segundo objetivo: Comprender lo mejor posible las licencias de software,
que es el instrumento utilizado por el movimiento del sl en general, y por el copyleft
en particular, para articular jurdicamente un fenmeno que sobrepasa el mbito del
software, alcanza a la documentacin tcnica y cientfica y comienza a sustentar
la distribucin de otro tipo de bienes y productos (vase el apartado 5). No es
que software libre y copyleft hayan surgido de las licencias, sino que stas han
"instrumentado" tales movimientos, se han servido de ellas para recuperar las
libertades acadmicas, cientficas y de los usuarios. De hecho, parece que el software
libre es incluso un modelo de negocio, pero tambin es un fenmeno social, un mtodo
de investigacin y de docencia.
Todos estos son asuntos del mayor inters, en el apndice C se encontrarn algunas
referencias. Tambin se trata de cuestiones complejas, pero alejadas en cierto modo
de nuestro tema, mucho ms restringido: las licencias de software segn el Derecho
espaol, y especialmente las de software libre.
En realidad, s tiene que ver la propiedad intelectual con un derecho fundamental, pero
de los que la Constitucin considera de segunda categora, el derecho de propiedad
(art. 33 CE). No puede negarse que tanto el fenmeno del software libre, como ms
acentuadamente el copyleft, parecen superficialmente ir directos contra el derecho
de propiedad (intelectual). Nada ms falso. El software libre se basa en el derecho de
autor para, sobre l, modular sus facultades intrnsecas a las necesidades prcticas de
las libertades que hemos citado antes, sin machacarlo en modo alguno. Simplemente el
software libre tiene copyright.
Naturalmente que cuando uno acepta una licencia (copyleft o no) ve limitadas algunas
de sus libertades y derechos, se dice que asume obligaciones, deberes y sujeciones,
lo mismo que cuando se casa o cuando firma un prstamo hipotecario. Simplemente
acepta de forma libre los trminos que se le ofrecen. En este sentido puede decirse que
la GNU-GPL es un tratado de desarme (WAYNER), porque da total libertad a todos,
salvo a quien quiere apropiarse -para s y con exclusin de los dems- de la libertad
que recibi, la que le permiti y permite explotar el programa.
Por lo tanto, interesa saber cules son esas normas imperativas. Relacionarlas
todas no es fcil ni por suerte tampoco muy til. Basta conocer las ms importantes.
Hay de todo: beneficios renunciables slo por acuerdo de las partes, ventajas
3) Tambin son irrenunciables los beneficios que la LPI otorga a los autores en los
actos de transmisin de sus derechos, o contratos de cesin de derechos de autor.
As lo dice el artculo 55 de la Ley. Esto tiene mucha ms importancia, y de hecho
algunos de los siguientes tems nos dar algn trabajo despus. Pero en general
las licencias de software libre no se ven afectadas por estas reglas sobre "derechos
irrenunciables" , aunque parezca paradjico. Pinsese que al fin y al cabo la GPL (p.
ej.) no supone renuncia alguna para el autor, sino la cesin voluntaria de sus derechos
transmisibles. Todo esto se tratar despus, ahora nos limitaremos a enumerar, slo
aproximativamente, los beneficios irrenunciables de los autores al ceder sus derechos:
Las siguientes son facultades del usuario legtimo, pero son renunciables mediante
pacto contrario entre el usuario y el autor:
Hasta aqu llega la proteccin que garantiza la LPI a los usuarios de programas de
ordenador. No olvidemos que esta ley, como todas las de su clase en los dems
pases, y lo mismo en los tratados internacionales, est pensada para proteger los
derechos del autor. De un autor preconcebido, idealizado en el literato, en el pintor,
indefensos frente a los editores, los galeristas. Un autor de aspecto distinto al del titular
de derechos de explotacin de un programa de ordenador, p. ej. un gran fabricante de
software cerrado. Sea como sea, la LPI reconoce y protege sobre todo los derechos del
autor de un programa, no los del usuario del programa.
Ahora estamos listos para acometer nuestra tercera tarea: Seguir aclarando la
terminologa, dar algunas definiciones ms, desentraar el contenido estndar de
una licencia de software y, digamos en general, perder un poco el respeto a las ms
abtrusas discusiones jurdicas e incluso poder participar en ellas. Para esto, disponer
de un lenguaje preciso es esencial.
Qu es una licencia
En realidad lo que llamamos licencia pasa por varios estadios: Primero es una
declaracin unilateral del autor del programa en la que expresa las condiciones en que
se puede acceder a l y explotarlo. Como tal declaracin prcticamente no tiene ningn
valor legal, slo lo adquiere (se dice que pasa a ser ley entre las partes) cuando otra
persona acepta sus trminos. Como es lgico, cuando la licencia se rechaza, o no se
acepta, simplemente no llega a tener efecto.
Qu es "software"
La LPI no habla nunca de software desde luego, sino de "programas de ordenador" ,
que define (art. 96) como secuencia de instrucciones o indicaciones destinadas a ser
utilizadas, directa o indirectamente, en un sistema informtico para realizar una funcin
o una tarea o para obtener un resultado determinado, cualquiera que sea su forma de
expresin o fijacin.
No es una bella definicin, ni tampoco un modelo de precisin. Dice la LPI que gozan
de la misma proteccin que los programas tanto la documentacin preparatoria como
la documentacin tcnica y los manuales de uso. Ya sabemos adems que se protegen
las versiones sucesivas y los programas derivados, pero no los creados con el fin de
ocasionar efectos nocivos a un sistema informtico. Tampoco estn protegidas las
ideas y principios en que se base cualquier elemento de un programa, incluidos los que
sirven de fundamento a los interfaces. Esta exclusin parece referirse a los algoritmos
y otros elementos, que no necesitamos determinar completamente para saber a qu
nos referimos con el trmino legal genrico "programa de ordenador" . En la prctica,
el problema de la definicin se plantea ante casos como los sitemas expertos, los
interfaces, etc.
Son programas protegidos tanto los originales como los derivados, las versiones
sucesivas y las originadas en bifurcaciones. Tenemos obras independientes, como un
kernel; y obras compuestas, como paquetes y distribuciones. Tenemos obras originales
como el primer ncleo Linux, y obras derivadas como un kernel 2.2.x.
Sin embargo, puede que no encontremos software en dominio pblico por expiracin
del plazo de duracin de los derechos, pues no han transcurrido aos suficientes
desde la aparicin de los primeros programas a mediados del siglo XX. Es cierto que,
adems, este software slo tiene utilidad histrica.
Pero tambin puede adquirirse software por ftp annimo gratuitamente con licencia
copyleft, y por supuesto quien lo obtiene as puede usarlo muy legtimamente;
simplemente la LPI no estaba pensando en esta circunstancia. Cuando se aprob la
LPI en 1987, incluso cuando se aprob en Bruselas en 1991 la directiva que oblig a
hacer algunas modificaciones en la ley espaola en 1993, el software libre no era un
movimiento lo suficientemente relevante en Europa y menos en Espaa.
Lo relevante para nosotros ahora es otra cosa: No hay otro tipo de obras para las que
la LPI distinga entre usuarios legtimos e ilegtimos, slo hace la distincin para los
Ocurre que las exigencias jurdicas del software libre (sl) pueden confundir: Redistribuir
software libre del que no se es autor no traslada automticamenten al redistribuidor
las responsabilidades del autor. Para empezar, la habitual clusula de ausencia de
garanta deja claras ya algunas cosas. En general, si el licenciante del programa
original (normalmente el autor pero no necesariamente, p. ej. en el caso de los
asalariados) y el licenciatario (quien tal vez lo va a modificar y redistribuir) acuerdan
vlidamente los trminos de la licencia, est claro que de la autora de los programas
responde cada cual: del original el autor o licenciante; y del derivado el licenciatario,
pero por motivo de una segunda licencia, en la que es l ahora el licenciante de
un tercero licenciatario, y as sucesivamente. Ms en general no es posible, ni
seguramente til, tratar los diferentes supuestos de responsabilidad (patrimonial o no,
ya sea civil, penal o administrativa). Es un asunto demasiado amplio, rido y complejo.
Y a efectos prcticos no muy til. Tal vez sea ste, como otros del presente artculo,
objeto apropiado para una apartado FAQ en versiones sucesivas. De todos modos, uno
debera ser capaz de deducir la respuesta a su duda a partir de cuanto contienen la
presente "Introduccin" (sa es su finalidad).
La GNU-GPL es una pieza jurdica de gran valor. Entre otras utilidades, contiene
la estructura completa del sistema de cesin de derechos de autor sin atentados al
copyright y respetuosa con los derechos y libertades de los usuarios. Es superior
tcnicamente a los mejores ejemplos de licencias de software no libre, es ms
completa que las licencias breves tipo BSD, y mucho ms clara y fcil de leer que
cualquier otra de software no libre que conozcamos.
1. Clusulas generales
1. Definiciones y mbito de aplicacin de la licencia. Advertencias de
copyright (GPL clusula 0)
2. Formas de aceptacin de la licencia (GPL clusula 5)
2. Uso y explotacin del programa
1. Copia, modificacin y distribucin libres (GPL clusulas 1 a 3)
2. Copyleft, o persistencia de la libre distribucin de programas
derivados (GPL clusulas 4, 6 y 10)
3. Integridad del sistema copyleft en caso de impedimento forzoso a la
libre distribucin (GPL Clusula 7)
4. Posibilidad de lmites geogrficos a la libre distribucin (GPL clasula
8)
3. Intangibilidad de la licencia. Versiones sucesivas (GPL clusula 9)
Clusulas generales
Definiciones, mbito de aplicacin de una licencia y avisos de copyright
Es casi esencial que el programa incluya de algn modo uno o ms avisos de copyright
y de la licencia, como ya hemos reseado antes.
La copia impresa debe prevalecer sobre la informacin que muestre la pantalla, porque
es ms sencillo hacer modificaciones de ltima hora en aqulla.
Este asunto es clave, al menos formalmente, pero no debe dar problemas en su puesta
en prctica. No hay autntica licencia hasta su aceptacin por el destinatario, esto ya
lo sabemos. La forma de la aceptacin es variada, las hay muy rebuscadas, incluso
puede encontrarse algunas definitivamente abusivas para el usuario (vase el apartado
6.1). Aqu nos referiremos slo a las habituales. En esencia, se trata de que queden
claras las voluntades del licenciante y del licenciatario, por cualquier medio admitido.
Suele darse por vlido que la realizacin de actos de explotacin permitidos por
la licencia suponen su aceptacin. Por supuesto, pulsar "aceptar" en el ejecutable
interactivo tiene exactamente -jurdicamente- ese valor, aunque debera darse
la oportunidad al usuario de poder usar el programa durante un tiempo para
comprobaciones y ajustes, antes de la aceptacin. En fin, que no hace falta una
declaracin pesonal por escrito, firmada y fechada, para aceptar una licencia. S tal vez
para rechazarla, si uno cree que ha realizado, por error o defecto del programa, algo
que puede significar la aceptacin de lo inaceptable. El software libre, de todos modos,
no se enfrenta con estos problemas casi nunca.
Intangibilidad de la licencia
El contenido de una licencia, sobre todo de una licencia de software libre, no es libre.
Dicho de otro modo, el efecto de una licencia de sl no es reflexivo, no se aplica a s
misma. Una licencia no puede permitir su propia modificacin entretanto est en vigor,
salvo por acuerdo expreso de ambas partes. En Derecho espaol se dice, ms en
general, que los trminos de un contrato no pueden quedar al arbitrio de uno solo
de los contratantes. Por todo esto se exige que la licencia sea intangible, intocable
mientras est en vigor.
Tenemos que distinguir las novaciones, o cambios que puede sufrir una licencia por
acuerdo entre las partes o por sentencia judicial, p. ej. si un tribunal anula una clasula
abusiva; de las revisiones de una licencia-modelo o general, como p. ej. la GNU-GPL.
El supuesto interesante es el segundo. Una licencia-tipo, como la GPL o la FDL, que al
fin y al cabo son obras literarias, estn protegidas por las leyes de derechos de autor,
aqu aplicados estrictamente con la finalidad de mantener el texto sin cambios. Estas
licencias estn sujetas al copyright, en este caso de la FSF, con domicilio en Boston-
MA. Esto significa que quien use la GPL para licenciar su programa y mantenga el
nombre de la licencia en el ejemplar que utilice para su programa, debe mantenerla
ntegra y sin modificaciones. En otro caso, y si prefiere el autor realizar algn cambio,
no ser ya "licencia GPL" y no podr utilizar tal denominacin. A esto se refiere la GPL
en la advertencia que va antes del prembulo.
Nosotros vamos a ocuparnos slo de las licencias tpicas. Las ms interesantes son
las licencias de software libre, ya que en una licencia se materializa la voluntad del
autor sobre cmo desea que su programa se use y explote, y las de software libre
materializan una voluntad radicalmente contraria a la que la LPI espera de un autor. En
particular, las licencias copyleft revierten literalmente las relaciones autor-usuario que la
LPI presupone.
Por contra, las licencias de software no libre, exactamente las de software cerrado, se
asientan en la LPI y desde ella pueden incluso lanzarse ms all en la limitacin de los
derechos y libertades de los usuarios. Pero esto slo es vlido, como ya sabemos, si no
se atenta contra las normas imperativas, que conocemos del apartado 2.1.3. Por eso
se dice que las licencias de software no libre estn acompasadas con la LPI y son por
lo tanto mucho menos interesantes. La lectura completa de una de estas licencias no
libres puede resultar adems una penosa experiencia.
Con todo, slo las licencias tpicas forman ya un buen montn. Tampoco tiene mucha
utilidad hacer una seleccin, pues la FSF y la OSI ya han hecho algunas muy valiosas,
aunque no siempre detalladas, y de las que en el apndice C se encuentran las
referencias. Nosotros vamos a examinarlas de una forma distinta, y nos evitaramos
tanto el tedio de la exposicin de licencias una por una, como una lectura rida o
abrumadora. De todos modos, se encontrar en 4.6 una breve discusin final sobre los
criterios de las clasificaciones principales.
"Software libre" (sl) es el que incorpora una autorizacin general no discriminatoria para
usar, copiar, modificar y distribuir el programa original o sus derivados, gratuitamente
o no. Debe proporcionarse las fuentes, directa o indirectamente, pero siempre de
forma fcil y asequible. Todo programa que no incorpore esta autorizacin no es libre,
decimos que es software no libre.
Por supuesto, es lcito bajo licencia de sl cobrar por el acto fsico de transfererir copias
del programa (p. ej. en CDROM), as lo dice entre otras la GPL en el ltimo inciso de
la clusula 1. Significa esto que la cesin de derechos de explotacin del programa
(que es una transferencia de objeto inmaterial) ha de ser gratuita si se utiliza la GPL?
Aqu la GPL parece confundir el programa (obra intelectual, inmaterial, objeto de los
derechos de autor) con el soporte de la obra (un binario o cdigo fuente, grabados
en un CDROM). Debera estar claro que la GPL no exige gratuidad en la cesin de
derechos de explotacin, no hay restriccin a los derechos de autor ni a la libertad
del usuario, pero es un hecho la cesin gratuita en muchas ocasiones. Adems,
a quin se cobra por una cesin de derechos de explotacin muy amplia y con
destinatario indeterminado? Este asunto es muy terico y no merece ms atencin en
este momento.
Libertad de modificacin
Tampoco aqu encontraremos a estas alturas dificultades mayores, aunque siempre
es posible complicarse la vida. Uno puede modificar libremente un programa libre,
que lo es porque entre otras cosas se dispone de su cdigo fuente. Puede traducirse,
transformarse, combinarse con otros, o dividirse. Todos los programas o colecciones
Esta es una exigencia coherente con las bases del sistema copyleft, de hecho es
la primera exigencia del copyleft, en el mbito de la modificacin de programas.
Es el primer supuesto que nos encontramos en nuestro recorrido con el llamado
incorrectamente "virus copyleft" , calificado tambin de efecto contaminante. Desde el
punto de vista de las libertades del usuario es ms bien un efecto supermineralizante,
reconstituyente. Estos calificativos no tienen mucha importancia, s el efecto mismo
por supuesto. Pero esta restriccin no es toda la clusula copyleft, en realidad no lo
es en absoluto en cuanto a las modificaciones que no se redistribuyen. Ms bien, la
transmisin del carcter libre de un programa original a sus derivados es una exigencia
del copyright: Si el programa original es copyleft, porque el derecho del autor del
programa derivado se origina en una licencia copyleft, de la que no puede sustraerse. Y
si el programa original no es copyleft, exactamente igual.
Luego el mal llamado carcter contaminante del copyleft resulta que se da bajo
cualquier licencia, como cualquier jurista esperara. Las crticas habituales suelen
tener lugar en otro plano, sea econmico, empresarial o poltico. Por ejemplo, que
la contaminacin por licencias no libres es una calamidad para el usuario, que la
producida por licencias Open Source no copyleft es incierta, y que la producida por
el copyleft es defitivamente una bendicin para el usuario y la libre computacin en
general, porque mantiene la libertad. Nada de esto se deduce del Derecho, que,
todo lo ms, establece reglas muy generales, como que lo accesorio sigue la suerte
de lo principal (art. 379 CC) y que los derechos sobre una mezcla indivisible son
proporcionales a los elementos mezclados (art. 381 CC), siempre que no haya otros
pactos.
Unin de programas
Todo esto slo vale si quien mezcla, adjunta o especifica acta de buena fe.
La LPI no define "cdigo fuente" . La GPL y las OSD dicen que es "la forma preferida
del trabajo cuando se hacen modificaciones" . Para un ejecutable, fuente es el cdigo
completo de todos sus mdulos, ficheros asociados de definicin de interfaces y
guiones utilizados para controlar la compilacin e instalacin del ejecutable. No
comprende necesariamente el cdigo que suele acompaar a los componentes
principales del sistema (el compilador y el ncleo sobre el que funciona el ejecutable),
salvo que el propio componente principal acompae al ejecutable.
Tambin est claro para todos que la distribucin slo es libre si puede tener por
causa cualquiera que sea lcita: nimo de lucro, altruismo, proselitismo... Asmismo no
admite dudas que el sl slo es libre si la licencia del programa libre original persiste
durante toda la vida til del software y de sus derivados, que por lo tanto tambin han
de ser libres. La cuestin es la de la transmisin de efectos de las licencias, que ya
avanzamos en el apartado anterior. Se transmite el carcter libre de un programa
a sus programas derivados siempre, o slo para determinadas modificaciones
(derivaciones, agregaciones, paquetes, bibliotecas, distribuciones), tal vez slo para
la redistribucin? O se reconstituye plenamente el copyright? Esto depende de la
licencia misma, y por eso el movimiento del software libre se articula no mediante una
forma especial de escribir cdigo, ni por una nueva mercadotecnia, ni por el apoyo del
sector empresarial, todo eso son consecuencias de mover la palanca sobre cierto punto
de apoyo: esos extraos e indigeribles documentos llamados licencias de software.
El criterio para resolver el dilema reside, obviamente y una vez ms, en las libertades
ciudadanas, incluidas las exigencias de la libre competencia, entre las que no est
-ms bien al contrario- la limitacin de entrada en el mercado por apropiacin de
resultados obtenidos en el desarrollo de software, mucho menos de software libre. As,
el copyleft es una exigencia de la autntica libre competencia.
No se conoce ninguna norma jurdica que prohba la apropiacin del software, ah est
la LPI para garantizar que los programas pertenecen a sus autores. Pero el art. 81
del Tratado de la Comunidad Europea (ojo: en la nueva numeracin de Amsterdam)
califica de incompatibles con el mercado comn, y quedan prohibidas, las prcticas
tendentes a impedir, restringir o falsear la competencia; y en particular el limitar o
controlar la produccin y el desarrollo tcnico, subordinar la celebracin de contratos
a la aceptacin por la contraparte de prestaciones suplementarias sin relacin con su
objeto. Tambin prohbe el art. 82 abusar de la posicin dominante, p. ej. limitando
la produccin o el desarrollo tcnico en perjuicio de los consumidores. No es el sl el
que usa estas prcticas, de hecho las dificulta. Por contra, hay paladines del software
Este apartado 4 trata de las libertades del usuario de software, no de los derechos de
autor. Muchos entienden que la libertad del usuario no puede restringirse mediante
el uso de la misma libertad. Si quien modifica un programa libre hace uso de sus
derechos de autor (de su libertad, dir l tal vez) aadiendo en la licencia del programa
derivado (y en perjuicio de sus usuarios) restricciones que no figuraban en la licencia
del programa libre original, lo que est haciendo no es ejercitar sus derechos de
autor -que estn indeleblemente unidos a la licencia libre original- sino apropiarse
ilegtimamente de algo que no le corresponde a l en exclusiva, la libertad de los
dems a usar y explotar libremente el nuevo programa, libertad garantizada por las
constituciones, sin duda por la Constitucin espaola cuando reconoce el derecho
fundamental a la produccin cientfica y tcnica (art. 20.1.b CE).
Las licencias libres tipo BSD-original no pudieron tener en cuenta que el software
estaba empezando a ser usado masivamente y a gran escala, los fabricantes
intentaban patentar los productos y prescindir de una vez por todas de los desarrollos
abiertos. Habiendo encontrado mejor cobijo en la ley de derechos de autor que en la de
patentes, actualmente han debido frenar su expansin tras la recuperacin del modelo
de software libre.
El copyleft no afecta directamente a los derechos del autor del programa originario,
pero s a los del autor del programa derivado en el momento de su redistribucin.
Cmo es esto posible? Porque el segundo acept la licencia del primero. Copyleft
no es lo contrario de copyright. El copyleft contiene lo que tcnicamente se conoce en
Derecho como "condicin resolutoria" [otros preferirn hablar de "modo" , pero esto
apenas tiene importancia]. Se trata de un suceso (condicin) que, de darse, produce
determinado efecto en los derechos. El suceso en nuestro caso es la infraccin de una
licencia, que por tanto queda desactivada (resuelta). La condicin resolutoria implcita
en el copyleft se produce al aadirse restricciones a la libre explotacin del programa
derivado sobre las que figuraban en la licencia del programa original.
Estructura de la OSD
Para examinar detalladamente la OSD bastara con tratar cuatro de los diez apartados
que tiene la versin 1.0, ya que el ltimo es tan slo es un ejemplo, sin valor normativo,
y los cinco restantes tratan cuestiones que han quedado ya examinadas en apartados
anteriores. Pero slo daremos unas breves notas.
Para disipar los temores de los hombres de negocios, o quienquiera que vea tras
el copyleft al gran satn, es aconsejable muchas veces el uso adecuado de la Ley
de Marcas. Quien desee apropiarse de sl para mantener la autora sin riesgos de
confusin har mejor en registrar una marca, crendose as versiones oficiales de fcil
control y gestin. Esto es lo que se ha hecho con Linux -que es GPL- y tantos otros
casos. Todo ello sin tocar la licencia libre, incluso manteniendo la clusula copyleft.
Confiamos en versiones ulteriores de estas notas para desarrollar todo esto como
merece.
Es cierto que, bajo una licencia de software libre con copyleft, estrictamente hablando
slo el titular del copyright (que no es necesariamente el autor!) tiene accin jurdica
contra la infraccin de su derecho, manifestado en la licencia violada. Pero tambin
lo es que los usuarios del programa copyleft cuya licencia alguien ha infringido tienen
inters legtimo en que la infraccin se rectifique. Los usuarios pueden incluso haberse
organizado, por ejemplo en un colectivo de desarrolladores o simplemente en una
asociacin de consumidores. Pues bien, la suma [inters legtimo + organizacin de un
grupo de consumidores] abre claramente la va judicial tambin para quienes no son
autores, va no basada en el copyright directamente sino indirectamente, a travs de
la licencia. De hecho, debera bastar el inters legtimo esgrimido por un solo usuario,
pero esto puede resultar a menudo impracticable y es de ms difcil digestin por los
jueces.
Tal vez a los tericos del sl les sorprenda que el ejercicio del Derecho sea una
profesin abierta, en el sentido de que los profesionales intercambiamos libremente
nuestros conocimientos y argumentaciones jurdicas (no los derechos sobre nuestros
libros!). Es un hecho normal, indiscutido, el que unos a otros nos fusilemos nuestros
textos, desde siempre jams, con ciertos lmites, claro est. La FDL y otras licencias
parecidas tal vez completen el rgimen de libertad intelectual de que disfrutamos los
juristas, propiciando p. ej. textos universitarios libres, de los que tan necesitados estn
los estudiantes, los profesores y los profesionales.
Advirtase que otra idea surgida en el seno de Debian, Open Hardware, no tiene
directamente que ver con las licencias de software. Consiste en un programa de
certificacin, exactamente de calificacin de hardware segn ciertas especificaciones,
diseado para verificar que una configuracin de mquina es apta para un sistema
Linux o FreeBSD. Incluye la promocin de un certificado de la verificacin, llamado
"certificado open hardware" para uso por los vendedores y consumidores.
Software no libre
Comprende todo el software que no es libre. Es un gnero, con muchas especies.
Primero tenemos el software semilibre, cuya licencia contiene autorizacin para la libre
copia, modificacin y distribucin, pero siempre que no tengan carcter comercial. Esta
es una restriccin muy importante sobre todo a la distribucin, que desnaturaliza la
Hay otras subespecies de software no libre, las repasamos en los apartados siguientes,
apuntando rpidamente las restricciones que imponen a las libertades bsicas de los
usuarios.
Restricciones de uso
Lo que califica a un programa como semilibre es que su uso y explotacin quedan
limitados a un destino no comercial. Esta restriccin no resulta aceptable, ya lo hemos
dicho, y no la trataremos ms.
Con lo visto hasta ahora, queda claro que la subcategora "shareware" se refiere
a programas cerrados que restringen el uso si no se paga una cantidad de dinero
adicional pasado un perodo de prueba. Normalmente son programas incompletos,
mejor dicho mutilados.
Conclusin
El matemtico David Hilbert, refirindose a la teora de conjuntos creada por Georg
Cantor, objeto del desprecio de otros matemticos, deca "nadie podr expulsarnos del
paraso que Cantor ha creado para nosotros" . Desde los ingenieros y programadores
hasta los usuarios menos avezados, pasando por distribuidores, empresas comerciales
y universidades, formamos legin quienes hacemos correr sobre nuestras mquinas
programas libres, hackeados y compilados por nosotros mismos conforme a nuestras
necesidades y gustos, que nos prestamos y copiamos libremente, con la destreza y
seguridad que permiten el mejor banco de pruebas posible, una variedad inagotable
de soluciones, siempre en renovacin, y una documentacin de calidad superior a
la estndar de los programas no libres. El software libre, sobre todo si es copyleft,
mantiene e impulsa el entusiasmo universal en la computacin, especie en peligro en
las dos ltimas dcadas, e incluso comienza a servir de referencia para otros mbitos
de la libertad intelectual.
En fin, tal vez la cosa est a estas alturas algo ms clara y podamos parafrasear a
Hilbert tranquilamente, pero sin bajar la guardia: Nadie podr expulsarnos del paraso
que la GNU-GPL ha creado para nosotros.
Convenios internacionales:
Apndice C - Referencias
Se incluye slo una breve nota de los materiales utilizados.
Un libro introductorio, que no trata a fondo las cuestiones jurdicas pero s el tema
general del software libre, WAYNER, P., "La ofensiva del software libre" , ed. Granica,
Barcelona, 2001.
Los sitios web en los que puede encontrarse informacin sobre los asuntos tratados
en este artculo son naturalmente innumerables. Un buen libro en lnea se encuentra
Para conocer los fundamentos del software libre, y no slo los jurdicos, es evidente
que el directorio recomendado est en www.gnu.org/philosophy/. La mejor aplicacin
prctica de la teora del proyecto GNU est basada en www.debian.org/social_contract.
Un buen lugar para empezar a leer sobre programas libres y sus problemas en cuanto
a licencias es www.opensource.org
Artculos
Lista por temas
Lista por autor
Licencia GFDL
Licencia GPL
La Espiral
Objectivo/ Noticias
Recetas
Contribuir
Historia
Repositorio CVS
Contacto
Bueno, seguro que en el momento de leer este apartado, habrn surgido nuevos
navegadores web dentro del mundillo del Software Libre.
Mozilla
Mozilla es probablemente el ms completo de los navegadores multiplataforma. Esto
es debido a que implementa soporte para un gran nmero de tecnologas de la World
Wide Web, y se cie rigurosamente a los estndares del W3C (nombre con el que
se conoce al World Wide Web Consortium, que es el organismo encargado de la
estandarizacin de las diferentes tecnologas presentes en la World Wide Web).
1. Barra de mens
2. Barra de herramientas de navegacin
3. Barra de herramientas personales
4. Panel lateral
5. rea de visualizacin de la navegacin
6. Barra de tareas
Navegacin bsica
Para navegar por la World Wide Web basta con introducir la direccin de la mquina
o recurso al que deseamos acceder en la barra de herramientas de navegacin. La
misma barra dispone a la izquierda de botones para avanzar o retroceder a travs de
las pginas visitadas, recargar la pgina actual, o detener la descarga. A la derecha
de la barra disponemos de un botn de acceso rpido al men de impresin, con el
que podemos imprimir la pgina actual. Para simplificar el aprendizaje, si dejamos el
puntero del ratn sobre cualquiera de los botones durante unos segundos la aplicacin
nos informar de la funcin de cada uno.
Durante nuestra visita a la World Wide Web la barra de tareas suele mantenernos
informados de las acciones que realiza el navegador. Por ejemplo, nos informa de si
Durante la navegacin por la World Wide Web resulta habitual disponer de varias
ventanas de Mozilla abiertas en pginas diferentes. Sin embargo, todas esas ventanas
estn ligadas a un mismo proceso en ejecucin del navegador Mozilla. Es importante
conocer esto puesto que si seleccionamos el elemento de men ARCHIVO -> SALIR
TODAS las ventanas de Mozilla se cerraran, al terminar el proceso que las gestionaba.
Si por el contrario deseamos cerrar nicamente una de las ventanas en particular,
debemos seleccionar ARCHIVO -> CERRAR o utilizar el botn correspondiente de la
barra de ttulo del marco de la ventana.
Pestaas
Una de las innovaciones tomada de otros navegadores e introducida en Mozilla es el
uso de las pestaas durante la navegacin. Tanto si seleccionamos la opcin ARCHIVO
-> NUEVO -> PESTAA DE NAVIGATOR, como si seleccionamos en ABRIR EN
UNA PESTAA NUEVA cuando pulsamos con el botn derecho en un enlace, se
nos abre una nueva rea de visualizacin dentro de la misma ventana de Mozilla.
Podemos disponer de tantas reas como deseemos y en cada una visualizar una
pgina diferente.
En la figura anterior podemos observar cmo cada rea est representada por una
pestaa en la parte superior del rea de visualizacin. Seleccionando un pestaa u
otra podremos navegar por una pgina u otra. Cuando deseemos cerrar la pestaa
seleccionada bastar con que pulsemos en botn a la derecha de todas las pestaas.
Tambin podemos arrastrar un enlace en la pagina web del rea de visualizacin sobre
una de las pestaas. Con ello conseguimos que en dicha pestaa se cargue el recurso
del la World Wide Web al que apunta dicho enlace (por ejemplo, una pgina web, una
imagen, etc).
Aadir la direccin de la pgina actual como marcador es tan sencillo como seleccionar
MARCADORES -> AADIR A MARCADORES. Tambin podemos pulsar con el
botn derecho del ratn sobre un enlace y seleccionar la opcin correspondiente para
aadirlo a los marcadores.
Entre las carpetas de marcadores existe una con un significado especial. La carpeta
PERSONAL TOOLBAR FOLDER representa la barra de herramientas personales, que
est situada debajo de la barra de herramientas de navegacin. Todos los marcadores
Panel lateral
A la izquierda del rea de visualizacin est el panel lateral o sidebar de Mozilla. Dicho
panel dispone de una serie de pestaas con funciones que ayudan a la navegacin.
Utilizando el men PESTAAS del panel lateral podemos decidir que pestaas vemos
de entra la disponibles. Tambin podemos personalizar nuestro panel aadiendo
nuevas pestaas con nuevas funciones descargadas desde Internet.
Para que no interfiera con la navegacin podemos modificar el ancho del panel
pulsando con el ratn en la barra que lo separa del rea de visualizacin. Si hacemos
una pulsacin sencilla sobre la pequea marca del centro podremos plegar y desplegar
el panel de forma rpida. Tambin podemos ocultarlo de forma permanente pulsando
en la equis de la parte superior-derecha del panel.
Por defecto, en el reducido espacio del panel lateral podemos consultar el historial y los
marcadores, y realizar bsquedas por palabras o por temas relacionados en Internet.
Sin embargo, como ya hemos comentado, dichas funcionalidades son completamente
ampliables.
Preferencias
Muchas de las caractersticas de Mozilla son personalizables. En la figura siguiente
podemos observar el cuadro de dilogo de preferencias de Mozilla. A dicho cuadro
podemos acceder desde la opcin EDITAR -> PREFERENCIAS...
gFTP es el cliente FTP del entorno de escritorio GNOME. Se trata, por tanto, de un
cliente en modo grfico diseado para facilitar el acceso a los recursos FTP. El uso de
un cliente en modo grfico nos permite olvidarnos de los comandos del protocolo FTP.
En su lugar todas las operaciones se reducen a sencillas acciones sobre la interfaz
grfica.
Tras completar los datos podemos pulsar en el botn de la izquierda para iniciar la
sesin. gFTP se encarga de enviar los comandos necesarios para iniciar la conexin,
evitndonos el engorroso problema de tener que conocerlos. El botn de la izquierda
nos permite iniciar una conexin si sta no ha sido iniciada, o terminarla si ya ha sido
iniciada correctamente. Sin embargo, si queremos detener el intento de conexin en
curso debemos recurrir al botn de la derecha. Dicho botn se utiliza para abortar
cualquier tarea que gFTP est realizando en el momento actual.
El centro de la ventana de gFTP est dividido en dos reas que podemos utilizar para
navegar por el rbol de directorios. El rea de la izquierda podemos utilizarla para
movernos por el rbol de directorios de la mquina local. Mientras que el rea de la
derecha, siempre y cuando gFTP est conectado, podemos utilizarla para movernos
Mientras que la doble pulsacin sobre una directorio nos permite ver su contenido,
una doble pulsacin sobre un archivo inicia una transferencia para que el archivo sea
enviado al otro lado de la conexin. El mismo efecto conseguimos si seleccionamos
uno o ms archivos (p. ej. pulsando con el botn izquierdo del ratn sobre el archivo
deseado mientras mantenemos pulsada la tecla Ctrl o Shift) y los arrastramos al rea
del otro lado. Tambin podemos conseguir el mismo efecto si pulsamos sobre los
botones situados en el centro de las dos reas. Dichos botones nos permiten iniciar la
transferencia de archivos en el sentido que ms nos convenga.
Justo entre el rea donde se registran las tareas realizadas por gFTP y la que
utilizamos para explorar los rboles de directorios, tenemos la cola de transferencias.
Todas las transferencias iniciadas o pendientes se muestran en dicha rea, as como
informacin relacionada con ellas. Utilizando el men de contexto que se despliega
con el botn derecho de nuestro ratn podemos detener o iniciar una transferencia, o
alterar el orden de la cola para decidir qu transferencia se iniciar despus de que se
complete la actual. Por defecto, las transferencias desde mquinas remotas diferentes
se realizan en paralelo, mientras que las transferencias desde una misma mquina
remota que se van realizando secuencialmente.
XChat/KVirc
Otro de los servicios que se suelen utilizar con bastante frecuencia, se encuentran las
consultas al IRC. Este protocolo nos permite estar interconectados con otros grupos
de usuarios, de una manera muy dinmica. En Linux, en el apartado de clientes de IRC
grficos, destacan especialmente dos clientes: XChat y KVirc
XChat es un cliente de IRC muy flexible, que nos permite mantener sesiones no slo
en varios canales al mismo tiempo, sino que incluso nos permite conectar con varios
servidores de IRC al mismo tiempo, todo ello de una manera muy intuitiva.
Ya que algunos clientes de correo electrnico ejecutan las mismas tareas bsicas
(enviar y recibir correo electrnico), escoja la ms conveniente y fcil de usar.
Antes de lanzar el cliente de correo electrnico, debera tener alguna informacin til
sobre su Internet Service Provider (ISP) de manera que pueda configurar el cliente
adecuadamente. Las siguientes listas muestran algunas cosas que es necesario que
conozca:
Evolution
La aplicacin Evolution es ms que un simple cliente de correo electrnico.
Proporciona todas las funciones de administracin de correo electrnico estndar,
que incluyen una administracin eficaz de buzones, filtros definidos por el usuario y
bsquedas rpidas. Admite el uso de un calendario/programa flexible y permite a los
usuarios crear y confirmar reuniones de grupo en lnea y eventos especiales. Evolution
es la primera herramienta completa de administracin de informacin personal y de
trabajo en grupo para Linux y sistemas basados en UNIX.
Para lanzar Evolution en el panel del escritorio, seleccione Men principal =>
Programas =>Internet =>Correo electrnico .
La primera vez que inicie Evolution aparecer la pantalla de bienvenida, que le permite
configurar su conexin de correo electrnico. Siga las instrucciones de la pantalla en
la informacin que ha recopilado desde su ISP o administrador en las casillas de texto
proporcionadas. Cuando acabe, haga click en Finish y ver la pantalla principal como
se muestra en la figura.
Mientras que Evolution hace mucho ms que leer y enviar correo electrnico, este
captulo se centra exclusivamente en las posibilidades del correo electrnico. Si
desea conocer ms sobre el uso de algunas de las caractersticas de Evolution ,
como calendario/programa y mensajes de grupo, haga click en Help desde la barra
de herramientas principal y escoja el componente que del que desea obtener ms
informacin.
Mozilla Mail
En esta seccin se ofrece una breve descripcin de los pasos bsicos para enviar y
recibir correo con Mozilla .
Para iniciar Mozilla Mail, seleccione Men principal => Todas las aplicaciones
Internet => Mozilla Mail.
Para abrir Mozilla Mail mientras est en la aplicacin Mozilla, haga clic en el icono de
correo situado en la esquina inferior izquierda de la pantalla de Mozilla.
Para enviar un correo electrnico, haga clic en el botn Send o seleccione File =>
Send Now o Send Later . Si opta por enviar el correo ms tarde, puede volver a la
pantalla de correo principal y seleccionar File => Send unsent messages .
Cuando haya ledo un mensaje, puede eliminarlo o guardarlo en otra carpeta, entre
otras muchas opciones.
Ahora, aparecer la cuenta de grupo de noticias que acaba de crear en la barra lateral
de la pantalla de correo de Mozilla . Haga clic con el botn derecho del ratn en este
nombre de cuenta y seleccione Subscribe. Aparecer un cuadro de dilogo con una
Ahora, haga clic en la flecha situada junto al nombre de cuenta del grupo de noticias
y la lista de grupos a la que est suscrito aparecer al lado. Seleccione el grupo de
noticias al que desea acceder y aparecer un cuadro de dilogo con informacin sobre
cmo descargar y leer los mensajes existentes. La accin de publicar un mensaje en
un grupo de noticias es similar a escribir un correo electrnico, con la diferencia de que
el nombre del grupo de noticias aparece en el campo To en lugar de la direccin de
correo electrnico. Para anular la suscripcin de un grupo de noticias, haga clic con el
botn derecho en el nombre del grupo y seleccione Unsubscribe.
Introduccin a MySQL
Qu es MySQL?
MySQL es el servidor de bases de datos relacionales de cdigo abierto ms popular y
desarrollado. Una de las razones para el rpido crecimiento de popularidad de MySQL,
es que se trata de un producto de cdigo abierto, y por lo tanto, va de la mano con este
movimiento. Consta de las siguientes caractersticas.
shell>apt-get update
shell>apt-get install mysql-server mysql-client
Con apt-get install incluso nos configura el arranque, los derechos de ejecucin y las
bases de datos propias de mysql y nos ahorramos tener que redefinir el PATH. Para
probar que todo ha ido bien ejecutamos la consola mysql :
mysql>
shell> mysql
Este prompt nos indica que mysql est listo para recibir comandos. Para ver la lista de
opciones proporcionadas por mysql , lo invocamos con la opcin 'h':
mysql>h
mysql>
Aqu est otra consulta que demuestra cmo se pueden escribir algunas expresiones
matemticas y trigonomtricas:
mysql>
Aunque hasta este momento se han escrito sentencias sencillas de una sola lnea, es
posible escribir ms de una sentencia por lnea, siempre y cuando estn separadas por
punto y coma:
Un comando no necesita ser escrito en una sola lnea, as que los comandos que
requieran de varias lneas no son un problema. mysql determinar en dnde finaliza la
sentencia cuando encuentre el punto y coma, no cuando encuentre el fin de lnea.
Aqu est un ejemplo que muestra un consulta simple escrita en varias lneas:
mysql> select
-> user(),
-> current_date;
+-----------------+--------------+
| user() | current_date |
+-----------------+--------------+
| chema@localhost | 2004-11-04 |
+-----------------+--------------+
1 row in set (0.00 sec)
En este ejemplo notamos como cambia el prompt (de mysql> a ->) cuando se escribe
una consulta en varias lneas. Esta es la manera en cmo mysql indica que est
En la siguiente tabla se muestran cada uno de los prompts que podemos obtener y una
breve descripcin de su significado para mysql:
Prompt Significado
mysql> Listo para una nueva consulta.
-> Esperando la lnea siguiente de una consulta
multi-lnea.
'> Esperando la siguiente lnea para completar
una cadena que comienza con una comilla
sencilla ( ' ).
"> Esperando la siguiente lnea para completar
una cadena que comienza con una comilla
doble ( " ).
Tabla 20.1 Promts de mysql.
Los prompts '> y "> ocurren durante la escritura de cadenas. En mysql podemos
escribir cadenas utilizando comillas sencillas o comillas dobles (por ejemplo, 'hola' y
"hola"), y mysql nos permite escribir cadenas que ocupen mltiples lneas. De manera
que cuando veamos el prompt '> o "> , mysql nos indica que hemos empezado a
escribir una cadena, pero no la hemos finalizado con la comilla correspondiente.
Aunque esto puede suceder si estamos escribiendo una cadena muy grande, es ms
frecuente que obtengamos alguno de estos prompts si inadvertidamente escribimos
alguna de estas comillas.
Por ejemplo:
Es sumamente importante conocer lo que significan los prompts '> y ">, ya que si
en algn momento nos aparece alguno de ellos, todas la lneas que escribamos a
continuacin sern consideradas como parte de la cadena, inclusive cuando escribimos
QUIT. Esto puede ser confuso, especialmente si no sabemos que es necesario escribir
la comilla correspondiente para finalizar la cadena, para que podamos escribir despus
algn otro comando, o terminar la consulta que deseamos ejecutar.
Para ello, supongamos que tenemos mucha informacin musical en nuestra casa en
forma de compactos, discos de vinilo y cintas de casete y deseamos tener registros
de los datos acerca de ellas. Podemos hacer esto al crear tablas que guarden esta
informacin, para que posteriormente la consulta de estos datos sea bastante fcil y
de manera muy prctica. En esta seccin vamos a ver como crear una base de datos,
crear una tabla, incorporar datos en una tabla, y recuperar datos de las tablas de
diversas maneras.
La base de datos "msica" ser deliberadamente muy sencilla, pero no es difcil pensar
de situaciones del mundo real en la cual una base de datos similar puede ser usada.
Primeramente usaremos la sentencia SHOW para ver cules son las bases de datos
existentes en el servidor al que estamos conectados:
Es probable que la lista de bases de datos que veamos sea diferente en nuestro caso,
pero seguramente las bases de datos "mysql" y "test" estarn entre ellas (si hemos
accedido como 'root'). En particular, la base de datos "mysql" es requerida, ya que sta
tiene la informacin de los privilegios de los usuarios de MySQL. La base de datos
"test" es creada durante la instalacin de MySQL con el propsito de servir como rea
de trabajo para los usuarios que inician en el aprendizaje de MySQL.
Tenemos que tener en cuenta tambin que es posible que no veamos todas las bases
de datos si no tenemos el privilegio SHOW DATABASES.
Podramos usar la base de datos "test" (si tenemos acceso a ella) para los ejemplos
que vienen a continuacin, pero cualquier cosa que hagamos puede ser eliminada
por cualquier otro usuario que tenga acceso a esta base de datos. Por esta razn,
es recomendable que preguntemos al administrador MySQL acerca de la base de
datos que podemos usar. Supongamos que deseamos tener una base de datos
llamada "musica" (ntese que no se est acentuando la palabra) a la cual slo nosotros
tengamos acceso, para ello el administrador necesita ejecutar un comando como el
siguiente:
El mensaje anterior indica que la base de datos no ha sido creada, por lo tanto
necesitamos crearla.
Bajo el sistema operativo Guadalinex, los nombres de las bases de datos son sensibles
al uso de maysculas y minsculas (no como las palabras clave de SQL), por lo tanto
debemos de tener cuidado de escribir correctamente el nombre de la base de datos.
Esto es cierto tambin para los nombres de las tablas.
La base de datos se crea slo una vez, pero nosotros debemos seleccionarla cada vez
que iniciamos una sesin con mysql . Por ello es recomendable que se indique la base
de datos sobre la que vamos a trabajar al momento de invocar al monitor de MySQL.
Por ejemplo:
La parte un tanto complicada es decidir la estructura que debe tener nuestra base de
datos: qu tablas se necesitan y qu columnas estarn en cada tabla.
En principio, necesitamos una tabla que contenga un registro para cada una de
nuestros ttulos de msica. sta puede ser una tabla llamada discos, y debe contener
por lo menos el ttulo de cada uno de nuestros discos. Ya que el nombre en s no
es muy interesante, la tabla debe contener alguna otra informacin. Por ejemplo, es
probable que queramos guardar la informacin acerca de quien es el interprete de
cada disco. As mismo, tambin sera interesante contar con alguna informacin ms
descriptiva tal como el gnero musical de cada disco.
Y que sucede con la antigedad del disco? Esto puede ser tambin de inters, pero
no es una buena idea almacenar este dato en la base de datos. La antigedad cambia
conforme pasa el tiempo, lo cual significa que debemos de actualizar los registros
frecuentemente. En vez de esto, es una mejor idea guardar un valor fijo, tal como
Usaremos la sentencia CREATE TABLE para indicar como estarn conformados los
registros de nuestras discos.
VARCHAR es una buena eleccin para los campos ttulo, autor, y gnero, ya que los
valores que almacenarn son de longitud variable. Se puede especificar cualquier
longitud entre 1 y 255, lo que se considere ms adecuado. Si resulta que la eleccin de
la longitud de los campos que hemos hecho no result adecuada, MySQL proporciona
una sentencia ALTER TABLE que nos puede ayudar a solventar este problema. El uso
del tipo de dato DATE para el campo adquisicin debe de resultar obvio.
Ahora que hemos creado la tabla, la sentencia SHOW TABLES debe producir algo
como:
Para verificar que la tabla fue creada como nosotros esperbamos, usaremos la
sentencia DESCRIBE :
Despus de haber creado la tabla, ahora podemos incorporar algunos datos en ella,
para lo cual haremos uso de las sentencias INSERT y LOAD DATA .
Supongamos que los registros de nuestros discos pueden ser descritos por los datos
mostrados en la siguiente tabla.
Debemos observar que MySQL espera recibir fechas en el formato YYYY-MM-DD, que
puede ser diferente a lo que nosotros estamos acostumbrados.
Por tanto, debemos de crear un archivo de texto "discos.txt" que contenga un registro
por lnea con valores separados por tabuladores, teniendo en cuenta que el orden
de las columnas sea el mismo que utilizamos en la sentencia CREATE TABLE. Para
valores que no conozcamos podemos usar valores nulos (NULL). Para representar
estos valores en nuestro archivo debemos usar N.
Notar que los valores de cadenas y fechas deben estar encerrados entre comillas.
Tambin, con la sentencia INSERT podemos insertar el valor NULL directamente para
representar un valor nulo, un valor que no conocemos. En este caso no se usa N como
en el caso de la sentencia LOAD DATA.
De este ejemplo, debemos ser capaces de ver que es un poco ms la tarea que se
tiene que realizar si inicialmente cargamos los registros con varias sentencias INSERT
en lugar de una nica sentencia LOAD DATA.
Esta forma del SELECT es til si deseamos ver los datos completos de la tabla, por
ejemplo, para asegurarnos de que estn todos los registros despus de la carga de un
archivo.
Como se mostr anteriormente, es muy fcil recuperar los datos de una tabla completa.
Pero tpicamente no deseamos hacer esto, particularmente cuando las tablas son
demasiado grandes. En vez de ello, estaremos ms interesados en responder
preguntas particulares, en cuyo caso debemos especificar algunas restricciones para la
informacin que deseamos ver.
Podemos tambin combinar condiciones, por ejemplo, para localizar a los discos de
pop-rock que hemos adquirido antes del 2000:
Si no deseamos ver los registros completos de una tabla, entonces tenemos que
usar los nombres de las columnas en las que estamos interesados separndolas por
coma. Por ejemplo, si deseamos conocer la fecha de adquisicin de nuestros discos,
debemos seleccionar la columna "ttulo" y "adquisicion":
Se puede usar tambin una clausula WHERE para combinar seleccin de filas con
seleccin de columnas. Por ejemplo, para obtener el ttulo y interprete de los discos de
folk y pop-rock, usaremos la siguiente consulta:
Ordenar registros
Tenemos que notar en los ejemplos anteriores que las filas regresadas son mostradas
sin ningn orden en particular. Sin embargo, frecuentemente es ms fcil examinar
la salida de una consulta cuando las filas son ordenadas en alguna forma til. Para
ordenar los resultados, tenemos que usar una clausula ORDER BY.
Para ordenar en orden inverso, debemos agregar la palabra clave DESC al nombre de
la columna que estamos usando en el ordenamiento.
Borrar registros
Si deseamos borrar algn registro de la tabla 'discos' por la razn que sea, podemos
ejecutar el comando DELETE . Por ejemplo, si queremos borrar el disco 'RUMBA
ARGELINA' de nuestra tabla:
Por ejemplo, para determinar la antigedad (en aos completos) de cada uno de
nuestros discos, tenemos que calcular la diferencia de aos de la fecha actual y
la fecha de adquisicin, y entonces retar uno si la fecha actual ocurre antes en el
calendario que la fecha de adquisicin. Las siguientes consultas muestran la fecha
actual, la fecha de adquisicin y la antigedad para cada disco.
+-----------------+-------------+--------------+------------+
| titulo | adquisicion | CURRENT_DATE | antiguedad |
+-----------------+-------------+--------------+------------+
| MADE IN JAPAN | 1999-02-04 | 2004-11-08 | 5 |
| CLUES | 1998-03-17 | 2004-11-08 | 6 |
Encontrar ahora, por ejemplo, los discos que hemos comprado en el mes de febrero es
muy sencillo.
Claramente observamos que no obtenemos resultados con algn significado con estos
operadores. Es por ello que tenemos que usar los operadores IS NULL e IS NOT
NULL:
En MySQL, 0 o NULL significan falso y cualquier otro valor significa verdadero. El valor
que se considera verdadero por defecto es 1.
Cuando se usa un ORDER BY , los valores NULL son siempre ordenados primero, an
cuando se use la clusula DESC .
Coincidencia de patrones
MySQL proporciona mtodos de coincidencia de patrones basados en SQL estndar,
as como tambin basados en expresiones regulares, de manera similar a las utilidades
de Unix tales como vi, grep y sed.
La coincidencia de patrones basada en SQL nos permite usar _ (guin bajo) para un
solo carcter y % para un arbitrario nmero de caracteres. En MySQL, los patrones
SQL no son sensibles al uso de maysculas y minsculas.
Es importante notar que no se usan los operadores = o < > cuando se usan los
patrones SQL; en su lugar se usan los operadores LIKE y NOT LIKE . A continuacin,
presentamos algunos ejemplos.
Para demostrar como se usan las expresiones regulares, se van a mostrar los ejemplos
presentados anteriormente con el operador LIKE , ahora con el operador REGEXP .
Desde la versin 3.23.4, para forzar que el operador REGEXP sea sensible al uso de
maysculas y minsculas, se tiene que usar la palabra clave BINARY para hacer de
una de las cadenas, una cadena binaria. Observamos los resultados de la siguientes
consultas.
Para encontrar los ttulos de los discos que finalizan con la palabra 'do' , haremos uso
del carcter $.
Para encontrar los ttulos de los discos que contienen una letra s, la consulta sera:
Se debe notar que hemos usado una clusula GROUP BY para agrupar todos los
registros de cada gnero musical. Si no hacemos esto, obtendremos un mensaje de
error:
No es necesario que se obtengan todos los datos de una tabla cuando se usa la
funcin COUNT( ). Por ejemplo, en la consulta anterior, para ver nicamente los datos
de folk y soul, la consulta queda de la siguiente manera:
Dadas estas condiciones, la sentencia para crear la tabla eventos queda de la siguiente
manera:
De manera similar a la tabla 'discos', es ms fcil cargar los datos de los registros
iniciales al crear un archivo de texto delimitado por tabuladores 'eventos.txt' en el que
se tenga la siguiente informacin:
La clusula FROM lista dos tablas dado que la consulta necesita informacin
que se encuentra en ambas tablas.
Cuando se combina (junta) informacin de mltiples tablas, es necesario
especificar los registros de una tabla que pueden coincidir con los registros
en la otra tabla. En nuestro caso, ambas columnas tienen una columna
"titulo". La consulta usa la clusula WHERE para obtener los registros cuyo
valor en dicha columna es el mismo en ambas tablas.
Dado que la columna "titulo" ocurre en ambas tablas, debemos de
especificar a cul de las columnas nos referimos. Esto se hace al anteponer
el nombre de la tabla al nombre de la columna.
s
hell> mysql -h localhost -u chema -p < archivo-batch
Hay que mencionar que el formato de la salida es ms simple cuando se ejecuta mysql
en modo batch, que cuando se usa de manera interactiva, como se puede ver en el
siguiente ejemplo:
Si se desea obtener la salida que proporciona el modo interactivo, se tiene que usar la
opcin -t .
USE musica;
SELECT DISTINCT genero FROM discos;
cdrecord.conf
La segunda lnea es la nica accin realizada por este script, que imprime 'Hola
Mundo'en la terminal.
Una pequea nota para ver todo esto: con el comando less puede visualizar stdout
(que permanecer en el bfer) y stderr, que se imprimir en la pantalla, pero ser
borrado si intenta leer el bfer.
ls -l > ls-l.txt
En este caso, se crear un fichero llamado 'ls-l.txt' que contendr lo que se vera en la
pantalla si escribiese el comando 'ls -l'y lo ejecutase.
grep da * 1>&2
En este caso, la parte stdout del comando se enva a stderr; puede observar eso de
varias maneras.
grep * 2>&1
En este caso, la parte stderr del comando se enva a stdout. Si hace una tubera con
less, ver que las lneas que normalmente 'desaparecen'(al ser escritas en stderr),
ahora permanecen (porque estn en el stdout).
Tuberas
Esta seccin explica de una manera muy sencilla y prctica cmo utilizar tuberas, y por
qu querra utilizarlas.
ls -l | grep ".txt$"
En este caso, la salida del programa ls -l se enva al programa grep, que imprimir las
lneas que concuerden con la regex".txt$" (expresin regular) .
Variables
Puede usar variables como en cualquier otro lenguaje de programacin. No existen
tipos de datos. Una variable de bash puede contener un nmero, un caracter o una
cadena de caracteres. No necesita declarar una variable. Se crear slo con asignarle
un valor a su referencia.
Tenga en cuenta que en este script, el fichero de salida ser distinto cada da, debido al
formato pasado al comando date (+%Y%m%d). Puede cambiar esto especificando un
formato diferente.
#!/bin/bash
HOLA=Hola
function hola {
local HOLA=Mundo
echo $HOLA
}
echo $HOLA
hola
echo $HOLA
Este ejemplo debera bastar para mostrarle el uso de una variable local.
Estructuras Condicionales
Las estructuras condicionales le permiten decidir si se realiza una accin o no; esta
decisin se toma evaluando una expresin.
Pura teora
Los condicionales tienen muchas formas. La ms bsica es: if expresin then
sentenciadonde 'sentencia'slo se ejecuta si 'expresin'se evala como verdadera.
'2<1'es una expresin que se evala falsa, mientras que '2>1'se evala verdadera.
#!/bin/bash
if [ "petete" = "petete" ]; then
echo "expresin evaluada como verdadera"
fi
Por ejemplo
#!/bin/bash
for i in $( ls ); do
echo "item: $i"
done
La tercera lnea podra ser ms larga o podra haber ms lneas antes del done .
done indica que el cdigo que ha utilizado el valor de $i ha acabado e $i puede tomar el
nuevo valor.
Este script no tiene mucho sentido, pero una manera ms til de usar el bucle for sera
hacer que concordasen slo ciertos ficheros en el ejemplo anterior.
for tipo-C
Fiesh sugiri aadir esta forma de bucle. Es un bucle for ms parecido al for de C/perl...
#!/bin/bash
for i in `seq 1 10`; do
echo $i
done
Ejemplo de while
#!/bin/bash
CONTADOR=0
while [ $CONTADOR -lt 10 ]; do
echo "El contador es $CONTADOR"
CONTADOR=$(($CONTADOR+1))
done
Este script 'emula'la conocida (C, Pascal, perl, etc) estructura `for'.
Ejemplo de until
#!/bin/bash
CONTADOR=20
until [ $CONTADOR -lt 10 ]; do
echo "El contador es $CONTADOR"
CONTADOR=$(($CONTADOR-1))
done