C�mo pasar de DOS/Windows a Linux
Por Guido Gonzato
[email protected] (Elimine
el BORRAME)
Traducido por David Mar�n Carre�o,
[email protected]
v1.3.2 22 de Febrero de 1999. Traducci�n: 8 de Junio de
1999.
Este documento C�mo est� dedicado a todos los (pronto ex-)usuarios de
DOS y Windows que acaban de decidir pasarse a Linux, el cl�nico gratu�
ito de UNIX. El prop�sito de este documento es ayudar al lector a
trasladar su conocimiento de DOS y Windows al entorno Linux, as� como
dar indicaciones acerca de intercambiar archivos y recursos entre
ambos sistemas operativos.
______________________________________________________________________
�ndice General:
1. Introducci�n
1.1. �Es Linux adecuado para usted?
1.2. Ya est�. Ahora cu�nteme m�s.
1.2.1. Conceptos introductorios
1.2.2. Obtenci�n de ayuda
1.3. Convenciones
2. Para el Impaciente
3. Encontr�ndose con bash
4. Ficheros y Programas
4.1. Ficheros: Nociones preliminares
4.2. Enlaces simb�licos
4.3. Permisos y Propiedades
4.4. Ficheros: �rdenes equivalentes
4.5. Ejecuci�n de programas: Multitarea y Sesiones
4.6. Ejecuci�n de programas en sistemas remotos
5. Gesti�n de Directorios
5.1. Directorios: Nociones preliminares
5.2. Permisos de directorios.
5.3. Equivalencia de �rdenes
6. Disquetes, discos duros y similares.
6.1. Administraci�n de dispositivos en �modo DOS�
6.2. Administraci�n de dispositivos en �modo UNIX�
6.3. Copias de seguridad
7. �Qu� pasa con Windows?
8. Personalizaci�n del sistema
8.1. Ficheros de inicializaci�n del sistema
9. Ficheros de inicializaci�n de programas
10. Trabajo en red: conceptos
11. Un poco de programaci�n
11.1. Rutinas del Int�rprete de Comandos: Ficheros .BAT con
esteroides
11.2. Sus programas en C
12. El restante 1%
12.1. Utilizaci�n de tar y gzip
12.2. Instalaci�n de aplicaciones
12.3. Trucos imprescindibles
12.4. �D�nde encontrar aplicaciones?
12.5. Unas cuantas cosas que Usted no pod�a hacer
12.6. Practicando UNIX bajo DOS/Windows
12.7. Extensiones comunes y programas relacionados
12.8. Conversi�n de ficheros
12.9. Entornos ofim�ticos gratuitos
13. Fin, por ahora
13.1. Copyright
13.2. Agradecimientos
13.3. Traducci�n
14. Anexo: El INSFLUG
______________________________________________________________________
1. Introducci�n
1.1. �Es Linux adecuado para usted?
�Quiere pasar del mundo DOS (esta definici�n incluye Windows) a Linux?
Buena idea: Linux es t�cnicamente superior a DOS, Windows 95 e incluso
Windows NT. Pero cuidado: puede no ser �til para usted. Estas son las
diferencias principales entre DOS y Linux:
� Windows ejecuta Microsoft Office y muchos juegos; est� claro que es
f�cil de instalar y configurar; es notablemente inestable; su
rendimiento es pobre; los bloqueos del ordenador son frecuentes.
� Linux ejecuta StarOffice, mucho software t�cnico y unos pocos
juegos; puede ser dif�cil de instalar y configurar; es s�lido como
una roca; rinde al m�ximo; los bloqueos de la m�quina son muy
raros.
De usted depende el decidir qu� necesita. Linux le da potencia, pero
lleva alg�n tiempo aprender a aprovecharla. Es decir, si necesita
software comercial, o si no le apetece aprender �rdenes y conceptos
nuevos, ser�a mejor que buscara en otra parte. Sepa que muchos novatos
lo dejan debido a las dificultades iniciales.
Se est� trabajando para hacer Linux m�s facil de usar, pero no espere
ser un experto en Linux a menos que lea mucha documentaci�n y lo use
durante al menos unos meses. Linux no le dar� resultados instant�neos.
A pesar de estas advertencias, tengo un 100% de seguridad en que si
usted es el usuario correcto, entonces encontrar� en Linux su Nirvana
inform�tico. Por cierto, Linux + DOS/Win pueden coexistir sin
problemas en la misma m�quina.
Requisitos previos para la lectura de este C�mo. Asumir� que:
� conoce las �rdenes y conceptos b�sicos del DOS;
� Linux, posiblemente con el sistema X Window (X11 para abreviar),
est� adecuadamente instalado en su ordenador;
� su int�rprete de �rdenes (el equivalente de COMMAND.COM) es bash;
A menos que se especifique lo contrario, toda la informaci�n de este
trabajo est� dirigida al antiguo DOS. Hay informaci�n acerca de
Windows en algunos lugares de este documento, pero tenga en cuenta que
Windows y Linux son completamente distintos, al contrario que DOS, que
es una especie de hermano pobre de UNIX.
Dese cuenta tambi�n de que este trabajo no es ni una gu�a de
configuraci�n ni un manual completo para los no iniciados.
La �ltima versi�n de este documento est� disponible en muchos formatos
en
ftp://sunsite.unc.edu/pub/Linux/docs/howto.
1.2. Ya est�. Ahora cu�nteme m�s.
Ha instalado Linux y los programas que necesita en su ordenador. Se ha
proporcionado una cuenta (si no, �teclee adduser suNombre ahora
mismo!) y Linux est� ejecut�ndose. Acaba de introducir su nombre y su
contrase�a, y ahora est� mirando a la pantalla pensando... �Y ahora
qu�?
Bien, no se desespere. Puede hacer casi las mismas cosas que sol�a
hacer con DOS/Win, y muchas m�s. Si estuviera ejecutando DOS/Win en
lugar de Linux, realizar�a alguna de las siguientes tareas:
� ejecutar programas y crear, copiar, ver, borrar, imprimir,
renombrar ficheros;
� cambiar de directorio, crearlos, borrarlos y listar sus contenidos;
� formatear disquetes y copiar ficheros de/hacia ellos;
� configuraci�n del sistema;
� navegar por Internet;
� escribir ficheros .BAT y programas en su lenguaje favorito;
� el restante 1%.
Estar� contento al saber que todas esas tareas pueden llevarse a cabo
bajo Linux de una manera similar a como se hacen bajo DOS. Bajo DOS,
el usuario medio usa muy pocos de las m�s de 100 �rdenes disponibles:
lo mismo, hasta cierto punto, sucede con el Linux.
1.2.1. Conceptos introductorios
La mejor manera de aprender algo es moj�ndose los pies. Desde aqu� le
animo a experimentar y �jugar� con Linux: a menos que entre como
usuario �root�, no puede llegar a da�ar el sistema de esa manera. Unos
cuantos conceptos:
� Primero, c�mo salir de Linux de manera segura. Si ve una pantalla
en modo texto, pulse <Ctrl-Alt-Supr>, espere a que el sistema
realice unas tareas y le diga que todo est� bien, y entonces apague
el ordenador. Si est� trabajando bajo el sistema X Window, pulse
primero <Ctrl-Alt-Retroceder>, y despu�s <Ctrl-Alt-Supr>. Nunca
apague o reinicie el ordenador directamente: podr�a da�ar el
sistema de ficheros;
� Al contrario que en DOS o Windows, Linux tiene mecanismos de
seguridad intr�nsecos, debido a su naturaleza multiusuario. Los
ficheros y los directorios tienen permisos asociados, y por lo
tanto el usuario normal puede no tener acceso a alguno de ellos;
vea la secci�n ``Permisos''. DOS y Windows, por el contrario, le
dejar�an machacar todo el contenido de su disco duro;
� Hay un usuario especial denominado �root�: el administrador del
sistema, que tiene todo el poder sobre la m�quina. Si usted trabaja
con su propio PC, tambi�n ser� root. Trabajar como root es
peligroso: cualquier error puede da�ar seriamente o destruir el
sistema de la misma manera que con DOS/Win. No trabaje como root a
menos que sea absolutamente necesario;
� Mucha de la complejidad de Linux viene de su extrema
configurabilidad: pr�cticamente cada caracter�stica y aplicaci�n
puede ser configurada mediante uno o m�s archivos de configuraci�n.
La complejidad es el precio a pagar por la potencia;
� La redirecci�n y el entubamiento (piping) son caracter�sticas
�secundarias� de DOS. En Linux pasan a ser muy importantes y mucho
m�s potentes. Se pueden enlazar �rdenes para ejecutar tareas
complejas. Le recomiendo sobremanera que aprenda a usarlas.
1.2.2. Obtenci�n de ayuda
Hay muchas maneras de conseguir ayuda con Linux. Las m�s importantes
son:
� Leyendo la documentaci�n Aunque el documento C�MO que est� leyendo
puede servir como introducci�n a Linux, hay unos cuantos libros que
deber�a leer: Linux: Instalaci�n y Primeros Pasos de Matt Welsh
(
http://sunsite.unc.edu/mdw/LDP/gs/gs.html), la Gu�a del Usuario de
Linux de Larry Greenfield
(
http://sunsite.unc.edu/pub/Linux/docs/linux-doc-project/users-
guide), y la lista PUF de Linux (respuestas a Preguntas de Uso
Frecuente) (
http://sunsite.unc.edu/mdw/FAQ/Linux-FAQ.html. Todos
ellos pueden conseguirse en
http://lucas.hispalinux.es en su
versi�n traducida. Mantenga un sentimiento de culpabilidad hasta
haber le�do al menos uno de ellos;
� La documentacion de los paquetes instalados en la m�quina puede
encontrarse usualmente en los directorios bajo /usr/doc/;
� Para conseguir ayuda acerca de las ��rdenes internas� del
int�rprete de �rdenes, teclee help o, mejor, man bash o info bash;
� Para conseguir ayuda acerca de una orden, teclee man orden, lo cual
invoca a la p�gina del manual (�man�) correspondiente a orden.
Alternativamente, teclee info orden, lo cual mostrar� la p�gina
info relativa a orden. info es un sistema de documentacion basado
en hipertexto. Quiz� no es intuitivo en un principio. Finalmente,
puede intentar con apropos orden o whatis orden. Con todas estas
�rdenes, pulse 'q' para salir.
� Finalmente, en Internet: el lugar m�s adecuado para conseguir ayuda
es Usenet, en el foro news:comp.os.linux.setup. Por favor, no me
env�e mensajes solicitando ayuda, porque tengo bastante trabajo.
1.3. Convenciones
A lo largo de este documento, los ejemplos seguir�n el siguiente
formato: <...> significa algo que debe ser especificado, mientras que
[...] es algo opcional. Ejemplo:
$ tar -tf <fichero.tar> [> fichero_redir]
Debe indicar fichero.tar, pero la redirecci�n a fichero_redir es
opcional.
Desde ahora �LPM� significa �para m�s informaci�n Lea las P�ginas del
Manual�. No puedo dejar de recordar lo importante que es leer la
documentaci�n. �DosWin� significa �DOS/Windows�.
Cuando el simbolo de la l�nea de �rdenes en un ejemplo sea '#', la
orden solo puede ser ejecutada por el root.
2. Para el Impaciente
�Quiere empezar ya? Eche un vistazo a esta tabla:
DOS Linux Notas
------------------------------------------------------------------------------
ATTRIB (+-)attr fich chmod <modo> fich completamente distinto
BACKUP tar -Mcvf dispositivo dir/ �dem
CD nombredir\ cd nombredir/ casi la misma sintaxis
COPY fich1 fich2 cp fich1 fich2 idem
DEL fichero rm fichero cuidado no hay undelete
DELTREE directorio rm -R directorio/ idem
DIR ls no exact. misma sintaxis
DIR fich /S find . -name fich completamente distinto
EDIT fichero vi fichero creo que no le gustara
joe fichero mas parecido al EDIT
EDLIN fichero ed fichero olv�delo
FORMAT fdformat
mount, umount sintaxis muy distinta
HELP orden man orden misma filosofia
info orden
MD directorio mkdir directorio/ casi la misma sintaxis
MOVE fich1 fich2 mv fich1 fich2 idem
NUL /dev/null idem
PRINT fichero lpr fichero idem
PRN /dev/lp0,
/dev/lp1 idem
RD directorio rmdir directorio/ idem
REN fich1 fich2 mv fich1 fich2 no para varios ficheros
RESTORE tar -Mxpvf device sintaxis distinta
TYPE fichero less fichero mucho mejor
WIN startx �polos opuestos!
Si necesita m�s que una tabla de �rdenes, contin�e con las secciones
siguientes.
3. Encontr�ndose con bash
Buenas noticias: con Linux usted escribe mucho menos en la l�nea de
�rdenes, porque el int�rprete bash escribe por usted siempre que sea
posible, y goza de muy buenas caracter�sticas de edici�n de l�nea.
Para empezar, la tecla flecha-arriba llama a las �ltimas l�neas
ejecutadas; pero a�n hay m�s. Pulsar <TAB> completa los nombres de
ficheros y directorios, por lo que teclear
$ ls /uTABloTABbTAB
es como teclear
$ ls /usr/local/bin
Si hubiera ambig�edades, como al teclear
$ ls /uTABloTABiTAB
bash para porque no sabe si usted se refiere a /usr/local/info o a
/usr/local/include. Proporcione m�s caracteres y pulse <TAB> de
nuevo.
Otras combinaciones de teclas �tiles son <ESC-BACKSPACE> que borra una
palabra a la izquierda, mientras que <ESC-D> borra una palabra a la
derecha; <ESC-F> mueve el cursor una palabra a la derecha, <ESC-B> a
la izquierda; <CTRL-A> mueve el cursor al principio de la l�nea,
<CTRL-E> al final. La tecla <ALT> es equivalente a <ESC>.
Suficiente por ahora. Una vez que se acostumbre a estas combinaciones
de teclas, encontrar� bastante molesto el int�rprete de �rdenes de
DOS.
4. Ficheros y Programas
4.1. Ficheros: Nociones preliminares
Linux tiene una estructura de directorios y ficheros muy similar a la
de DOSWin. Los ficheros tienen nombres que obedecen unas normas
especiales, est�n guardados en directorios y algunos son ejecutables,
y entre �stos, la mayor�a tiene opciones en la l�nea de �rdenes.
Incluso puede utilizar comodines, redirecci�n y tuber�as. S�lo hay
unas pocas diferencias:
� Bajo DOS, los nombres de ficheros est�n en el llamado formato 8.3;
por ejemplo NOTENOUG.TXT. Bajo Linux podemos hacerlo mejor. Si
instal� Linux usando un sistema de ficheros tal como ext2 o umsdos,
puede utilizar nombres m�s largos (hasta 255 caracteres), y con m�s
de un punto en ellos: por ejemplo,
Este_es.un.nombre_de.fichero.MUY.largo. F�jese que he utilizado
tanto may�sculas como min�sculas: en efecto...
� Las may�sculas y las min�sculas en nombres de ficheros u �rdenes
son distintas. Por lo tanto, FICHERO.tar.gz, y fichero.tar.gz son
dos ficheros distintos. ls es una orden, LS es un error;
� Usuarios de Windows, cuidado al usar nombres de ficheros largos
bajo Linux. Si un nombre de fichero contiene espacios (no
recomendado, pero posible), debe encerrar el nombre de fichero
entre comillas dobles cada vez que se refiera a �l. Por ejemplo:
$ # la siguiente orden crea un directorio llamado "Mis ficheros antiguos"
$ mkdir "Mis ficheros antiguos"
$ ls
Mis ficheros antiguos bin tmp
No deben usarse ciertos caracteres: algunos son !*$&#.
� No hay extensiones obligadas como .COM y .EXE para los programas, o
.BAT para los ficheros de procesamiento por lotes. Los ficheros
ejecutables se marcan con un asterisco cuando se ejecuta la orden
ls -F. Por ejemplo:
$ ls -F
cindy.jpg cjpg* Soy_un_directorio/ mi_1er_script* old~
Los ficheros cjpg* y mi_1er_script* son �programas� ejecutables. Bajo
DOS, las copias de seguridad de los ficheros suelen acabar en cuyo
nombre empieza con un punto es considerado como oculto. Ejemplo: el
fichero .Soy.un.fichero.oculto no se mostrar� a un orden ls;
� Las opciones de los programas bajo DOS se obtienen con /opci�n. En
Linux se obtienen con -opci�n o --opci�n. Ejemplo: dir /s se
convierte en ls -R. F�jese en que muchos programas DOS (como PKZIP
o ARJ) utilizan opciones de tipo Unix.
Ahora puede saltar a la secci�n ``de equivalencias'', pero yo de usted
seguir�a leyendo.
4.2. Enlaces simb�licos
Unix tiene un tipo de fichero que no existe bajo DOS: el enlace
simb�lico. Puede pensar en �l como un puntero o enlace a un fichero o
a un directorio y que puede utilizarse en lugar del fichero o del
directorio al que apunta; es similar a los �Accesos Directos� de
Windows. Ejemplos de enlaces simb�licos son /usr/X11, que apunta a
/usr/X11R6; /dev/modem, que apunta a /dev/ttyS0 o a /dev/ttyS1.
Para crear un enlace simb�lico:
$ ln -s <fichero_o_directorio> <nombre_del_enlace>
Ejemplo:
$ ln -s /usr/doc/g77/DOC g77manual.txt
Ahora puede referirse a g77manual.txt en lugar de /usr/doc/g77/DOC.
Los enlaces aparecen en los listados de directorio as�:
$ ls -F
g77manual.txt@
$ ls -l
l(muchas cosas...) g77manual.txt -> /usr/doc/g77/DOC
4.3. Permisos y Propiedades
Los ficheros y directorios de DOS tienen los siguientes atributos: A
(fichero), H (oculto), R (s�lo-lectura), y S (sistema). S�lo H y R
tienen sentido bajo Linux: los ficheros ocultos comienzan con un
punto, y los de s�lo lectura, tienen activado el permiso r, pero nada
m�s.
Bajo Unix un fichero tiene �permisos� y un propietario, que pertenece
a un �grupo�. Mire este ejemplo:
$ ls -l /bin/ls
-rwxr-xr-x 1 root bin 27281 Aug 15 1995 /bin/ls*
El primer campo contiene los permisos del fichero /bin/ls, que
pertenece a root, del grupo bin. Dejando la informaci�n restante a un
lado (el libro de Matt esta ah� para ese prop�sito), s�lo recordar� lo
que significa -rwxr-xr-x (de izquierda a derecha):
- es el tipo de fichero (- = fichero normal, d = directorio, l =
enlace, etc.); rwx son los permisos del propietario del fichero (leer,
escribir, ejecutar); r-x son los permisos para el grupo del
propietario del fichero (leer y ejecutar); (no tocar� el concepto de
grupo, puede pasar sin �l mientras sea un novato ;-) r-x son los
permisos para todos los dem�s usuarios (leer, ejecutar).
Esa es la raz�n de que no pueda borrar el fichero /bin/ls a menos que
sea root: no tiene el permiso de escritura para hacer eso. Para
cambiar los permisos de un fichero, la orden es:
$ chmod <qui�nXperm> <fichero>
donde qui�n podr�a ser:
� u usuario, que es el propietario,
� g (grupo),
� o (otros).
X puede ser tanto + como -, y perm puede ser:
� r (lectura),
� w (escritura)
� x (ejecuci�n).
Ejemplos:
$ chmod u+x fichero
esto habilita el permiso de ejecuci�n para el propietario del fichero.
Atajo: chmod +x fichero.
$ chmod go-wx fichero
esto quita el permiso de escritura y de ejecuci�n para todo el mundo
menos al usuario.
$ chmod ugo+rwx fichero
esto le da a todo el mundo el permiso de lectura, escritura y
ejecuci�n.
$ chmod +s fichero
esto convierte al fichero en setuid o suid; esto es, un fichero que
todo el mundo puede ejecutar con los privilegios de su due�o.
Normalmente, se encontrar� con archivos suid del root; estos son, a
menudo, ficheros importantes del sistema, como el servidor X.
Una manera m�s corta de referirse a los permisos es con n�meros: rwxr-
xr-x puede ser expresado como 755 (cada letra corresponde a un bit:
--- es 0, --x es 1, -w- es 2, -wx es 3...). Parece dif�cil, pero con
algo de pr�ctica el concepto se domina. root, el administrador y
superusuario, puede cambiar los permisos de los ficheros de todo el
mundo. Hay mucha m�s informaci�n acerca de esto: LPM.
4.4. Ficheros: �rdenes equivalentes
A la izquierda, las �rdenes de DOS; a la derecha, sus equivalentes en
Linux.
COPY: cp
DEL: rm
MOVE: mv
REN: mv
TYPE: more, less, cat
Operadores de redirecci�n y de tuber�as:
< > >> |
Comodines: * ?
nul: /dev/null
prn, lpt1: /dev/lp0 o /dev/lp1; lpr
EJEMPLOS
DOS Linux
---------------------------------------------------------------------
C:\GUIDO>ATTRIB +R FICH.TXT $ chmod 400 fich.txt
C:\GUIDO>COPY JOE.TXT JOE.DOC $ cp joe.txt joe.doc
C:\GUIDO>COPY *.* TOTAL $ cat * > total
C:\GUIDO>COPY FRACTALS.DOC PRN $ lpr fractals.doc
C:\GUIDO>DEL TEMP $ rm temp
C:\GUIDO>DEL *.BAK $ rm *~
C:\GUIDO>MOVE PAPER.TXT TMP\ $ mv paper.txt tmp/
C:\GUIDO>REN PAPER.TXT PAPER.ASC $ mv paper.txt paper.asc
C:\GUIDO>PRINT LETTER.TXT $ lpr letter.txt
C:\GUIDO>TYPE LETTER.TXT $ more letter.txt
C:\GUIDO>TYPE LETTER.TXT $ less letter.txt
C:\GUIDO>TYPE LETTER.TXT > NUL $ cat letter.txt > /dev/null
no disponible $ more *.txt *.asc
no disponible $ cat section*.txt | less
Notas:
� * es m�s inteligente bajo Linux: * equivale a todos los ficheros
excepto los ocultos; .* equivale a todos los ficheros ocultos; *.*
equivale s�lo a aquellos ficheros que tienen un punto en medio del
nombre, seguido de otros caracteres; p*r equivaldr�a tanto a peor
como a por; *c* equivaldr�a tanto a pecado como a peca.
� Cuando utilice more, pulse espacio para ir leyendo a trav�s del
fichero, q o Ctrl-C para salir. less es m�s intuitivo y permite
utilizar las teclas del cursor;
� No hay UNDELETE, as� que pi�nselo dos veces antes de borrar
cualquier cosa;
� Adem�s de los < > >> del DOS, Linux tiene el operador 2> para
redirigir los mensajes de error (stderr); m�s a�n, el operador 2>&1
redirige stderr a stdout (la salida est�ndar), mientras que 1>&2
redirige stdout a stderr;
� Linux tiene otro comod�n: los corchetes []. Usar [abc]* equivale a
los ficheros que empiezan por a, por b o por c; *[I-N,1,2,3]
equivale a los ficheros que acaban por I, J, K, L, M, N, 1, 2, 3;
� No hay un RENAME como en DOS; esto es, mv *.xxx *.yyy no funciona.
Un orden similar a REN est� disponible en
ftp://sunsite.unc.edu/pub/Linux/utils/file;
� Use cp -i y mv -i para ser avisado cuando un fichero vaya a ser
sobreescrito.
4.5. Ejecuci�n de programas: Multitarea y Sesiones
Para ejecutar un programa, escriba su nombre tal y como lo har�a bajo
DOS. Si el directorio ---vea la secci�n ``Directorios''--- donde el
programa est� guardado est� incluido en la variable de entorno PATH
---secci�n ``Inicializaci�n''--- el programa comenzar� a ejecutarse.
Excepci�n: al contrario que bajo DOS, en Linux un programa localizado
en el directorio actual no se ejecutar� a manos que el directorio
actual (simbolizado por �.�) est� incluido en el PATH. Para evitarlo,
suponiendo que el programa se llame prog, teclee
Este es el aspecto t�pico de una l�nea de �rdenes:
$ orden [-o1 [-o2] ... [-on]] [par1 [par2] ... [parn]] [< input] [> output]
donde -o1, ..., -on son las opciones del programa, par1, �rdenes en la
l�nea de �rdenes:
$ orden1 ; orden2 ; ... ; ordenN
Esto es todo acerca de ejecutar �rdenes, pero es f�cil ir un paso m�s
all�. Una de las principales razones para usar Linux es que es un
sistema operativo multitarea ---puede ejecutar varios programas (a
partir de ahora, procesos) a la vez---. Puede lanzar procesos en
segundo plano (background) y seguir trabajando inmediatamente. M�s
a�n, Linux permite tener varias sesiones abiertas simult�neamente: es
como tener muchos ordenadores en los que trabajar a la vez.
� Para cambiar a la sesi�n 1..6 de las consolas virtuales, presione
<ALT-F1> ... <ALT-F6>
� Para comenzar una nueva sesi�n en la misma consola virtual sin
dejar la actual, teclee su - <nombre_de_usuario>. Ejemplo: su -
root. Esto es �til, por ejemplo, cuando se necesita realizar una
tarea que s�lo el root puede hacer.
� Para acabar una sesi�n, teclee exit. Si hay trabajos parados (ver
m�s abajo), ser� avisado.
� Para lanzar un proceso en segundo plano, a�ada un '&', al final de
la l�nea de �rdenes:
$ nomprog [-opciones] [parametros] [< input] [> output] &
[1] 123
� el int�rprete de �rdenes identifica el proceso con un n�mero de
trabajo (p.e. [1]; ver m�s abajo), y con un PID (123 en nuestro
ejemplo).
� Para ver cu�ntos procesos hay, teclee ps ax. Esto generar� una
lista de procesos actualmente en ejecuci�n.
� Para matar (finalizar) un proceso, teclee kill <PID>. Puede que
necesite matar un proceso cuando no sepa c�mo cerrarlo de la manera
correcta... ;-). A veces, s�lo podr� matar un proceso con kill
-SIGKILL <PID>.
Adem�s, el int�rprete de �rdenes permite suspender temporalmente
(parar) un proceso, mandar un proceso al segundo plano, y traer un
proceso del segundo plano al primer plano. En este contexto, los
procesos son denominados �trabajos� (jobs).
� Para ver cu�ntos trabajos hay, teclee jobs. Aqu� los trabajos son
identificados por su n�mero de trabajo, no por su PID.
� Para parar un proceso ejecut�ndose en primer plano pulse <CTRL-C>
(no siempre funciona).
� Para suspender un proceso ejecut�ndose en primer plano, pulse
<CTRL-Z> (�dem al anterior).
� Para mandar un proceso suspendido al segundo plano (convirti�ndolo
en trabajo), teclee bg <trabajo>.
� Para traer un trabajo al primer plano, teclee fg <%trabajo>. Para
traer al primer plano el �ltimo trabajo enviado al segundo plano,
simplemente teclee fg.
� Para matar un trabajo, teclee kill <%trabajo> donde trabajo puede
ser 1, 2, 3...
Usando estas �rdenes puede formatear un disco, comprimir un pu�ado de
ficheros, compilar un programa, y descomprimir un fichero
simult�neamente, y todav�a tener la l�nea de �rdenes a su disposici�n.
Int�ntelo con Windows, s�lo para ver la diferencia de prestaciones
(siempre que no se le cuelgue, claro).
4.6. Ejecuci�n de programas en sistemas remotos
Para ejecutar un programa en una m�quina remota cuyo nombre es
maquina.remota.edu, teclee:
$ telnet maquina.remota.edu
Tras introducir su nombre de usuario y contrase�a, arranque su
programa favorito. Obviamente, debe tener una cuenta en la m�quina
remota.
Si tiene X11, puede incluso ejecutar una aplicaci�n X en un ordenador
remoto, mostr�ndolo en su pantalla de X. Supongamos maquina.remota.edu
la m�quina X remota y sistema.linux.yo su m�quina Linux. Para ejecutar
desde sistema.linux.yo un programa X que reside en maquina.remota.edu,
haga lo siguiente:
� arranque X, arranque un xterm o un emulador de terminal
equivalente, y despu�s teclee:
$ xhost +maquina.remota.edu
$ telnet maquina.remota.edu
� tras introducir su nombre y contrase�a, teclee:
remote:$ DISPLAY=sistema.linux.yo:0.0
remote:$ programa &
(en vez de DISPLAY..., puede que tenga que escribir setenv DISPLAY
sistema.linux.yo:0.0. Depende del int�rprete de �rdenes remoto).
Y.. �voila! Ahora programa se iniciar� en maquina.remota.edu y se
mostrar� en su m�quina. Aunque mejor no intente esto con un m�dem,
porque ser�a demasiado lento para poder utilizarse. Adem�s: es un
m�todo muy inseguro: por favor, lea el �mini-COMO de Aplicaciones X
Remotas� en
http://sunsite.unc.edu/LDP/HOWTO/mini/Remote-X-Apps.
5. Gesti�n de Directorios
5.1. Directorios: Nociones preliminares
Hemos visto las diferencias entre los ficheros de DOSWin y Linux.
Entre directorios, bajo DOSWin el directorio ra�z es \ y bajo Linux es
/ . De manera similar, los directorios anidados se separan mediante \
en DOSWin y mediante / en Linux. Ejemplo de rutas de fichero:
DOS: C:\PAPERS\GEOLOGY\MID_EOC.TEX
Linux: /home/guido/papers/geology/middle_eocene.tex
Como es normal, .. es el directorio padre y . es el directorio actual.
Recuerde que el sistema no le dejar� hacer cd, rd o md donde usted
quiera. Cada usuario tiene sus propias cosas en un directorio llamado
`home', directorio personal o de usuario, cedido por el administrador
del sistema; por ejemplo, en mi PC mi directorio personal es
/home/guido.
5.2. Permisos de directorios.
Los directorios tambi�n tienen permisos. Lo que hemos visto en la
secci�n ``Permisos'' tambi�n rige para los directorios (usuario,
grupo, y otros). Para un directorio, rx significa que puede cambiar a
ese directorio, y w significa que puede crear o borrar ficheros en �l
(seg�n los permisos de los ficheros, por supuesto), o el directorio
mismo.
Por ejemplo, para prevenir que otros usuarios husmeen en
/home/guido/text:
$ chmod o-rwx /home/guido/text
5.3. Equivalencia de �rdenes
DIR: ls, find, du
CD: cd, pwd
MD: mkdir
RD: rmdir
DELTREE: rm -R
MOVE: mv
EJEMPLOS
DOS Linux
---------------------------------------------------------------------
C:\GUIDO>dir $ ls
C:\GUIDO>dir file.txt $ ls file.txt
C:\GUIDO>dir *.h *.c $ ls *.h *.c
C:\GUIDO>dir/p $ ls | more
C:\GUIDO>dir/a $ ls -l
C:\GUIDO>dir *.tmp /s $ find / -name "*.tmp"
C:\GUIDO>cd $ pwd
n/a - ver nota $ cd
idem $ cd ~
idem $ cd ~/temp
C:\GUIDO>cd \otros $ cd /otros
C:\GUIDO>cd ..\temp\trash $ cd ../temp/trash
C:\GUIDO>md newprogs $ mkdir newprogs
C:\GUIDO>move prog .. $ mv prog ..
C:\GUIDO>md \progs\turbo $ mkdir /progs/turbo
C:\GUIDO>deltree temp\trash $ rm -R temp/trash
C:\GUIDO>rd newprogs $ rmdir newprogs
C:\GUIDO>rd \progs\turbo $ rmdir /progs/turbo
Notas:
� Cuando se use rmdir, el directorio a borrar debe estar vac�o. Para
borrar un directorio y todos sus contenidos, use rm -rf (bajo su
propia responsabilidad).
� El car�cter ~ es un atajo para el nombre de su directorio personal.
Las �rdenes cd o cd ~ le llevar�n a su directorio personal desde
dondequiera que est�; la orden cd ~/tmp le llevar� a
/home/su_directorio_de_usuario/tmp.
� cd - �deshace� el �ltimo cd.
6. Disquetes, discos duros y similares.
Hay dos maneras de adminsitrar dispositivos bajo Linux: a la manera de
DOS y a la manera de UNIX. Elija.
6.1. Administraci�n de dispositivos en �modo DOS�
La mayor parte de las distribuciones de Linux incluyen las Mtools, un
conjunto de �rdenes que son perfectamente equivalentes a sus
correspondientes �rdenes en DOS, pero que empiezan con una 'm': p.e.,
mformat, mdir, mmd, mdel, y as�. Pueden incluso conservar los nombres
de ficheros largos, pero no los permisos de los ficheros. Si usted
configura las Mtools editando un fichero llamado /etc/mtools.conf (se
proporciona un ejemplo en la distribuci�n), podr� tambi�n acceder a la
partici�n DOS/Win, el CD-ROM, y la unidad Zip. Sin embargo, para
formatear un disco sin formato, la orden mformat no funcionar�. Como
root, tendr� que ejecutar esta orden con anterioridad: fdformat
/dev/fd0H1440
Nota: no podr� acceder a los ficheros del disquete con una orden como,
por ejemplo, less a:fich.txt. Esta es la desventaja de la manera DOS
de montar discos.
6.2. Administraci�n de dispositivos en �modo UNIX�
UNIX maneja los dispositivos de una manera distinta. No hay unidades
separadas como A: o C:; un disco, sea un disquete o lo que sea, pasa a
ser parte del sistema de ficheros local mediante una operaci�n
denominada �montaje� (mounting). Cuando se acaba de utilizar el disco,
antes de extraerlo, debe �desmontarlo� (unmount).
F�sicamente, dar formato a un disco es una cosa, hacer un sistema de
ficheros en �l es otra. La orden de DOS FORMAT A: hace ambas cosas,
pero bajo Linux son acciones separadas. Para dar formato a un disco,
mire m�s arriba. Para crear un sistema de ficheros:
# mkfs -t ext2 -c /dev/fd0H1440
Puede utilizar dos, vfat (recomendado) u otros formatos en lugar de
ext2. Una vez que el disco est� preparado, m�ntelo con la orden
# mount -t ext2 /dev/fd0 /mnt
especificando el sistema de ficheros correcto si no utiliza ext2.
Ahora usted puede acceder a los ficheros del disquete. Todo lo que
sol�a hacer con A: o B: se hace ahora utilizando en su lugar /mnt.
Ejemplos:
DOS Linux
---------------------------------------------------------------------
C:\GUIDO>DIR A: $ ls /mnt
C:\GUIDO>COPY A:*.* $ cp /mnt/* .
C:\GUIDO>COPY *.ZIP A: $ cp *.zip /mnt
C:\GUIDO>EDIT A:FILE.TXT $ jstar /mnt/file.txt
C:\GUIDO>A: $ cd /mnt
A:> _ /mnt/$ _
Cuando haya acabado, antes de sacar el disco deber� desmontarlo con la
orden
# umount /mnt
Obviamente, debe hacer un fdformat y un mkfs s�lo a los discos no
formateados, que no han sido usados nunca. Si quiere utilizar la
unidad B:, ponga fd1H1440 y fd1 en lugar de fd0H1440 y fd0 en los
ejemplos anteriores.
No hace falta decir que la manera de proceder con los disquetes
tambi�n funciona con otros dispositivos, como por ejemplo, otro disco
duro o una unidad CD-ROM. Esto es para montar el CD-ROM:
# mount -t iso9660 /dev/cdrom /mnt
Esta era la manera �oficial� de montar discos, pero hay un truco. Como
es algo inc�modo tener que ser root para montar un disquete o un CD-
ROM, puede darse permisos a cada usuario de esta manera:
� como root, hacer lo siguiente:
# mkdir /mnt/a: ; mkdir /mnt/floppy ; mkdir /mnt/cdrom
# chmod 777 /mnt/floppy* /mnt/cd*
# # aseg�rese de que el dispositivo CD-ROM es el adecuado
# chmod 666 /dev/hdb ; chmod 666 /dev/fd*
� a�adir en /etc/fstab las siguientes l�neas:
/dev/cdrom /mnt/cdrom iso9660 ro,user,noauto 0 0
/dev/fd0 /mnt/floppy vfat user,noauto 0 0
Ahora, para montar un disquete DOS y un CD-ROM:
$ mount /mnt/floppy
$ mount /mnt/cdrom
Cualquier usuario puede acceder a /mnt/floppy, /mnt/a:, y /mnt/cdrom.
Recuerde que si considera importante la seguridad, dejar que todo el
mundo pueda montar discos de esta manera constituye un gran agujero.
Dos �rdenes �tiles son df, que da informaci�n acerca de los sistemas
de ficheros montados, y du nombredir que informa del espacio de disco
consumido por el directorio.
6.3. Copias de seguridad
Hay muchos paquetes que pueden servirle, pero lo m�s simple para hacer
una copia de seguridad multivolumen (como root) es:
# tar -M -cvf /dev/fd0H1440 /directorio_a_guardar
Aseg�rese de tener un disquete formateado en la unidad, y otros ya
preparados. Para restaurar sus ficheros, inserte el primer disquete en
la unidad y utilice:
# tar -M -xpvf /dev/fd0H1440
7. �Qu� pasa con Windows?
El �equivalente� a Windows es el sistema gr�fico X Window, o X11, para
abreviar. Al contrario que Windows o el Mac, X11 no fue dise�ado para
facilitar el uso o para lograr una mejor apariencia, sino para
proporcionar utilidades gr�ficas a las estaciones de trabajo UNIX.
Estas son las principales diferencias:
� Mientras que la apariencia y comportamiento de Windows es similar
en todo el mundo, en X11 esto no es as�: es mucho m�s configurable.
La apariencia general de X11 est� encomendada a un programa clave
llamado �gestor de ventanas� (window manager), del cual hay una
amplia oferta entre la que escoger: fvwm, basico pero agradable y
eficiente con el consumo de memoria, fvwm2-95, Afterstep,
WindowMaker, Enlightenment, y muchos m�s. El gestor de ventanas es
normalmente llamado por un fichero denominado .xinitrc;
� Su gestor de ventanas puede ser configurado de manera que las
ventanas act�en como en Windows: si usted hace click en ella, viene
al primer plano. Otra posibilidad es que venga al primer plano si
el puntero del rat�n est� sobre ella (�focus�). Tambi�n, el lugar
de emplazamiento de las ventanas en la pantalla puede ser
autom�tico o interactivo: si un marco extra�o aparece en lugar de
su programa, haga click con el bot�n izquierdo del rat�n donde
quiera que aparezca;
� La mayor parte de las acciones pueden configurarse editando uno o
m�s ficheros de configuraci�n. Lea la documentaci�n de su gestor de
ventanas; el archivo de configuraci�n puede ser .fvwmrc, suele
encontrarse en /etc/X11/nombre-de-gestor-de-ventanas/system.nombre-
gestor-ventanas;
� Las aplicaciones X11 se escriben empleando unas bibliotecas
especiales (widget sets); como hay muchas disponibles, las
aplicaciones tienen aspectos distintos. Las m�s b�sicas son
aquellas que usan los controles (widgets) Athena (con aspecto 2D;
xdvi, xman, xcalc); otras usan Motif (netscape), otras a�n usan
Tcl/Tk, Xforms, Qt, Gtk, y otra m�s. Casi todas esas bibliotecas
dan el mismo aspecto y comportamiento que Windows;
� La manera de comportarse, desafortunadamente, puede no ser
coherente. Por ejemplo, si selecciona una l�nea de texto utilizando
el rat�n y pulsa <RETROCEDER>, esperar� que la l�nea desaparezca,
�verdad? Esto no sucede con aplicaciones basadas en Athena, pero
sucede con aplicaciones basadas en otros controles;
� El c�mo funcionen las barras de desplazamiento y el cambio de
tama�o depender� del gestor de ventanas y el juego de widgets.
Pista: si se encuentra con que las barras de desplazamiento no se
comportan como usted esperaba, utilice el bot�n central o los dos
botones juntos para moverla;
� Las aplicaciones no tienen un icono por defecto, pero pueden tener
muchos. La mayor parte de los gestores de ventanas proporcionan un
menu al que se tiene acceso haciendo click en el escritorio
(�ventana ra�z�); no har� falta decir que el men� puede ser
configurado. Para cambiar la apariencia de la ventana ra�z, utilice
xsetroot o xloadimage;
� El portapapeles s�lo puede contener texto, y se comporta de manera
extra�a. Cada vez que selecciona texto, se copia autom�ticamente al
portapapeles: vaya a cualquier sitio y pulse en bot�n central del
rat�n para pegarlo. Hay una aplicaci�n, xclipboard, que proporciona
varios portapapeles;
� Arrastrar y soltar es una opci�n, y est� disponible solamente si
usted utiliza aplicaciones X11 que la permitan.
Para ahorrar memoria, uno deber�a utilizar aplicaciones que usaran las
mismas bibliotecas, pero esto es dif�cil de hacer en la pr�ctica.
Hay proyectos que pretenden hacer que X11 tenga una apariencia y
comportamiento tan coherente como Windows. Gnome,
http://www.gnome.org
y KDE, www.kde.org son un ejemplo. Pru�belos: no echar� de menos su
escritorio Windows nunca m�s.
8. Personalizaci�n del sistema
8.1. Ficheros de inicializaci�n del sistema
Dos ficheros importantes bajo DOS son el AUTOEXEC.BAT y el CONFIG.SYS,
los cuales se utilizan al rearrancar el sistema para inicializarlo,
dar valores a algunas variables de entorno como PATH y FILES, y
posiblemente lanzar un programa o fichero de procesamiento por lotes.
Bajo Linux hay varios ficheros de inicializaci�n, algunos de los
cuales no deber�an ser modificados hasta que usted supiese con
seguridad lo que est� haciendo. De todos modos, estos son los m�s
importantes:
FICHEROS NOTAS
/etc/inittab �no tocar por ahora!
/etc/rc.d/* idem
Si todo lo que necesita es establecer el PATH y otras variables de
entorno, o desea cambiar los mensajes del login o ejecutar
autom�ticamente un programa tras iniciar una sesi�n, eche un vistazo a
los siguientes ficheros:
FICHEROS NOTAS
/etc/issue establece el mensaje de antes del login
/etc/motd establece el mensaje de despues del login
/etc/profile establece $PATH y otras variables, etc.
/etc/bashrc define alias y funciones, etc. (ver mas abajo)
/home/su_home/.bashrc define sus alias y sus funciones
/home/su_home/.bash_profile o
/home/su_home/.profile establece el entorno y ejecuta sus programas
Si el �ltimo fichero existe (f�jese en que es un fichero oculto), se
leer� tras el inicio de sesi�n y se ejecutar�n las �rdenes en �l
almacenados.
Ejemplo; mire este .bash_profile:
# Soy un comentario
echo Entorno:
printenv | less # equivalente de la orden SET bajo DOS
alias d='ls -l' # es facil comprender lo que es un alias
alias up='cd ..'
echo "Recuerde que su path es "$PATH
echo "Hoy es `date`" # usa la salida de la orden 'date'
echo "Que tenga un buen dia, "$LOGNAME
# Lo siguiente es una funcion del shell
ctgz() # Lista los contenidos de un fichero .tar.gz
{
for file in $*
do
gzip -dc ${file} | tar tf -
done
}
# fin de .profile
$PATH y $LOGNAME, lo adivin�, son variables de entorno. Hay muchas
otras con las que jugar; para buscar ejemplos, LPM de aplicaciones
como less.
Poner esta l�nea en su /etc/profile le proporcionar� el equivalente de
PROMPT $P$G;
export PS1="\w\\$ "
9. Ficheros de inicializaci�n de programas
Bajo Linux, casi todo puede ser configurado de acuerdo con sus
necesidades. La mayor�a de los programas tienen uno o m�s ficheros de
inicializaci�n con los que puede trastear, a menudo llamados que
querr� modificar son:
� .inputrc: usado por bash para definir significados de teclas;
� .xinitrc: usado por startx para inicializar el sistema X Window;
� .fvwmrc: usado por el gestor de ventanas fvwm.
� .joerc: usado por el editor joe;
� .jedrc: usado por el editor jed;
� .pinerc: usado por el lector de correo pine;
� .Xdefault: usado por muchos programas X.
Para el resto de programas con el que se encontrar� tarde o temprano,
LPM. Quiz� podr�a ser interesante para usted el documento �C�mo
configurar Linux�
http://sunsite.unc.edu/mdw/HOWTO/Config-HOWTO.html.
10. Trabajo en red: conceptos
No solo est� disponible bajo Linux un �Acceso telef�nico a redes�,
sino que tambi�n es m�s estable y m�s r�pido. El nombre clave es
�PPP�, el protocolo empleado para conectarse a Internet utilizando
m�dems. Necesita un n�cleo que de soporte a PPP y una herramienta que
marque y realice la conexi�n.
Para recoger el correo de su proovedor de servicios Internet necesita
una herramienta llamada �recolector de correo� (email fetcher) que
utiliza el protocolo POP; cuando recoja el correo, parecer� como si
hubiera sido enviado directamente a su sistema Linux. Entonces deber�
utilizar un gestor de correo de usuario como pine, mutt, elm u otros
muchos para administrarlo.
Mientras que bajo Windows, siempre que lanza una aplicaci�n de
Internet se ejecuta el programa de conexi�n, bajo Linux el proceso es
al rev�s. Primero se conecta, y despu�s se lanza la aplicaci�n. Un
programa llamado diald proporciona el acceso usual. Instalar y
configurar una red sol�a ser una de las cosas m�s dif�ciles de hacer
bajo Linux, pero ya no lo es: por favor, consulte el documento COMO
configurar Linux.
Finalmente, acerca del �Entorno de red�: puede hacer que su m�quina
Linux aparezca como un Windows NT/9x en una red local de m�quinas
Windows. La palabra m�gica es Samba: no el baile brasile�o, sino una
implementaci�n del protocolo SMB para Linux. Visite
http://samba.anu.edu.au/samba.
11. Un poco de programaci�n
11.1. Rutinas del Int�rprete de Comandos: Ficheros .BAT con
esteroides
Si ha utilizado ficheros .BAT para crear atajos de largas l�neas de
orden (yo sol�a hacerlo), el objetivo puede ser obtenido insertando
las l�neas de alias convenientes (ver ejemplo de m�s arriba) en el
profile o en el encantar� el lenguaje de Script (guionado) que el
shell pone a su disposici�n: es tan potente como el viejo Qbasic (o
m�s). Tiene variables, estructuras como while, for, case, if-then-
else, y montones de nuevas caracter�sticas: puede ser una buena
alternativa a un lenguaje de programaci�n �de verdad�.
Para escribir una rutina (script) ---el equivalente a un fichero ASCII
est�ndar que contenga las instrucciones, guardarlo, y entonces hacerlo
ejecutable con la orden chmod +x fichero. Para ejecutarlo, teclee su
nombre.
Aviso: el editor del sistema se llama vi, y es un hecho probado que la
mayor parte de los nuevos usuarios lo encuentran muy dif�cil de usar.
No voy a explicar c�mo usarlo; por favor, consulte el libro de Matt
Welsh o busque un cursillo en la red. Suficiente decir por ahora que:
� para insertar texto, pulse `i' y despu�s el texto;
� para borrar caracteres, teclee ESC y despu�s `x';
� para salir de vi sin guardar, pulse ESC y despu�s :q!
� para guardar y salir, pulse ESC y luego :wq
joe es un buen editor para novatos: ll�melo tecleando jstar y tendr�
los mismos atajos de teclas que en el editor de DOSWin. jed en modo
WordStar o IDE es incluso mejor. Por favor, consulte la secci�n
``D�nde encontrar aplicaciones'' para ver d�nde conseguir estos
editores.
Escribir rutinas bajo bash es una materia tan extensa que requerir�a
un libro para abarcarla toda, y no voy a profundizar m�s all� en este
tema. S�lo dar� un ejemplo de script, del cual se pueden extraer las
reglas b�sicas:
#!/bin/sh
# ejemplo.sh
# Soy un comentario
# no cambie la primera linea: debe estar ahi
echo "Este sistema es: `uname -a`" # usa la salida de la orden
echo "Me llamo $0" # variables intrinsecas
echo "Usted me dio $# parametros: "$*
echo "El primer parametro es: "$1
echo -n "�Como se llama? " ; read su_nombre
echo fijese en la diferencia: "Hola, $su_nombre" # entrecomillando con "
echo fijese en la diferencia: 'Hola, $su_nombre' # entrecomillando con '
DIRS=0 ; FILES=0
for fichero in `ls .` ; do
if [ -d ${fichero} ] ; then # si el fichero esta en el directorio
DIRS=`expr $DIRS + 1` # DIRS = DIRS + 1
else if [ -f ${fichero} ] ; then
FILES=`expr $FILES + 1`
fi
case ${fichero} in
gif|*jpg) echo "${fichero}: fichero grafico" ;;
*.txt|*.tex) echo "${fichero}: fichero de texto" ;;
*.c|*.f|*.for) echo "${fichero}: fichero de codigo fuente" ;;
*) echo "${fichero}: fichero generico" ;;
esac
done
echo "Hay ${DIRS} directorios y ${FILES} ficheros"
ls | grep "ZxY--!!!WKW"
if [ $? != 0 ] ; then # Sacar el codigo del ultimo orden
echo "ZxY--!!!WKW no encontrado"
fi
echo "ya es suficiente... Para mas informacion teclee 'man bash'."
11.2. Sus programas en C
Bajo Unix, el lenguaje del sistema es C, le guste o no. Pero tambi�n
est�n a su disposici�n otros lenguajes como FORTRAN, Pascal, Lisp,
Basic, Perl, awk...
Suponiendo que usted sepa C, hay un par de gu�as para aquellos que han
utilizado Turbo C++ o uno de sus hermanos bajo DOS. El compilador de C
se denomina gcc y carece de todas las florituras que normalmente
acompa�an a sus an�logos bajo DOS: no tiene IDE, ni ayuda en l�nea, ni
debugger integrado, etc... Es s�lo un r�stico compilador de l�nea de
�rdenes, muy potente y eficiente. Esto es lo que debe teclear para
compilar el t�pico programa hello.c:
$ gcc hello.c
lo que crear� un fichero ejecutable llamado a.out. Para cambiar el
nombre del ejecutable a otro nombre:
$ gcc -o hola hello.c
Para enlazar una librer�a al programa, a�ada la opci�n
-lnombre_de_librer�a. Por ejemplo, para enlazar la librer�a math:
$ gcc -o mathprog mathprog.c -lm
(-lnombre_libreria fuerza a gcc a enlazar la librer�a
/usr/lib/libnombre_librer�a.a; por lo tanto -lm enlaza
/usr/lib/libm.a).
Bien. Pero cuando su programa est� compuesto por varios ficheros de
c�digo fuente, necesitar� usar la utilidad make. Supongamos que ha
escrito un evaluador de expresiones: su c�digo fuente se denomina
parser.c e tiene un #include de dos ficheros en su cabecera: parser.h
y xy.h. Entonces, desea utilizar las rutinas de parser.c en otro
programa, calc.c, que hace un #include de parser.h. �Vaya l�o! �C�mo
se puede compilar calc.c?
Debe escribir un fichero llamado Makefile, el cual muestra al
compilador las dependencias entre los ficheros de c�digo fuente y los
ficheros de c�digo objeto. En nuestro ejemplo:
# Este es el Makefile utilizado para compilar calc.c
# �Pulse la tecla <TAB> en las posiciones marcadas!
calc: calc.o parser.o
<TAB>gcc -o calc calc.o parser.o -lm
# calc depende de dos ficheros de codigo objeto: calc.o and parser.o
calc.o: calc.c parser.h
<TAB>gcc -c calc.c
# calc.o depende de dos ficheros de codigo fuente
parser.o: parser.c parser.h xy.h
<TAB>gcc -c parser.c
# parser.o depende de tres ficheros de codigo fuente
# fin de Makefile.
Guarde esto como Makefile y teclee
$ make
para compilar su programa. Gu�rdelo como calc.mak de forma alternativa
y teclee
$ make -f calc.mak
Y, por supuesto, LPM.
Puede pedir ayuda acerca de las funciones de C, que se encuentra en
las p�ginas man, secci�n 3; por ejemplo:
$ man 3 printf
Hay muchas librer�as disponibles por ah�; entre las primeras que
desear� usar est�n las ncurses (efectos en modo texto) y svgalib,
(gr�ficos para consola). Si se siente suficientemente valiente para
atacar la programaci�n bajo X (no es tan dif�cil), hay muchas
bibliotecas que har�n mucho m�s f�cil escribir programas para X11.
Eche un vistazo a
http://www.xnet.com/~blatura/linapp6.html, teniendo
en cuenta el hecho de que Gtk se est� volviendo un est�ndar.
Muchos editores pueden actuar como IDE. emacs y jed, por ejemplo,
proporcionan marcado de sintaxis, indentaci�n autom�tica, y cosas
similares. De manera alternativa, consiga el paquete rhide de
ftp://sunsite.unc.edu:/pub/Linux/devel/debuggers/. Es un clon del IDE
de Borland, y cabe la posibilidad de que le guste.
12. El restante 1%
Mucho m�s que un 1%, en realidad...
12.1. Utilizaci�n de tar y gzip
Bajo Unix hay algunas aplicaciones ampliamente utilizadas para
archivar y comprimir ficheros. tar se utiliza para archivar varios
ficheros en uno ---es como PKZIP o Winzip, pero no comprime, s�lo
archiva. Para archivar varios ficheros en uno (que llamaremos archivo
de ahora en adelante):
$ tar -cvf <nombre_fichero_final.tar> <fichero1> [fichero2...]
Para extraer ficheros de un archivo:
$ tar -xpvf <nombre_fichero.tar> [fichero]
Para listar los ficheros contenidos de un archivo:
$ tar -tf <nombre_fichero.tar> | less
Puede comprimir los ficheros usando compress, el cual es obsoleto y no
deber�a ser utilizado nunca m�s, o usando gzip:
$ compress <fichero>
$ gzip <fichero>
eso crea un fichero comprimido con la extensi�n .Z (compress) o vez.
Para descomprimir, use:
$ compress -d <fichero.Z>
$ gzip -d <fichero.gz>
LPM.
Hay tambi�n utilidades unarj, zip y unzip (compatibles con ARJ y
PK??ZIP). Los ficheros con la extensi�n .tar.gz o tgz (archivados con
tar, posteriormente comprimidos con gzip) son tan comunes en el mundo
Unix como los ficheros .ZIP bajo DOS. Para listar los contenidos de un
fichero .tar.gz utilice:
$ gzip -dc <fichero.tar.gz> | tar tf - | less
o tambi�n:
$ tar -cvzf <fichero.tar.gz>
12.2. Instalaci�n de aplicaciones
Antes de nada: instalar paquetes es trabajo del root. La mayor�a de
las aplicaciones Linux se distribuyen como ficheros .tar.gz, que
contienen, t�picamente, un directorio bien denominado conteniendo
ficheros y/o subdirectorios. Una buena norma es instalar esos paquetes
en el directorio /usr/local con la orden
# tar -zxf <archive.tar.gz>
leyendo despu�s el fichero README o INSTALL. En la mayor�a de los
casos, la aplicaci�n se distribuye en c�digo fuente, por lo que deber�
compilarla; a menudo, ser� suficiente teclear make y despu�s make
install. Si el archivo contiene una rutina configure ejec�tela
primero. Obviamente, necesitar� el compilador gcc o g++.
Algunos archivos deben ser desempaquetados desde el directorio ra�z;
�ste es el caso de los archivos .tgz de Slackware. Otros archivos
contienen los ficheros pero no un subdirectorio - cuidado con liar las
cosas. Antes de instalar un archivo, liste su contenido.
Debian y Red Hat tienen su propio formato de archivo; respectivamente,
instalar un paquete rpm, teclee
# rpm -i package.rpm
12.3. Trucos imprescindibles
Visi�n de pantallas anteriores: presionar <MAY�S + RE P�G> (la tecla
gris) le permite volver atr�s unas cuantas p�ginas, dependiendo de la
memoria de v�deo que posea.
Resetear la pantalla: si por un casual hace un cat o un more de un
fichero binario, su pantalla puede acabar llena de basura. Para
arreglar las cosas, teclee reset a ciegas o pulse esta secuencia de
caracteres: echo CTRL-V ESC c RETURN.
Pegar texto: en consola, ver m�s abajo; en las X, haga click y
arrastre para seleccionar el texto en una ventana xterm, despu�s haga
click en el bot�n central (o con los dos a la vez si tiene un rat�n de
dos botones) para pegar. Tambi�n hay un xclipboard (portapapeles de
X) (de momento, s�lo para texto); no se confunda por su muy baja
velocidad de respuesta.
Usar el rat�n: instale gpm, el controlador de rat�n para la consola.
Haga click y arrastre para seleccionar texto, entonces haga un click
con el bot�n derecho para pegar el texto seleccionado. Funciona a
trav�s de diferentes consolas virtuales.
Mensajes del n�cleo: �chele un vistazo a /var/adm/messages o
/var/log/messages como root para ver lo que el n�cleo le dice,
incluyendo los mensajes de inicio. La orden dmesg tambi�n es �til.
12.4. �D�nde encontrar aplicaciones?
Si se est� preguntando si puede reemplazar su vieja y fiable
aplicaci�n DOS/Win con una aplicaci�n de Linux, le sugiero que navegue
por los mayores directorios de software para Linux:
ftp://sunsite.unc.edu/pub/Linux,
ftp://tsx-11.mit.edu/pub/linux, y
ftp://ftp.funet.fi/pub/Linux. Otros buenos lugares para empezar son
la �P�gina de Utilidades y Aplicaciones para Linux�
http://www.xnet.com/~blatura/linapps.shtml, y la p�gina �oficial� de
Linux
http://www.linux.org.
12.5. Unas cuantas cosas que Usted no pod�a hacer
Linux puede hacer muchas cosas que eran dif�ciles o imposibles de
hacer con DOS/Windows. Esta es una peque�a lista que puede abrir su
apetito:
� at le permite ejecutar programas a una hora determinada;
� awk es un lenguaje simple pero potente para manipular ficheros de
datos (y no s�lo de datos). Por ejemplo, siendo data.dat su fichero
de datos con varios campos,
$ awk '$2 ~ "abc" {print $1, "\t", $4}' data.dat
imprime los campos 1 y 4 de cada l�nea de data.dat cuyo segundo campo
contenga la cadena �abc�.
� cron es �til para realizar tareas peri�dicamente, en una fecha y
hora determinadas. Escriba man 5 crontab.
� find (vea tambi�n secci�n ``Directorios: equivalencia de �rdenes'')
es una de las �rdenes m�s potentes y �tiles. Se utiliza para
encontrar ficheros que tengan unas determinadas caracter�sticas y
para realizar acciones en ellos. Un uso general de find es:
$ find <directorio> <expresi�n>
donde <expresi�n> incluye los criterios de b�squeda y las acciones.
Ejemplos:
$ find . -type l -exec ls -l {} \;
encuentra todos los ficheros que son enlaces simb�licos y muestra a
qui�n apuntan.
$ find / -name "*.old" -ok rm {} \;
encuentra todos los ficheros que ajusten con el patr�n y los borra,
pidiendo su permiso primero.
$ find . -perm +111
encuentra todos los ficheros cuyos permisos ajusten con 111 (ejecuta�
bles).
$ find . -user root
encuentra todos los ficheros que pertenecen al root. Hay cientos de
posibilidades. LPM.
� grep busca patrones de texto en ficheros. Por ejemplo,
$ grep -l "geolog�a" *.txt
lista todos los ficheros *.txt que contengan la palabra �geolog�a�. La
variante zgrep trabaja con ficheros comprimidos con gzip. LPM;
� Las expresiones regulares son un m�todo complejo pero muy potente
de efectuar operaciones de b�squeda en un texto. Por ejemplo,
^a[^a-m]X{4,}txt$ se ajusta a una l�nea que comienza con `a',
seguida de cualquier car�cter excepto los del intervalo a-m,
seguido de 4 o m�s `X', y terminado en `txt'. Puede utilizar
expresiones regulares con editores avanzados, less, y muchas otras
aplicaciones. man grep para una introducci�n.
� script <fichero_script> vuelca los contenidos de la pantalla en
fichero_script hasta que teclee la orden exit. Es �til para
depuraci�n;
� sudo permite a usuarios efectuar algunas tareas propias del root,
como por ejemplo, formatear y montar discos; LPM);
� uname -a le da informaci�n acerca de su sistema;
� zcat y zless son �tiles para visualizar y trabajar con ficheros
comprimidos mediante gzip sin necesidad de descomprimirlos. Por
ejemplo:
$ zless textfile.gz
$ zcat textfile.gz | lpr
� Los siguientes �rdenes son �tiles a menudo: bc, cal, chsh, cmp,
cut, fmt, head, hexdump, nl, passwd, printf, sort, split, strings,
tac, tail, tee, touch, uniq, w, wall, wc, whereis, write, xargs,
znew. LPM.
12.6. Practicando UNIX bajo DOS/Windows
Tanto como si me cree como si no, hay buenas utilidades que
proporcionan un entorno similar a UNIX bajo DOS/Windows. Uno es la
suite Djgpp (
http://www.delorie.com/djgpp) para DOS, mientras que
Cygnus (
http://www.cygnus.com) es un puerto m�s completo para Win32.
Ambos incluyen las mismas herramientas y utilidades de desarrollo GNU
que Linux; sin embargo, no conseguir� la misma estabilidad.
Si desea tener el sabor de Linux, pruebe Djgpp. Descargue e instale
los siguientes ficheros (en el momento de escribir, la �ltima versi�n
era la 2.02): djdev202.zip, bnu281b.zip, bsh1147b.zip, fil316b.zip,
find41b.zip, grep22b.zip, gwk303b.zip, lss332b.zip, shl112b.zip.. Se
proporcionan instrucciones de instalaci�n, y puede encontrar ayuda en
news:comp.os.msdos.djgpp.
En particular, utilizar bash bajo DOSWin es una bocanada de aire
fresco. Para configurarlo adecuadamente, edite el fichero BOOT.BAT que
viene en la distribuci�n para que refleje su instalaci�n, y ponga
estos ficheros en su directorio de usuario (de la partici�n Windows)
en lugar de los que se proporcionan:
# este es _bashrc
LS_OPTIONS="-F -s --color=yes"
alias cp='cp -i'
alias d='ls -l'
alias l=less
alias ls="ls $LS_OPTIONS"
alias mv='mv -i'
alias rm='rm -i'
alias u='cd ..'
# este es _bprof
if [ -f ~/_bashrc ]; then
. ~/_bashrc
fi
PS1='\w\$ '
PS2='> '
CDPATH="$CDPATH:~"
# cosas para less(1)
LESS="-M-Q"
LESSEDIT="%E ?lt+%lt. %f"
VISUAL="jed" # editor
LESSCHARSET=latin1 # visualizar letras acentuadas
export PS1 PS2 CDPATH LS_OPTIONS LESS LESSEDIT LESSOPEN VISUAL LESSCHARSET
12.7. Extensiones comunes y programas relacionados
Se podr� encontrar con una gran variedad de extensiones de ficheros.
Excluyendo las m�s ex�ticas (como las de fuentes, etc.), aqu� tenemos
una lista de las extensiones m�s usuales:
� 1 ... 8: p�ginas de manual. L�alas con groff -Tlatin1 -man
<file.1>.
� arj: archivo hecho con arj.
� dvi: fichero de salida producido por TeX (ver m�s abajo). Use xdvi
para visualizarlo; Use dvips para transformarlo en un fichero
PostScript (.ps).
� gz: archivo comprimido con gzip.
� info: archivo info (Algo as� como una alternativa a las p�ginas de
manual). Consiga info.
� lsm: Fichero Linux Software Map. Es un fichero de texto ASCII plano
que contiene la descripci�n de un paquete.
� ps: Fichero PostScript. Para visualizarlo o imprimirlo consiga gs
y, opcionalmente, ghostview.
� rpm: Paquete de Red Hat. Puede instalarlo en cualquier sistema
utilizando el gestor de paquetes rpm.
� taz, tar.Z: archivo hecho con tar y posteriormente comprimido con
compress.
� tgz, tar.gz: archivo hecho con tar y posteriormente comprimido con
gzip.
� tex: fichero de texto para utilizar con TeX, un poderoso
formateador de textos. Consiga el paquete tex, disponible en muchas
distribuciones.
� texi: fichero texinfo, a partir del cual se pueden producir tanto
archivos TeX como info. Consiga texinfo.
� xbm, xpm, xwd: fichero gr�fico.
� Z: archivo hecho con compress.
� zip: archivo hecho con zip. Consiga zip y unzip.
12.8. Conversi�n de ficheros
Si necesita intercambiar ficheros de texto entre DOS/Win y Linux,
tenga en cuenta del problema de �fin de l�nea�. Bajo DOS, cada l�nea
de texto finaliza con CR/LF (esto es, ASCII 13 + ASCII 10). Bajo
Linux, con LF. Si edita un fichero de texto DOS bajo Linux, cada l�nea
acabar� con un car�cter `M' de extra�a apariencia. un fichero de texto
Linux bajo DOS aparecer� como una s�la l�nea kilom�trica sin p�rrafos.
Hay un par de utilidades, dos2unix y unix2dos, que convierten estos
ficheros.
Nota del revisor: Puede utilizar vim para convertir este tipo de
ficheros:
� Para convertir un fichero DOS a formato Linux: (Las l�neas con #
delante son comentarios)
vi fichero_dos.txt
# pulse ESC
:set fileformat=unix
# pulse Enter
!wq fichero_linux.txt
# pulse Enter
� Para convertir un fichero Linux para su uso en DOS:
vi fichero_linux.txt
# pulse ESC
:set fileformat=dos
# pulse Enter
!wq fichero_dos.txt
# pulse Enter
Si sus ficheros de s�lo-texto contienen caracteres acentuados,
aseg�rese de que est�n hechos bajo Windows (con NotePad) y no bajo
DOS; si no, todas las letras acentuadas aparecer�n como caracteres
extra�os.
Para convertir ficheros del Word o WordPerfect a texto plano, la
cuesti�n es m�s dificil, pero a�n posible. Necesita una de las
herramientas que pueden encontrarse en los sitios CTAN; uno de ellos
es
ftp://ftp.tex.ac.uk. Consiga el programa word2x del directorio
/pub/tex/tools/. En concreto, word2x convierte ficheros de Word 6,
mientras que para ver ficheros realizados con Word 97 necesitar�
mswordview (
http://www.csn.ul.ie/~caolan/docs/MSWordView.html) que los
transforma en HTML.
12.9. Entornos ofim�ticos gratuitos
Si convertir ficheros no le parece suficiente, tiene la posibilidad de
probar un paquete (�gratuito!) similar a Microsoft Office.
La suite StarOffice es gratuita para uso privado. Es grande, algo
lenta, pero muy buena: ofrece muchas funcionalidades no encontradas en
Microsoft Office. Puede tambi�n leer y escribir ficheros de Word y
Excel, aunque la conversi�n no es siempre perfecta. Visite
http://www.stardivision.com.
Otro buen paquete es Corel WordPerfect, del cual est� disponible para
descarga una edici�n gratuita. �Deber�a decir m�s? Vaya a por �l:
http://www.corel.com.
13. Fin, por ahora
�Felicidades! Se ha iniciado un poco en el UNIX y est� preparado para
comenzar a trabajar. Recuerde que su conocimiento del sistema es a�n
limitado, y que se espera que practique m�s con Linux para usarlo
c�modamente. Pero si todo lo que quer�a hacer era conseguir un pu�ado
de aplicaciones y empezar a trabajar con ellas, apuesto a que lo que
se incluy� aqu� fue suficiente.
Estoy seguro de que habr� disfrutado de usar Linux y seguir�
aprendiendo m�s acerca de �l (todo el mundo lo hace). �Apuesto lo que
sea, tambi�n, a que nunca volver� a DOSWin! Espero haberme hecho
entender y haber realizado un buen servicio a mis 3 o 4 lectores.
13.1. Copyright
A menos que se establezca lo contrario, los documentos COMO de Linux
tienen copyright de sus respectivos autores. Los documentos COMO de
Linux pueden ser reproducidos y distribuidos de manera completa o en
parte, en cualquier medio f�sico o electr�nico, siempre y cuando este
aviso de copyright se mantenga en todas las copias. Se permite y se
anima a la redistribuci�n comercial; sin embargo, al autor le gustar�a
ser notificado de cualquier distribuci�n.
Todas las traducciones, trabajos derivados o agregados que incorporen
cualquier documento COMO de Linux deben ser mantenidos bajo este aviso
de Copyright. Esto es, no puede producir un trabajo derivado de un
documento COMO e imponer restricciones adicionales a su distribuci�n.
Se pueden conceder excepciones a estas reglas bajo ciertas
condiciones; por favor, contacte con el coordinador de los COMO de
Linux en la direcci�n dada m�s abajo.
En resumen, deseamos promocionar la dispersi�n de esta informaci�n a
trav�s de cuantos canales sea posible. Sin embargo, deseamos retener
el copyright de los documentos COMO, y nos gustar�a tener noticias de
cualquier plan de redistribuir los COMOs.
Si tiene dudas, contacte con Tim Bynum, el coordinador de Linux HOWTO,
en
[email protected] v�a e-mail.
13.2. Agradecimientos
"C�MO pasar de DOS a Linux" fue escrito por Guido Gonzato,
[email protected] (Borre el �BORREME�). Muchas gracias
a Matt Welsh, el autor de Linux: Instalaci�n y Primeros Pasos, a Ian
Jackson, el autor del Linux frequently asked questions with answers, a
Giuseppe Zanetti, el autor de Linux, a todos los amigos que me
enviaron sugerencias, y especialmente a Linus Torvalds y GNU que nos
trajeron Linux.
Este documento se distribuye �tal cual�. He puesto un gran esfuerzo en
escribirlo tan correctamente como he podido. Pese a ello, la
informaci�n contenida en el mismo debe ser utilizada bajo su propia
responsabilidad. En ning�n caso el autor ser� responsable de
cualquier da�o resultante del uso de este documento.
Los comentarios son bienvenidos. Para cualquier duda, sugerencia,
cr�tica, etc., si�ntase libre de contactar conmigo.
Disfrute de Linux y de la vida,
Guido =8-)
13.3. Traducci�n
�C�MO pasar de DOS/Win a LINUX� fue traducido por David Mar�n Carre�o,
[email protected], como un peque�o grano de arena m�s dentro del
Proyecto INSFLUG. Para m�s informaci�n, vea la secci�n ``''.
He intentado una traducci�n fidedigna del documento original de Guido,
aunque en algunos lugares haya actualizado informaci�n o cambiado
algunas expresiones por otras m�s adecuadas a la jerga en nuestro
idioma.
Si desea plantear alguna duda, sugerencia o cr�tica, pues tampoco dude
en contactar conmigo.
| | | _| David Mar�n Carre�o (aka DaveFX)
\ | / /
|/____\| Estudiante de Ingenier�a en Inform�tica.
/_|_/\_|_\ Traductor de documentos L�nux.
\| (__) |/ Madrid. Espa�a.
/ \____/ \
(____ ____) ICQ#: 34866516
_____||_____ E-mail: <
[email protected]>
/ _ _ \ WEb SiTe:
http://www.bigfoot.com/~davefx
14. Anexo: El INSFLUG
El INSFLUG forma parte del grupo internacional Linux Documentation
Project, encarg�ndose de las traducciones al castellano de los Howtos
(Comos), as� como la producci�n de documentos originales en aquellos
casos en los que no existe an�logo en ingl�s.
En el INSFLUG se orienta preferentemente a la traducci�n de documentos
breves, como los COMOs y PUFs (Preguntas de Uso Frecuente, las FAQs.
:) ), etc.
Dir�jase a la sede del INSFLUG para m�s informaci�n al respecto.
En la sede del INSFLUG encontrar� siempre las �ltimas versiones de las
traducciones: www.insflug.org. Aseg�rese de comprobar cu�l es la
�ltima versi�n disponible en el Insflug antes de bajar un documento de
un servidor r�plica.
Se proporciona tambi�n una lista de los servidores r�plica (mirror)
del Insflug m�s cercanos a Vd., e informaci�n relativa a otros
recursos en castellano.
Francisco Jos� Montilla,
[email protected].