<!doctype linuxdoc system>

<!-- Traducción David Marín Carreño Iniciada 8-6-1999 -->
<!-- Revisado: Ricardo Javier Cárdenes Medina, 4-Feb-2000 -->


<article>

<title> Cómo pasar de DOS/Windows a Linux
<author> Por Guido Gonzato <tt><htmlurl
url="BORRAMEguido@ibogeo.df.unibo.it"
name="BORRAMEguido@ibogeo.df.unibo.it"></tt>
(Elimine el BORRAME)
&nl; Traducido por David Marín Carreño, <tt><htmlurl
url="davefx@bigfoot.com" name="davefx@bigfoot.com"></tt>

<date>v1.3.2 22 de Febrero de 1999. Traducción: 8 de Junio de 1999.

<abstract> 
Este documento <it>Cómo</it> está dedicado a todos los (pronto ex-)usuarios de
DOS y Windows que acaban de decidir pasarse a Linux, el clónico gratuito 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.
</abstract>

<toc>


<sect>Introducción
<p>

<sect1>¿Es Linux adecuado para usted?
<p>

¿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:

<itemize>

<item> 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.

<item> 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.

</itemize>

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 <em>no espere ser
un experto en Linux a menos que lea mucha documentación y lo use durante al
menos unos meses</em>. Linux no le dará resultados instantáneos.  A pesar de
estas advertencias, tengo un 100&percnt; 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:

<itemize>

<item> conoce las órdenes y conceptos básicos del DOS;

<item> Linux, posiblemente con el sistema X Window (X11 para abreviar), está
adecuadamente instalado en su ordenador;

<item> su intérprete de órdenes (el equivalente de <tt/COMMAND.COM/) es
<tt/bash/;

</itemize>

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
<tt><htmlurl url="ftp://sunsite.unc.edu/pub/Linux/docs/howto"
name="ftp://sunsite.unc.edu/pub/Linux/docs/howto"></tt>.

<sect1>Ya está. Ahora cuénteme más.
<p>

Ha instalado Linux y los programas que necesita en su ordenador. Se ha
proporcionado una cuenta (si no, ¡teclee <tt/adduser suNombre/ <em/ahora
mismo/!) y Linux está ejecutándose. Acaba de introducir su nombre y su
contraseña, y ahora está mirando a la pantalla pensando...
<it/¿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: 

<itemize>
<item> ejecutar programas y crear, copiar, ver, borrar, imprimir, renombrar
ficheros; 

<item> cambiar de directorio, crearlos, borrarlos y listar sus contenidos;

<item> formatear disquetes y copiar ficheros de/hacia ellos;

<item> configuración del sistema;

<item> navegar por Internet;

<item> escribir ficheros <tt/.BAT/ y programas en su lenguaje favorito;

<item> el restante 1&percnt;.
</itemize>

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.

<sect2>Conceptos introductorios
<p>

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:

<itemize>

<item>Primero, cómo salir de Linux de manera segura. Si ve una pantalla en
modo texto, pulse &lt;Ctrl-Alt-Supr&gt;, 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
&lt;Ctrl-Alt-Retroceder&gt;, y después &lt;Ctrl-Alt-Supr&gt;. <em/Nunca/
apague o reinicie el ordenador directamente: podría dañar el sistema de
ficheros;

<item>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
<ref id="Permisos" name="Permisos">. DOS y Windows, por el contrario, le
dejarían machacar todo el contenido de su disco duro;

<item>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 <em/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;

<item>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;

