% Linux Installation and Getting Started    -*- TeX -*-
% general.tex
% Copyright (c) 1992-1994 by Matt Welsh <mdw@sunsite.unc.edu>
%
% This file is freely redistributable, but you must preserve this copyright 
% notice on all copies, and it must be distributed only as part of "Linux 
% Installation and Getting Started". This file's use is covered by the 
% copyright for the entire document, in the file "copyright.tex".

% Traduccion realizada por Eduardo Lluna Gil. Envie sus comentarios a:
%            Eduardo Lluna Gil, 2:346/207.8 (FidoNet)
%            elluna@aii.upv.es (InterNet)
% $Log: general.tex,v $
% Revision 0.5.0.1  1996/02/10 23:45:11  rcamus
% Primera beta publica
%
%

\subsection{Comandos y utilidades b\'asicas}

Pr\'acticamente cada utilidad que espere encontrar en un sistema UNIX
estandard ha sido transladada a Linux. Esto incluye comandos b\'asicos como
{\tt ls}, {\tt awk}, {\tt tr}, {\tt sed}, {\tt bc}, {\tt more}, y muchos
m\'as. Diga el nombre de una. Es seguro que Linux la tiene. En Linux puede
esperar encontrar un entorno de trabajo que le sera familiar si procede de
entornos UNIX. Todos los comandos estandard y utilidades est\'an ah\'{\i}.
(Los usuarios novatos de Linux deber\'{\i}an ver el Cap\'{\i}tulo~\ref{chap-tutorial}
para una introducci\'on a los comandos b\'asicos del UNIX.)

Hay disponibles numerosos editores de texto, incluyendo {\tt vi}, {\tt ex},
{\tt pico}, {\tt jove}, GNU Emacs y sus variantes como Lucid Emacs
(el cual incorpora extensiones para usarlo bajo X~Window), y {\tt joe}. Sea
cual sea el editor que est\'e acostumbrado a usar, es pr\'acticamente seguro
que habr\'a sido portado a Linux.

\index{editores}
\index{editores de texto}
\index{vi@{\tt vi}}
\index{Emacs}

La elecci\'on de un editor de texto es un asunto interesante. Muchos usuarios
de UNIX siguen usando editores ``simples'', como {\tt vi} (de hecho, el autor
escribi\'o este libro usando {\tt vi} sobre Linux. Pero {\tt vi} tiene muchas
limitaciones debido a su antigüedad, por lo que est\'an ganando
popularidad editores m\'as modernos (y complejos) como Emacs.
Emacs proporciona un completo lenguaje de macros basadas en LISP con su
int\'erprete, una poderosa sintaxis de \'ordenes y multitud de otras opciones
interesantes.
Existe un conjunto de macros de Emacs para leer correo electr\'onico y 'news',
moverse por el \'arbol de directorios, e incluso tener una sesi\'on de
psicoterapia con un psicoterapeuta de inteligencia artificial (indispensable
para Linuxeros estresados :-) )

Un punto interesante es que la mayor\'{\i}a de las utilidades b\'asicas para
Linux son programas GNU.
\index{GNU}
Estas utilidades GNU proporcionan caracter\'{\i}sticas avanzadas que no se
encuentran en las versiones estandard para BSD \'o AT\&T. Por ejemplo, la
versi\'on de GNU del editor {\tt vi}, {\tt elvis}, incluye un lenguaje de
macros estructurado que difiere de la versi\'on inicial de AT\&T. De cualquier
modo, las utilidades GNU se esfuerzan por mantenerse compatibles con sus
equivalentes BSD y System V. Mucha gente considera las versiones GNU de
estos programas superiores a las originales.

La utilidad m\'as importante para la mayor\'{\i}a de los usuarios es el 
{\bf int\'erprete de comandos}.
\index{shells}
\index{int\'erprete de comandos}
El int\'erprete de comandos es un programa que lee y ejecuta \'ordenes del
usuario. Adem\'as, muchas proporcionan caracter\'{\i}sticas como {\bf
control de procesos} (permitiendo al usuario manejar varios procesos
corriendo a la vez), redirecci\'on de entrada/salida, y un lenguaje de
\'ordenes para escribir {\bf scripts}\glossary{script}. Una {\bf script} es un fichero que contiene un
programa en el lenguaje de ordenes del int\'erprete de comandos, similar a
los ficheros ``batch'' de MS-DOS.
\index{guiones del int\'erprete de comandos}
\index{script}

Hay varios tipos de int\'erpretes de comandos disponibles para Linux. La
principal diferencia entre ellos es el lenguaje de comandos. Por ejemplo, el
{\bf C Shell} ({\tt csh}) usa un lenguaje de comandos muy parecido al
lenguaje de programaci\'on C. El cl\'asico {\bf Bourne Shell} usa un
lenguaje de comandos diferente. Un argumento para la elecci\'on de un
determinado int\'erprete de comandos es el lenguaje de comandos que
proporciona. El int\'erprete de comandos que use, definir\'a su entorno de
trabajo bajo Linux.
\index{Bourne shell}
\index{csh@{\tt csh}}
\index{C Shell (csh)@C Shell ({\tt csh})}

No importa el int\'erprete de comandos que est\'e acostumbrado a usar,
alguna versi\'on de este habr\'a sido probablemente llevada a Linux. La
m\'as popular es el GNU Bourne Again Shell ({\tt
bash}),\index{software!bash@{\tt bash}}, que es una variante del Bourne
cl\'asico que incluye muchas caracter\'{\i}sticas avanzadas como control de
procesos, historial de \'ordenes, terminaci\'on de comandos y ficheros,
edici\'on de la l\'{\i}nea de comandos al estilo Emacs y poderosas 
extensiones al lenguaje de comandos del Bourne cl\'asico. Otro 
int\'erprete de comandos muy popular es el {\tt tcsh}, una versi\'on
\index{software!tcsh@{\tt tcsh}} del C Shell con funcionalidad avanzada
similar a la encontrada en {\tt bash}. Otros int\'erpretes de comandos son
{\tt zsh}, un peque\~no int\'erprete similar al Bourne; el Korn ({\tt ksh});
BSD's {\tt ash} y {\tt rc}, el int\'erprete de comandos de Plan 9.

Linux le da la oportunidad \'unica de configurar el sistema a su gusto
seg\'un sus necesidades. Por ejemplo, si usted es la \'unica persona que usa
el sistema, y prefiere el editor {\tt vi}, y el int\'erprete de comandos
{\tt bash}, no es necesario que instale otros editores e int\'erpretes
de comandos.  La actitud ``h\'agaselo usted mismo'' es la que se impone entre
los usuarios de Linux.