<item>La redirección y el entubamiento (<it/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.

</itemize>

<sect2>Obtención de ayuda
<p>

Hay muchas maneras de conseguir ayuda con Linux. Las más importantes son:

<itemize>

<item><em/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: <it/Linux: Instalación y Primeros Pasos/ de Matt Welsh (<tt><htmlurl
url="http://sunsite.unc.edu/mdw/LDP/gs/gs.html"
name="http://sunsite.unc.edu/mdw/LDP/gs/gs.html"></tt>), la <it/Guía del
Usuario de Linux/ de Larry Greenfield (<tt><htmlurl
url="http://sunsite.unc.edu/pub/Linux/docs/linux-doc-project/users-guide"
name="http://sunsite.unc.edu/pub/Linux/docs/linux-doc-project/users-guide"></tt>),
y la lista PUF de Linux (respuestas a Preguntas de Uso Frecuente) (<tt><htmlurl
url="http://sunsite.unc.edu/mdw/FAQ/Linux-FAQ.html"
name="http://sunsite.unc.edu/mdw/FAQ/Linux-FAQ.html"></tt>.  Todos ellos pueden
conseguirse en <tt><htmlurl url="http://lucas.hispalinux.es"
name="http://lucas.hispalinux.es"></tt> en su versión traducida. Mantenga un
sentimiento de culpabilidad hasta haber leído al menos uno de ellos;

<item>La documentacion de los paquetes instalados en la máquina puede
encontrarse usualmente en los directorios bajo <tt>/usr/doc/</tt>;

<item>Para conseguir ayuda acerca de las «órdenes internas» del intérprete
de órdenes, teclee <tt/help/ o, mejor, <tt/man bash/ o <tt/info bash/;

<item>Para conseguir ayuda acerca de una orden, teclee <tt/man orden/, lo
cual invoca a la página del manual («man») correspondiente a <tt/orden/.
Alternativamente, teclee <tt/info orden/, lo cual mostrará la página info
relativa a <tt/orden/. info es un sistema de documentacion basado en
hipertexto. Quizá no es intuitivo en un principio. Finalmente, puede
intentar con <tt/apropos orden/ o <tt/whatis orden/. Con todas estas
órdenes, pulse 'q' para salir.

<item>Finalmente, en Internet: el lugar más adecuado para conseguir ayuda
es Usenet, en el foro <tt><htmlurl url="news:comp.os.linux.setup"
name="news:comp.os.linux.setup"></tt>. Por favor, no me envíe mensajes
solicitando ayuda, porque tengo bastante trabajo.

</itemize>

<sect1>Convenciones
<p>

A lo largo de este documento, los ejemplos seguirán el siguiente formato:
<tt/&lt;...&gt;/ significa algo que debe ser especificado, mientras que
<tt/[...]/ es algo opcional. Ejemplo:

<tscreen><verb>
$ tar -tf <fichero.tar> [> fichero_redir]
</verb></tscreen>

Debe indicar <tt>fichero.tar</tt>, pero la redirección a
<tt/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 '&num;', la
orden solo puede ser ejecutada por el root.

<sect>Para el Impaciente
<p>

¿Quiere empezar ya? Eche un vistazo a esta tabla: 

<!-- Me gustaría hacer de esto una tabla sgml, pero lynx no la mostraría
correctamente. -->

<tscreen><verb>
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!
</verb></tscreen>

Si necesita más que una tabla de órdenes, continúe con las secciones
siguientes. 

<sect>Encontrándose con bash
<p>

Buenas noticias: con Linux usted escribe mucho menos en la línea de órdenes,
porque el intérprete <tt>bash</tt> 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
&lt;TAB&gt; completa los nombres de ficheros y directorios, por lo que teclear

<tscreen><verb>
$ ls /uTABloTABbTAB
</verb></tscreen>

es como teclear

<tscreen><verb>
$ ls /usr/local/bin
</verb></tscreen>

Si hubiera ambigüedades, como al teclear

<tscreen><verb>
$ ls /uTABloTABiTAB
</verb></tscreen>

<tt>bash</tt> para porque no sabe si usted se refiere a
<tt>/usr/local/info</tt> o a <tt>/usr/local/include</tt>.
Proporcione más caracteres y pulse &lt;TAB&gt; de nuevo.

Otras combinaciones de teclas útiles son &lt;ESC-BACKSPACE&gt; que borra una
palabra a la izquierda, mientras que &lt;ESC-D&gt; borra una palabra a la
derecha; &lt;ESC-F&gt; mueve el cursor una palabra a la derecha, &lt;ESC-B&gt;
a la izquierda; &lt;CTRL-A&gt; mueve el cursor al principio de la línea,
&lt;CTRL-E&gt; al final. La tecla &lt;ALT&gt; es equivalente a &lt;ESC&gt;.

Suficiente por ahora. Una vez que se acostumbre a estas combinaciones de
teclas, encontrará bastante molesto el intérprete de órdenes de DOS.

<sect>Ficheros y Programas
<p>

<sect1>Ficheros: Nociones preliminares
<p>

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:

<itemize> 

<item>Bajo DOS, los nombres de ficheros están en el llamado formato 8.3;
por ejemplo <tt>NOTENOUG.TXT</TT>. 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, <tt>Este_es.un.nombre_de.fichero.MUY.largo</TT>.
Fíjese que he utilizado tanto mayúsculas como minúsculas: en efecto... 
 
<item>Las mayúsculas y las minúsculas en nombres de ficheros u órdenes son
distintas. Por lo tanto, <tt/FICHERO.tar.gz/, y <tt/fichero.tar.gz/ son
dos ficheros distintos. <tt/ls/ es una orden, <tt/LS/ es un error;

<item>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:

<tscreen><verb>
$ # la siguiente orden crea un directorio llamado "Mis ficheros antiguos"
$ mkdir "Mis ficheros antiguos"
$ ls
Mis ficheros antiguos   	bin		tmp
</verb></tscreen>

No deben usarse ciertos caracteres: algunos son <tt/!*&dollar;&amp;&num;/.

<item>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 <tt/ls -F/. Por ejemplo:

<tscreen><verb>
$ ls -F
cindy.jpg    cjpg*    Soy_un_directorio/  mi_1er_script*  old~
</verb></tscreen>

Los ficheros <tt>cjpg*</tt> y <tt>mi_1er_script*</tt> son «programas»
ejecutables. Bajo DOS, las copias de seguridad de los ficheros suelen acabar en
<tt/.BAK/, mientras que bajo Linux acaban con un virgulilla &tilde;. Un fichero
cuyo nombre empieza con un punto es considerado como oculto. Ejemplo: el
fichero <tt/.Soy.un.fichero.oculto/ no se mostrará a un orden <tt/ls/; 

<item>Las opciones de los programas bajo DOS se obtienen con <tt>/opción</tt>.
En Linux se obtienen con <tt/-opción/ o <tt/--opción/.  Ejemplo: <tt>dir
/s</tt> se convierte en <tt>ls -R</tt>. Fíjese en que muchos programas DOS
(como <tt/PKZIP/ o <tt/ARJ/) utilizan opciones de tipo Unix.

</itemize>

Ahora puede saltar a la sección <ref id="Traduciendo" name="de equivalencias">,
pero yo de usted seguiría leyendo.

<sect1>Enlaces simbólicos
<p>

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
<tt>/usr/X11</tt>, que apunta a <tt>/usr/X11R6</tt>; <tt>/dev/modem</tt>, que
apunta a <tt>/dev/ttyS0</tt> o a <tt>/dev/ttyS1</tt>.

Para crear un enlace simbólico:

<tscreen><verb>
$ ln -s <fichero_o_directorio> <nombre_del_enlace>
</verb></tscreen>

Ejemplo:

<tscreen><verb>
$ ln -s /usr/doc/g77/DOC g77manual.txt
</verb></tscreen>

Ahora puede referirse a <tt/g77manual.txt/ en lugar de
<tt>/usr/doc/g77/DOC</tt>. Los enlaces aparecen en los listados de
directorio así:

<tscreen><verb>
$ ls -F
g77manual.txt@
$ ls -l
l(muchas cosas...)             g77manual.txt -> /usr/doc/g77/DOC
</verb></tscreen>

<sect1> Permisos y Propiedades 
<label id="Permisos">
<p>

Los ficheros y directorios de DOS tienen los siguientes atributos: <tt/A/
(fichero), <tt/H/ (oculto), <tt/R/ (sólo-lectura), y <tt/S/ (sistema). 
Sólo <tt/H/ y <tt/R/ tienen sentido bajo Linux: los ficheros ocultos
comienzan con un punto, y los de sólo lectura, tienen activado el permiso
<tt/r/, pero nada más. 

Bajo Unix un fichero tiene «permisos» y un propietario, que pertenece a
un «grupo». Mire este ejemplo:

<tscreen><verb>
$ ls -l /bin/ls
-rwxr-xr-x  1  root  bin  27281 Aug 15 1995 /bin/ls*
</verb></tscreen>

El primer campo contiene los permisos del fichero <tt>/bin/ls</tt>, que
pertenece a <tt/root/, del grupo <tt/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 <tt/-rwxr-xr-x/ (de izquierda a derecha):

<tt/-/ es el tipo de fichero (<tt/-/ = fichero normal, <tt/d/ =
directorio, <tt/l/ = enlace, etc.); <tt/rwx/ son los permisos del
propietario del fichero (leer, escribir, ejecutar); <tt/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 ;-)
<tt/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 <tt>/bin/ls</tt> a
menos que sea root: no tiene el permiso de escritura para hacer eso. Para
cambiar los permisos de un fichero, la orden es: 

<tscreen><verb>	
$ chmod <quiénXperm> <fichero>
</verb></tscreen>

donde <tt/quién/ podría ser:

<itemize>
<item><tt/u/ usuario, que es el propietario,
<item><tt/g/ (grupo), 
<item><tt/o/ (otros).
</itemize>

<tt/X/ puede ser tanto <tt/+/ como <tt/-/, y  <tt/perm/ puede ser:

<itemize>
<item><tt/r/ (lectura), 
<item><tt/w/ (escritura)
<item><tt/x/ (ejecución). 
</itemize>

Ejemplos: 

<tscreen><verb>
$ chmod u+x fichero
</verb></tscreen>

esto habilita el permiso de ejecución para el propietario del fichero.
Atajo: <tt/chmod +x fichero/. 

<tscreen><verb>
$ chmod go-wx fichero
</verb></tscreen>

esto quita el permiso de escritura y de ejecución para todo el mundo menos
al usuario. 

<tscreen><verb>
$ chmod ugo+rwx fichero
</verb></tscreen>

esto le da a todo el mundo el permiso de lectura, escritura y ejecución. 

<tscreen><verb>
$ chmod +s fichero
</verb></tscreen>

esto convierte al fichero en <it/setuid/ o <it/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: <tt/rwxr-xr-x/
puede ser expresado como <tt/755/ (cada letra corresponde a un bit:
<tt>---</tt> es 0, <tt>--x</tt> es 1, <tt/-w-/ es 2, <tt/-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.

<sect1>Ficheros: órdenes equivalentes
<label id="Traduciendo">
<p>

A la izquierda, las órdenes de DOS; a la derecha, sus equivalentes en Linux. 

<tscreen><verb>
COPY:         cp
DEL:          rm
MOVE:         mv
REN:          mv
TYPE:         more, less, cat
</verb></tscreen>

Operadores de redirección y de tuberías: 

<tt>&lt; &gt; &gt;&gt;  &verbar;</tt>

Comodines: <tt>* ?</tt>

<tscreen><verb>
nul: /dev/null

prn, lpt1:  /dev/lp0 o /dev/lp1; lpr
</verb></tscreen>

EJEMPLOS

<tscreen><verb>
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
</verb></tscreen>

Notas:

<itemize>

<item><tt/*/ es más inteligente bajo Linux: <tt/*/ equivale a todos los
ficheros excepto los ocultos; <tt/.*/ equivale a todos los ficheros ocultos;
<tt/*.*/ equivale sólo a aquellos ficheros que tienen un punto en medio del
nombre, seguido de otros caracteres; <tt/p*r/ equivaldría tanto a <tt/peor/
como a <tt/por/;  <tt/*c*/ equivaldría tanto a <tt/pecado/ como a <tt/peca/. 

<item>Cuando utilice <tt/more/, pulse espacio para ir leyendo a través del
fichero, <tt/q/ o Ctrl-C para salir. <tt/less/ es más intuitivo y permite
utilizar las teclas del cursor;

<item>No hay <tt/UNDELETE/, así que <em/piénselo dos veces/ antes de borrar
cualquier cosa;

<item>Además de los &lt; &gt; &gt;&gt; del DOS, Linux tiene el operador
<tt/2&gt;/ para redirigir los mensajes de error (stderr); más aún, el
operador <tt/2&gt;&amp;1/ redirige stderr a stdout (la salida estándar),
mientras que <tt/1&gt;&amp;2/ redirige stdout a stderr;

<item>Linux tiene otro comodín: los corchetes <tt/[]/. Usar <tt/[abc]*/
equivale a los ficheros que empiezan por <tt/a/, por <tt/b/ o por <tt/c/; 
<tt/*[I-N,1,2,3]/ equivale a los ficheros que acaban por <tt/I, J, K, L,
M, N, 1, 2, 3/;

<item>No hay un <tt/RENAME/ como en DOS; esto es, <tt/mv *.xxx *.yyy/ no
funciona. Un orden similar a REN está disponible en
<tt><htmlurl url="ftp://sunsite.unc.edu/pub/Linux/utils/file"
name="ftp://sunsite.unc.edu/pub/Linux/utils/file"></tt>;

<item>Use <tt/cp -i/ y <tt/mv -i/ para ser avisado cuando un fichero vaya
a ser sobreescrito. 

</itemize>

<sect1>Ejecución de programas: Multitarea y Sesiones
<p>

Para ejecutar un programa, escriba su nombre tal y como lo haría bajo DOS.  Si
el directorio ---vea la sección <ref id="Directorios" name="Directorios">---
donde el programa está guardado está incluido en la variable de entorno
<tt/PATH/ ---sección <ref id="Inicializacion" name="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 «<tt/./») esté incluido en el PATH.
Para evitarlo, suponiendo que el programa se llame <tt/prog/, teclee
<tt>./prog</tt>.

Este es el aspecto típico de una línea de órdenes:

<tscreen><verb>
$ orden [-o1 [-o2] ... [-on]] [par1 [par2] ... [parn]]  [< input] [> output]
</verb></tscreen>

donde <tt/-o1/, ..., <tt/-on/ son las opciones del programa, <tt/par1/,
..., <tt/parn/ son los parámetros del programa. Puede encadenar varias
órdenes en la línea de órdenes: 

<tscreen><verb>
$ orden1 ; orden2 ; ... ; ordenN
</verb></tscreen>

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
(<it/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. 

<itemize>

<item> Para cambiar a la sesión 1..6 de las consolas virtuales, presione
&lt;ALT-F1&gt; ... &lt;ALT-F6&gt;

<item> Para comenzar una nueva sesión en la misma consola virtual sin
dejar la actual, teclee <tt/su - &lt;nombre_de_usuario&gt;/. Ejemplo:
<tt/su - root/.  Esto es útil, por ejemplo, cuando se necesita realizar
una tarea que sólo el root puede hacer.

<item> Para acabar una sesión, teclee <tt/exit/. Si hay trabajos parados
(ver más abajo), será avisado.

<item> Para lanzar un proceso en segundo plano, añada un '<tt/&amp;/',
al final de la línea de órdenes:

</itemize>

<tscreen><verb>
$ nomprog [-opciones] [parametros] [< input] [> output] &
[1] 123
</verb></tscreen>

<itemize>

el intérprete de órdenes identifica el proceso con un número de
trabajo (p.e. <tt/[1]/; ver más abajo), y con un PID (123 en nuestro
ejemplo).

<item>Para ver cuántos procesos hay, teclee <tt/ps ax/. Esto generará
una lista de procesos actualmente en ejecución.

<item> Para matar (finalizar) un proceso, teclee <tt/kill &lt;PID&gt;/.
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
<tt/kill -SIGKILL &lt;PID&gt;/.

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).

<item> Para ver cuántos trabajos hay, teclee <tt/jobs/. Aquí los trabajos
son identificados por su número de trabajo, no por su PID.

<item> Para parar un proceso ejecutándose en primer plano pulse
&lt;CTRL-C&gt; (no siempre funciona).

<item> Para suspender un proceso ejecutándose en primer plano, pulse
&lt;CTRL-Z&gt; (ídem al anterior).

<item> Para mandar un proceso suspendido al segundo plano (convirtiéndolo
en trabajo), teclee <tt/bg &lt;trabajo&gt;/.

<item> Para traer un trabajo al primer plano, teclee
<tt/fg &lt;%trabajo&gt;/. Para traer al primer plano el último trabajo
enviado al segundo plano, simplemente teclee <tt/fg/.

<item> Para matar un trabajo, teclee <tt/kill &lt;%trabajo&gt;/
donde <tt/trabajo/ puede ser 1, 2, 3...

</itemize>

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).


<sect1>Ejecución de programas en sistemas remotos
<p>

Para ejecutar un programa en una máquina remota cuyo nombre es
<tt/maquina.remota.edu/, teclee:

<tscreen><verb>
$ telnet maquina.remota.edu
</verb></tscreen>

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
<tt/maquina.remota.edu/ la máquina X remota y <tt/sistema.linux.yo/ su
máquina Linux. Para ejecutar desde <tt/sistema.linux.yo/ un programa X
que reside en <tt/maquina.remota.edu/, haga lo siguiente:

<itemize>

<item>arranque X, arranque un xterm o un emulador de terminal
equivalente, y después teclee:

<tscreen><verb>
$ xhost +maquina.remota.edu
$ telnet maquina.remota.edu
</verb></tscreen>

<item>tras introducir su nombre y contraseña, teclee:

<tscreen><verb>
remote:$ DISPLAY=sistema.linux.yo:0.0
remote:$ programa &
</verb></tscreen>

(en vez de <tt/DISPLAY.../, puede que tenga que escribir <tt/setenv
DISPLAY sistema.linux.yo:0.0/. Depende del intérprete de órdenes remoto).

</itemize>

Y.. ¡voila! Ahora <tt/programa/ se iniciará en <tt/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
<tt><htmlurl url="http://sunsite.unc.edu/LDP/HOWTO/mini/Remote-X-Apps"
name="http://sunsite.unc.edu/LDP/HOWTO/mini/Remote-X-Apps"></tt>.

<sect>Gestión de Directorios
<label id="Directorios">
<p>

<sect1>Directorios: Nociones preliminares
<p>

Hemos visto las diferencias entre los ficheros de DOSWin y Linux. Entre
directorios, bajo DOSWin el directorio raíz es <tt/&bsol;/ y bajo Linux es
<tt>/</tt> . De manera similar, los directorios anidados se separan
mediante <tt/&bsol;/ en DOSWin y mediante <tt>/</tt> en Linux. Ejemplo de
rutas de fichero: 

<tscreen><verb>
DOS:    C:\PAPERS\GEOLOGY\MID_EOC.TEX
Linux:  /home/guido/papers/geology/middle_eocene.tex
</verb></tscreen>
 
Como es normal, <tt/../ es el directorio padre y <tt/./ es el directorio
actual.  Recuerde que el sistema no le dejará hacer <tt/cd/, <tt/rd/ o
<tt/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
<tt>/home/guido</tt>.

<sect1>Permisos de directorios. 
<label id="Permisos de directorios">
<p>

Los directorios también tienen permisos. Lo que hemos visto en la sección
<ref id="Permisos" name="Permisos"> también rige para los directorios (usuario,
grupo, y otros). Para un directorio, <tt/rx/ significa que puede cambiar a ese
directorio, y <tt/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
<tt>/home/guido/text</tt>: 

<tscreen><verb>
$ chmod o-rwx /home/guido/text
</verb></tscreen>

<sect1>Equivalencia de órdenes
<label id="dirtrad">
<p>

<tscreen><verb>
DIR:            ls, find, du
CD:             cd, pwd
MD:             mkdir
RD:             rmdir
DELTREE:        rm -R
MOVE:           mv
</verb></tscreen>

EJEMPLOS

<tscreen><verb>
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
</verb></tscreen>

Notas:

<itemize>

<item> Cuando se use <tt/rmdir/, el directorio a borrar debe estar vacío.
Para borrar un directorio y todos sus contenidos, use <tt/rm -rf/ (bajo su
propia responsabilidad). 

<item> El carácter <tt/&tilde;/ es un atajo para el nombre de su
directorio personal. Las órdenes <tt/cd/ o <tt/cd ~/ le llevarán
a su directorio personal desde dondequiera que esté; la orden <tt>cd
~/tmp</tt> le llevará a <tt>/home/su_directorio_de_usuario/tmp</tt>.

<item><tt/cd -/ «deshace» el último <tt/cd/.

</itemize>

<sect> Disquetes, discos duros y similares.
<label id="Disquetes">
<p>

Hay dos maneras de adminsitrar dispositivos bajo Linux: a la manera de DOS
y a la manera de UNIX. Elija.

<sect1>Administración de dispositivos en «modo DOS»
<p>

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.,
<tt/mformat/, <tt/mdir/, <tt/mmd/, <tt/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
<tt>/etc/mtools.conf</tt> (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 <tt/mformat/ no funcionará. Como root, tendrá que ejecutar esta
orden con anterioridad: <tt> fdformat /dev/fd0H1440 </tt>

Nota: no podrá acceder a los ficheros del disquete con una orden como, por
ejemplo, <tt>less a:fich.txt</tt>. Esta es la desventaja de la manera DOS
de montar discos.

<sect1>Administración de dispositivos en «modo UNIX»
<p>

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 <tt/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:

<tscreen><verb>
# mkfs -t ext2 -c /dev/fd0H1440
</verb></tscreen>

Puede utilizar <tt/dos/, <tt/vfat/ (recomendado) u otros formatos en
lugar de <tt/ext2/. Una vez que el disco esté preparado, móntelo con la
orden

<tscreen><verb>
# mount -t ext2 /dev/fd0 /mnt
</verb></tscreen>

especificando el sistema de ficheros correcto si no utiliza <tt/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 <tt>/mnt</tt>.
Ejemplos:

<tscreen><verb>
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/$ _
</verb></tscreen>


Cuando haya acabado, antes de sacar el disco <em/deberá/ desmontarlo con
la orden 

<tscreen><verb>
# umount /mnt
</verb></tscreen>

Obviamente, debe hacer un <tt/fdformat/ y un <tt/mkfs/ sólo a los discos no
formateados, que no han sido usados nunca. Si quiere utilizar la unidad B:,
ponga <tt/fd1H1440/ y <tt/fd1/ en lugar de <tt/fd0H1440/ y <tt/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: 

<tscreen><verb>
# mount -t iso9660 /dev/cdrom /mnt
</verb></tscreen>

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:

<itemize>

<item>como root, hacer lo siguiente:

<tscreen><verb>
# 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*
</verb></tscreen>

 
<item>añadir en <tt>/etc/fstab</tt> las siguientes líneas:

<tscreen><verb>
/dev/cdrom        /mnt/cdrom    iso9660   ro,user,noauto          0       0
/dev/fd0          /mnt/floppy   vfat      user,noauto             0       0
</verb></tscreen>
</itemize>

Ahora, para montar un disquete DOS y un CD-ROM:

<tscreen><verb>
$ mount /mnt/floppy
$ mount /mnt/cdrom
</verb></tscreen>

Cualquier usuario puede acceder a <tt>/mnt/floppy</tt>,
<tt>/mnt/a:</tt>, y <tt>/mnt/cdrom</tt>. 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 <tt/df/, que da información acerca de los sistemas
de ficheros montados, y <tt/du nombredir/ que informa del espacio de
disco consumido por el directorio.

<sect1>Copias de seguridad 
<label id="Copias de Seguridad">
<p>

Hay muchos paquetes que pueden servirle, pero lo más simple para hacer una
copia de seguridad multivolumen (como root) es:

<tscreen><verb>
# tar -M -cvf /dev/fd0H1440 /directorio_a_guardar
</verb></tscreen >

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: 

<tscreen><verb>
# tar -M -xpvf /dev/fd0H1440
</verb></tscreen>


<sect> ¿Qué pasa con Windows?
<p>

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:

<itemize>

<item>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: <tt/fvwm/, basico pero agradable y eficiente con
el consumo de memoria, <tt/fvwm2-95/, <tt/Afterstep/, <tt/WindowMaker/,
<tt/Enlightenment/, y muchos más. El gestor de ventanas es normalmente
llamado por un fichero denominado <tt/.xinitrc/;

<item>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;

<item>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 <tt/.fvwmrc/,
<tt/.fvwm2rc95/, <tt/.steprc/, etc. Un fichero ejemplo de configuración
suele encontrarse en
<tt>
/etc/X11/nombre-de-gestor-de-ventanas/system.nombre-gestor-ventanas</tt>;

<item>Las aplicaciones X11 se escriben empleando unas bibliotecas
especiales (<it/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; <tt/xdvi/, <tt/xman/,
<tt/xcalc/); otras usan Motif (<tt/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;

<item>La manera de comportarse, desafortunadamente, puede no ser
coherente. Por ejemplo, si selecciona una línea de texto utilizando el
ratón y pulsa &lt;RETROCEDER&gt;, esperará que la línea desaparezca,
¿verdad? Esto no sucede con aplicaciones basadas en Athena, pero sucede
con aplicaciones basadas en otros controles;

<item>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;

<item>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 <tt/xsetroot/ o <tt/xloadimage/;

<item>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, <tt/xclipboard/, que proporciona varios
portapapeles;

<item>Arrastrar y soltar es una opción, y está disponible solamente si
usted utiliza aplicaciones X11 que la permitan.

</itemize>

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,
<tt><htmlurl url="http://www.gnome.org" name="http://www.gnome.org"></tt>
y KDE, <tt><htmlurl url="www.kde.org" name="www.kde.org"></tt> son un
ejemplo. Pruébelos: no echará de menos su escritorio Windows nunca más.

<sect>Personalización del sistema
<p>

<sect1>Ficheros de inicialización del sistema
<label id="Inicializacion">
<p>

Dos ficheros importantes bajo DOS son el <tt/AUTOEXEC.BAT/ y el
<tt/CONFIG.SYS/, los cuales se utilizan al rearrancar el sistema para
inicializarlo, dar valores a algunas variables de entorno como <tt/PATH/ y
<tt/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:

<tscreen><verb>
FICHEROS             NOTAS
/etc/inittab         ¡no tocar por ahora!
/etc/rc.d/*          idem
</verb></tscreen>

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:

<tscreen><verb>
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 
</verb></tscreen>

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 <tt/.bash_profile/:

<tscreen><verb>
# 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
</verb></tscreen>

<tt/&dollar;PATH/ y <tt/&dollar;LOGNAME/, lo adivinó, son variables de
entorno.  Hay muchas otras con las que jugar; para buscar ejemplos, LPM
de aplicaciones como <tt/less/.

Poner esta línea en su <tt>/etc/profile</tt> le proporcionará el
equivalente de <tt>PROMPT $P$G</tt>;

<tscreen><verb>
export PS1="\w\\$ "
</verb></tscreen>

<sect>Ficheros de inicialización de programas
<p>

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
<tt/.nombreprogramarc/, situados en su directorio <tt/home/. Los primeros
que querrá modificar son:

<itemize>

<item> <tt/ .inputrc/: usado por <tt/bash/ para definir significados de
teclas;
<item> <tt/ .xinitrc/: usado por <tt/startx/ para inicializar el sistema
X Window;
<item> <tt/ .fvwmrc/: usado por el gestor de ventanas <tt/fvwm/. 
<item> <tt/ .joerc/: usado por el editor <tt/joe/;
<item> <tt/ .jedrc/: usado por el editor <tt/jed/;
<item> <tt/ .pinerc/: usado por el lector de correo <tt/pine/;
<item> <tt/ .Xdefault/: usado por muchos programas X.

</itemize>

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»
<tt><htmlurl url="http://sunsite.unc.edu/mdw/HOWTO/Config-HOWTO.html"
name="http://sunsite.unc.edu/mdw/HOWTO/Config-HOWTO.html"></tt>.

<sect> Trabajo en red: conceptos
<p>

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 <tt>pine</tt>, <tt>mutt</tt>, <tt>elm</tt> 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 <tt>diald</tt>
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 <tt><htmlurl url="http://samba.anu.edu.au/samba"
name="http://samba.anu.edu.au/samba"></tt>.

<sect> Un poco de programación
<p>

<sect1>Rutinas del Intérprete de Comandos: Ficheros .BAT con esteroides 
<label id="Scripts">
<p>

Si ha utilizado ficheros <tt/.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 <tt/profile/ o en el
<tt/.bash_profile/. Pero si sus ficheros <tt/.BAT/ son más complicados, le
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
<tt/while/, <tt/for/, <tt/case/, <tt/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
<tt/.BAT/ bajo DOS--- todo lo que tiene que hacer es escribir un fichero
ASCII estándar que contenga las instrucciones, guardarlo, y entonces
hacerlo ejecutable con la orden <tt>chmod +x fichero</tt>. Para
ejecutarlo, teclee su nombre. 

Aviso: el editor del sistema se llama <tt/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:

<itemize>
<item>para insertar texto, pulse `i' y después el texto;
<item>para borrar caracteres, teclee <tt/ESC/ y después `x';
<item>para salir de <tt/vi/ sin guardar, pulse <tt/ESC/ y después <tt/:q!/
<item>para guardar y salir, pulse <tt/ESC/ y luego <tt/:wq/
</itemize>

<tt>joe</tt> es un buen editor para novatos: llámelo tecleando <tt/jstar/
y tendrá los mismos atajos de teclas que en el editor de DOSWin.
<tt>jed</tt> en modo WordStar o IDE es incluso mejor. Por favor, consulte
la sección <ref id="Programas" name="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: 

<tscreen><verb>
#!/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'." 
</verb></tscreen>

<sect1>Sus programas en C
<p>

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
<tt/hello.c/:

<tscreen><verb>
$ gcc hello.c
</verb></tscreen>

lo que creará un fichero ejecutable llamado <tt/a.out/. Para cambiar el
nombre del ejecutable a otro nombre: 

<tscreen><verb>
$ gcc -o hola hello.c
</verb></tscreen>

Para enlazar una librería al programa, añada la opción
<tt/-lnombre_de_librería/. Por ejemplo, para enlazar la librería
<tt/math/:

<tscreen><verb>
$ gcc -o mathprog mathprog.c -lm
</verb></tscreen>

(<tt/-lnombre_libreria/ fuerza a gcc a enlazar la librería
<tt>/usr/lib/libnombre_librería.a</tt>; por lo tanto <tt/-lm/ enlaza
<tt>/usr/lib/libm.a</tt>). 

Bien. Pero cuando su programa está compuesto por varios ficheros de código
fuente, necesitará usar la utilidad <tt/make/. Supongamos que ha escrito un
evaluador de expresiones: su código fuente se denomina <tt/parser.c/ e tiene un
<tt/&num;include/ de dos ficheros en su cabecera: <tt/parser.h/ y <tt/xy.h/.
Entonces, desea utilizar las rutinas de <tt/parser.c/ en otro programa,
<tt/calc.c/, que hace un <tt/#include/ de <tt/parser.h/. ¡Vaya lío! ¿Cómo se
puede compilar <tt/calc.c/? 

Debe escribir un fichero llamado <tt/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: 

<tscreen><verb>
# 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.
</verb></tscreen>

Guarde esto como <tt/Makefile/ y teclee

<tscreen><verb>
$ make
</verb></tscreen>

para compilar su programa. Guárdelo como <tt/calc.mak/ de forma
alternativa y teclee

<tscreen><verb>
$ make -f calc.mak
</verb></tscreen>

Y, por supuesto, LPM.

Puede pedir ayuda acerca de las funciones de C, que se encuentra en las
páginas <tt/man/, sección 3; por ejemplo: 

<tscreen><verb>
$ man 3 printf
</verb></tscreen>

Hay muchas librerías disponibles por ahí; entre las primeras que deseará usar
están las <tt/ncurses/ (efectos en modo texto) y <tt/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 <tt><htmlurl
url="http://www.xnet.com/~blatura/linapp6.html"
name="http://www.xnet.com/~blatura/linapp6.html"></tt>, teniendo en cuenta el
hecho de que Gtk se está volviendo un estándar.

Muchos editores pueden actuar como IDE. <tt/emacs/ y <tt/jed/, por ejemplo,
proporcionan marcado de sintaxis, indentación automática, y cosas similares. De
manera alternativa, consiga el paquete <tt/rhide/ de <tt><htmlurl
url="ftp://sunsite.unc.edu:/pub/Linux/devel/debuggers/"
name="ftp://sunsite.unc.edu:/pub/Linux/devel/debuggers/"></tt>.  Es un clon del
IDE de Borland, y cabe la posibilidad de que le guste.

<sect>El restante 1&percnt;
<p>

Mucho más que un 1&percnt;, en realidad...

<sect1>Utilización de <tt>tar</tt> y <tt>gzip</tt>
<p>

Bajo Unix hay algunas aplicaciones ampliamente utilizadas para archivar y
comprimir ficheros. <tt/tar/ se utiliza para archivar varios ficheros en uno
---es como <tt/PKZIP/ o <tt>Winzip</tt>, pero no comprime, sólo archiva. Para
archivar varios ficheros en uno (que llamaremos archivo de ahora en adelante):

<tscreen><verb>
$ tar -cvf <nombre_fichero_final.tar> <fichero1> [fichero2...]
</verb></tscreen>

Para extraer ficheros de un archivo:

<tscreen><verb>
$ tar -xpvf <nombre_fichero.tar> [fichero]
</verb></tscreen>

Para listar los ficheros contenidos de un archivo:

<tscreen><verb>
$ tar -tf <nombre_fichero.tar> | less
</verb></tscreen>

Puede comprimir los ficheros usando <tt/compress/, el cual es obsoleto y
no debería ser utilizado nunca más, o usando <tt/gzip/:

<tscreen><verb>
$ compress <fichero>
$ gzip <fichero>
</verb></tscreen>

eso crea un fichero comprimido con la extensión <tt/.Z/ (compress) o
<tt/.gz/ (gzip). Estos programas sólo pueden comprimir un fichero cada
vez. Para descomprimir, use:

<tscreen><verb>
$ compress -d <fichero.Z>
$ gzip -d <fichero.gz>
</verb></tscreen>

LPM.

Hay también utilidades <tt/unarj/, <tt/zip/ y <tt/unzip/ (compatibles con
ARJ y PK??ZIP). Los ficheros con la extensión <tt/.tar.gz/ o <tt/tgz/
(archivados con <tt/tar/, posteriormente comprimidos con <tt/gzip/) son
tan comunes en el mundo Unix como los ficheros <tt/.ZIP/ bajo DOS. Para
listar los contenidos de un fichero <tt/.tar.gz/ utilice:

<tscreen><verb>
$ gzip -dc <fichero.tar.gz> | tar tf - | less
</verb></tscreen>

o también:

<tscreen><verb>
$ tar -cvzf <fichero.tar.gz>
</verb></tscreen>


<sect1>Instalación de aplicaciones
<p>

Antes de nada: instalar paquetes es trabajo del root. La mayoría de las
aplicaciones Linux se distribuyen como ficheros <tt/.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
<tt>/usr/local</tt> con la orden

<tscreen><verb>
# tar -zxf <archive.tar.gz>
</verb></tscreen>

leyendo después el fichero <tt/README/ o <tt/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 <tt>make</tt> y después <tt>make
install</tt>.  Si el archivo contiene una rutina <tt>configure</tt> ejecútela
primero.  Obviamente, necesitará el compilador <tt>gcc</tt> o <tt>g++</tt>.

Algunos archivos deben ser desempaquetados desde el directorio raíz; éste
es el caso de los archivos <tt/.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,
<tt/.deb/ y <tt>.rpm</tt>. El último está ganando una amplia aceptación; para
instalar un paquete <tt>rpm</tt>, teclee

<tscreen><verb>
# rpm -i package.rpm
</verb></tscreen>

<sect1>Trucos imprescindibles
<p>

<bf/Visión de pantallas anteriores/: presionar &lt;MAYÚS + RE PÁG&gt; (la tecla
gris) le permite volver atrás unas cuantas páginas, dependiendo de la memoria
de vídeo que posea.

<bf/Resetear la pantalla/: si por un casual hace un <tt/cat/ o un <tt/more/ de
un fichero binario, su pantalla puede acabar llena de basura.  Para arreglar
las cosas, teclee <tt/reset/ a ciegas o pulse esta secuencia de caracteres:
<tt/echo CTRL-V ESC c RETURN/.

<bf/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 <tt/xclipboard/ (portapapeles de X) (de momento, sólo para
texto); no se confunda por su muy baja velocidad de respuesta.

<bf/Usar el ratón/: instale <tt/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.

<bf/Mensajes del núcleo/: échele un vistazo a <tt>/var/adm/messages</tt> o
<tt>/var/log/messages</tt> como root para ver lo que el núcleo le dice,
incluyendo los mensajes de inicio. La orden <tt>dmesg</tt> también es útil.

<sect1> ¿Dónde encontrar aplicaciones? 
<label id="Programas">
<p>

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: <tt><htmlurl url="ftp://sunsite.unc.edu/pub/Linux"
name="ftp://sunsite.unc.edu/pub/Linux"></tt>, <tt><htmlurl
url="ftp://tsx-11.mit.edu/pub/linux"
name="ftp://tsx-11.mit.edu/pub/linux"></tt>, y <tt><htmlurl
url="ftp://ftp.funet.fi/pub/Linux" name="ftp://ftp.funet.fi/pub/Linux"></tt>.
Otros buenos lugares para empezar son la «Página de Utilidades y Aplicaciones
para Linux» <tt><htmlurl url="http://www.xnet.com/~blatura/linapps.shtml"
name="http://www.xnet.com/~blatura/linapps.shtml"></tt>, y la página «oficial»
de Linux <tt><htmlurl url="http://www.linux.org"
name="http://www.linux.org"></tt>.

<sect1>Unas cuantas cosas que Usted no podía hacer
<p>

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:

<itemize>
<item> <tt/at/ le permite ejecutar programas a una hora determinada;
<item> <tt/awk/ es un lenguaje simple pero potente para manipular ficheros
de datos (y no sólo de datos). Por ejemplo, siendo <tt/data.dat/ su
fichero de datos con varios campos,

<tscreen><verb>
$ awk '$2 ~ "abc" {print $1, "\t", $4}' data.dat
</verb></tscreen>

imprime los campos 1 y 4 de cada línea de <tt/data.dat/ cuyo segundo campo
contenga la cadena «abc».

<item> <tt/cron/ es útil para realizar tareas periódicamente, en una
fecha y hora determinadas. Escriba <tt/man 5 crontab/.

<item> <tt/find/ (vea también sección <ref id="dirtrad" name="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 <tt/find/ es:

<tscreen><verb>
$ find <directorio> <expresión>
</verb></tscreen>

donde &lt;expresión&gt; incluye los criterios de búsqueda y las acciones.
Ejemplos:

<tscreen><verb>
$ find . -type l -exec ls -l {} \;
</verb></tscreen>

encuentra todos los ficheros que son enlaces simbólicos y muestra a quién
apuntan.

<tscreen><verb>
$ find / -name "*.old" -ok rm {} \;
</verb></tscreen>

encuentra todos los ficheros que ajusten con el patrón y los borra,
pidiendo su permiso primero.

<tscreen><verb>
$ find . -perm +111
</verb></tscreen>

encuentra todos los ficheros cuyos permisos ajusten con 111 (ejecutables).

<tscreen><verb>
$ find . -user root
</verb></tscreen>

encuentra todos los ficheros que pertenecen al root. Hay cientos de
posibilidades. LPM.

<item> <tt/grep/ busca patrones de texto en ficheros. Por ejemplo,

<tscreen><verb>
$ grep -l "geología" *.txt
</verb></tscreen>

lista todos los ficheros <tt/*.txt/ que contengan la palabra «geología». La
variante <tt/zgrep/ trabaja con ficheros comprimidos con gzip. LPM;

<item> <bf/Las expresiones regulares/ son un método complejo pero muy potente
de efectuar operaciones de búsqueda en un texto. Por ejemplo,
<tt>^a[^a-m]X{4,}txt&dollar;</tt> 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, <tt>less</tt>, y muchas otras aplicaciones.  <tt>man grep</tt> para
una introducción.

<item> <tt/script &lt;fichero_script&gt;/ vuelca los contenidos de la
pantalla en <tt/fichero_script/ hasta que teclee la orden <tt/exit/.
Es útil para depuración;

<item> <tt/sudo/ permite a usuarios efectuar algunas tareas propias del
root, como por ejemplo, formatear y montar discos; LPM);

<item> <tt/uname -a/ le da información acerca de su sistema;

<item> <tt/zcat/ y <tt/zless/ son útiles para visualizar y trabajar con
ficheros comprimidos mediante gzip sin necesidad de descomprimirlos.
Por ejemplo:

<tscreen><verb>
$ zless textfile.gz
$ zcat textfile.gz | lpr
</verb></tscreen>

<item> Los siguientes órdenes son útiles a menudo: <tt>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. </tt>
LPM.

</itemize>


<sect1> Practicando UNIX bajo DOS/Windows
<p>

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 (<tt><htmlurl
url="http://www.delorie.com/djgpp" name="http://www.delorie.com/djgpp"></tt>)
para DOS, mientras que Cygnus (<tt><htmlurl url="http://www.cygnus.com"
name="http://www.cygnus.com"></tt>) 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): <tt>djdev202.zip, bnu281b.zip, bsh1147b.zip, fil316b.zip,
find41b.zip, grep22b.zip, gwk303b.zip, lss332b.zip, shl112b.zip.</tt>. Se
proporcionan instrucciones de instalación, y puede encontrar ayuda en
<tt><htmlurl url="news:comp.os.msdos.djgpp"
name="news:comp.os.msdos.djgpp"></tt>.

En particular, utilizar <tt>bash</tt> bajo DOSWin es una bocanada de
aire fresco. Para configurarlo adecuadamente, edite el fichero
<tt>BOOT.BAT</tt> 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:

<tscreen><verb>
# 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 ..'
</verb></tscreen>

<tscreen><verb>
# 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
</verb></tscreen>


<sect1>Extensiones comunes y programas relacionados
<p>
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:

<itemize>

<item><tt>1 ... 8</tt>: páginas de manual. Léalas con
<tt>groff -Tlatin1 -man &lt;file.1&gt;</tt>.

<item><tt>arj</tt>: archivo hecho con <tt/arj/.

<item><tt>dvi</tt>: fichero de salida producido por TeX (ver más abajo).
Use <tt/xdvi/ para visualizarlo; Use <tt/dvips/ para transformarlo en un
fichero PostScript (<tt/.ps/). 

<item><tt>gz</tt>: archivo comprimido con <tt/gzip/.

<item><tt>info</tt>: archivo <em/info/ (Algo así como una alternativa a
las páginas de manual). Consiga <tt/info/. 

<item><tt>lsm</tt>: Fichero <em/Linux Software Map/. Es un fichero de
texto ASCII plano que contiene la descripción de un paquete. 

<item><tt>ps</tt>: Fichero PostScript. Para visualizarlo o imprimirlo
consiga <tt/gs/ y, opcionalmente, <tt/ghostview/. 

<item><tt>rpm</tt>: Paquete de Red Hat. Puede instalarlo en cualquier
sistema utilizando el gestor de paquetes <tt/rpm/. 

<item><tt>taz, tar.Z</tt>: archivo hecho con <tt/tar/ y posteriormente
comprimido con <tt/compress/. 

<item><tt>tgz, tar.gz</tt>: archivo hecho con <tt/tar/ y posteriormente
comprimido con <tt/gzip/. 

<item><tt>tex</tt>: fichero de texto para utilizar con TeX, un poderoso
formateador de textos. Consiga el paquete <tt/tex/, disponible en muchas
distribuciones.

<item><tt>texi</tt>: fichero texinfo, a partir del cual se pueden producir
tanto archivos TeX como info. Consiga <tt/texinfo/. 

<item><tt>xbm, xpm, xwd</tt>: fichero gráfico.

<item> <tt/Z/: archivo hecho con <tt/compress/.

<item> <tt/zip/: archivo hecho con <tt/zip/. Consiga <tt/zip/ y
<tt/unzip/. </itemize>


<sect1>Conversión de ficheros
<p>

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, <tt/dos2unix/ y <tt/unix2dos/, que convierten estos ficheros.

<it/Nota del revisor/: Puede utilizar <tt/vim/ para convertir este tipo de
ficheros:

<itemize>
<item>Para convertir un fichero DOS a formato Linux:
(Las líneas con &num; delante son comentarios)

<tscreen><verb>
vi fichero_dos.txt
# pulse ESC
:set fileformat=unix
# pulse Enter
!wq fichero_linux.txt
# pulse Enter
</verb></tscreen>

<item>Para convertir un fichero Linux para su uso en DOS:

<tscreen><verb>
vi fichero_linux.txt
# pulse ESC
:set fileformat=dos
# pulse Enter
!wq fichero_dos.txt
# pulse Enter
</verb></tscreen>
</itemize>

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 <tt><htmlurl
url="ftp://ftp.tex.ac.uk" name="ftp://ftp.tex.ac.uk"></tt>. Consiga el
programa <tt/word2x/ del directorio <tt>/pub/tex/tools/</tt>. En
concreto, <tt>word2x</tt> convierte ficheros de Word 6, mientras que para
ver ficheros realizados con Word 97 necesitará <tt>mswordview</tt>
(<tt><htmlurl url="http://www.csn.ul.ie/~caolan/docs/MSWordView.html"
name="http://www.csn.ul.ie/~caolan/docs/MSWordView.html"></tt>) que los
transforma en HTML.


<sect1>Entornos ofimáticos gratuitos
<p>
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 <tt><htmlurl
url="http://www.stardivision.com" name="http://www.stardivision.com"></tt>.

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:
<tt><htmlurl url="http://www.corel.com" name="http://www.corel.com"></tt>.


<sect>Fin, por ahora
<p>
¡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.

<sect1>Copyright
<p>
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 <tt><htmlurl url="linux-howto@sunsite.unc.edu"
name="linux-howto@sunsite.unc.edu"></tt> vía e-mail.


<sect1> Agradecimientos
<p>

"CÓMO pasar de DOS a Linux" fue escrito por Guido Gonzato, <tt><htmlurl
url="BORREMEguido@ibogeo.df.unibo.it"
name="BORREMEguido@ibogeo.df.unibo.it"></tt> (Borre el «BORREME»).  Muchas
gracias a Matt Welsh, el autor de <it/Linux: Instalación y Primeros Pasos/, a
Ian Jackson, el autor del <it/Linux frequently asked questions with answers/,
a Giuseppe Zanetti, el autor de <it/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   <tt/=8-)/					


<sect1>Traducción
<p>

«CÓMO pasar de DOS/Win a LINUX» fue traducido por David Marín Carreño,
<tt><htmlurl url="mailto:davefx@bigfoot.com" name="davefx@bigfoot.com"></tt>,
como un pequeño grano de arena más dentro del Proyecto INSFLUG. Para más
información, vea la sección <ref id="Grupos">.

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. 

<tscreen><verb>
     |   |   |  _|   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: <davefx@bigfoot.com>
    /  _      _  \   WEb SiTe: http://www.bigfoot.com/~davefx
</verb></tscreen>


<sect>Anexo: El INSFLUG <label id="Grupos">
<p>

El <em/INSFLUG/ forma parte del grupo internacional <it/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 <bf/INSFLUG/ se orienta preferentemente a la traducción de
documentos breves, como los <em/COMOs/ y <em/PUFs/ (<bf/P/reguntas de
<bf/U/so <bf/F/recuente, las <it/FAQs/. <tt/:)/ ), etc.

Diríjase a la sede del INSFLUG para más información al respecto.

En la sede del INSFLUG encontrará siempre las <bf/últimas/ versiones de
las traducciones:  <tt><htmlurl url="http://www.insflug.org"
name="www.insflug.org"></tt>. 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 (<it/mirror/)
del Insflug más cercanos a Vd., e información relativa a otros recursos en
castellano.

Francisco José Montilla, <tt><htmlurl url="mailto:pacopepe@insflug.org"
name="pacopepe@insflug.org"></tt>.

</article>
