Herramientas de usuario

Herramientas del sitio


acemu:articulos:articulos_tecnicos:software:introduccion_a_gnu-linux:linux_inicio:terminal

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
acemu:articulos:articulos_tecnicos:software:introduccion_a_gnu-linux:linux_inicio:terminal [2012/01/14 08:15] – [Introducción] luisacemu:articulos:articulos_tecnicos:software:introduccion_a_gnu-linux:linux_inicio:terminal [2012/01/15 12:07] (actual) – [Estructuras de control de flujo] luis
Línea 25: Línea 25:
 Para acceder a una terminal se puede hacer de dos formas, una es con una aplicación como el terminal de [[http://www.gnome.org/|GNOME]], [[http://es.wikipedia.org/wiki/Xterm|Xterm]] o [[http://konsole.kde.org/|Konsole]] de [[http://www.kde.org/|KDE]], que son emuladores de la terminal dentro de una interfaz visual. Para acceder a una terminal se puede hacer de dos formas, una es con una aplicación como el terminal de [[http://www.gnome.org/|GNOME]], [[http://es.wikipedia.org/wiki/Xterm|Xterm]] o [[http://konsole.kde.org/|Konsole]] de [[http://www.kde.org/|KDE]], que son emuladores de la terminal dentro de una interfaz visual.
  
-{{ :acemu:articulos:articulos_tecnicos:software:introduccion_a_gnu-linux:linux_inicio:gui.png?nolink&400 |La GUI o IGN, interfaz visual del escritorio GNOME}}+Mostramos a continuación una imágen de la GUI o emulador de terminal en interfaz gráfica, en este caso, el escritorio de GNOME.
  
 +{{ :acemu:articulos:articulos_tecnicos:software:introduccion_a_gnu-linux:linux_inicio:gui.png?nolink&400 |}}
 +
 +\\
 Otra forma es salirse del entorno gráfico y acceder a un entorno completamente en modo texto, algo así como entrar en sólo símbolo de sistema en [[http://es.wikipedia.org/wiki/Windows_98|Windows 98]].\\ Para esto último debemos teclear **'''Control+Alt+F1'''**.\\ Linux proporciona por defecto seis terminales de este tipo, de **'''Control+Alt+F1'''** a **'''Control+Alt+F6'''**.\\ Si queremos volver al modo gráfico lo hacemos con **'''Alt+F7'''**. Otra forma es salirse del entorno gráfico y acceder a un entorno completamente en modo texto, algo así como entrar en sólo símbolo de sistema en [[http://es.wikipedia.org/wiki/Windows_98|Windows 98]].\\ Para esto último debemos teclear **'''Control+Alt+F1'''**.\\ Linux proporciona por defecto seis terminales de este tipo, de **'''Control+Alt+F1'''** a **'''Control+Alt+F6'''**.\\ Si queremos volver al modo gráfico lo hacemos con **'''Alt+F7'''**.
  
-{{ :acemu:articulos:articulos_tecnicos:software:introduccion_a_gnu-linux:linux_inicio:cli.png?nolink&400 | La CLI Command Line Interfase - Barra de herramientas->Aplicaciones->Accesorios->Terminal}}+La interfase de línea de comandos CLI, accedemos a ella a través de la **Barra de Herramientas->Aplicaciones->Accesorios->Terminal**.
  
 +{{ :acemu:articulos:articulos_tecnicos:software:introduccion_a_gnu-linux:linux_inicio:cli.png?nolink&400 |}}
 +
 +\\
 Linux tiene al menos 2 interfases para comunicarse con el usuario la **CLI** (Command line interfase - interfase de línea de comandos) y la **GUI** (interfase de modo "grafico" - aunque la anterior "también" es gráfica).\\ Linux tiene al menos 2 interfases para comunicarse con el usuario la **CLI** (Command line interfase - interfase de línea de comandos) y la **GUI** (interfase de modo "grafico" - aunque la anterior "también" es gráfica).\\
  
Línea 147: Línea 153:
 <file> <file>
 NOTA :  NOTA : 
-Como se puede observar para poder asignar la cadena a la variable '''Ejemplo''',+Como se puede observar para poder asignar la cadena a la variable ''Ejemplo'',
 hemos tenido que utilizar las dobles comillas. hemos tenido que utilizar las dobles comillas.
-Si no lo hubiésemos hecho (escribiendo '''$ Ejemplo<nowiki>=</nowiki>Esto es un ejemplo''')+Si no lo hubiésemos hecho (escribiendo ''$ Ejemplo=Esto es un ejemplo'')
 habríamos obtenido un error ya que el intérprete de órdenes sólo habría asignado habríamos obtenido un error ya que el intérprete de órdenes sólo habría asignado
-''Esto'''''Ejemplo''' y habría intentado ejecutar la palabra ''es'' como una orden.+''Esto'' a ''Ejemplo'' y habría intentado ejecutar la palabra ''es'' como una orden.
 </file> </file>
  
Línea 196: Línea 202:
  
 * **'''PATH'''**: rutas en las que el intérprete busca las órdenes a ejecutar cuando no especificamos donde están. * **'''PATH'''**: rutas en las que el intérprete busca las órdenes a ejecutar cuando no especificamos donde están.
 +
 +Debemos((idem)) dejar claro que las variables de entorno son propias del entorno en el que estamos, por lo tanto quedan, son propias del entorno.
 +
 +Ahora bien, hay un tema muy importante y sutil, que es el alcance de las variables de entorno.\\
 +Hay dos tipos de variables de entorno :
 +  * las que podríamos definir como **locales**
 +  * y las que podríamos definir como **globales**
 +
 +Las **locales** solo son accesibles a los comandos que se ejecutan en el shell local, o el shell que nos está atendiendo.\\
 +Las **globales** se trasmiten de padres a hijos...  ok, se complicó no ??, procesos padres...  hijos...
 +
 +
 +En realidad cuando nos referimos a procesos hijos en LINUX, nos referimos a los procesos que son resultado de otro proceso del cual se genera.
 +
 +Por ejemplo, si corro un comando **ls**, el shell es el proceso padre y el ls es el proceso hijo, de hecho, lo que en realidad ocurrió internamente es un **fork**(bifurcación). Lo que hace LINUX cuando larga a correr un programa, es lo siguiente :
 +
 +Primero duplica el proceso que está ejecutando, por ejemplo, si es un shell, lo duplica ejecutando la función **fork()** del sistema, y luego el proceso hijo realiza un **exec()** con lo cual se transforma en el comando **ls** que es lo que queríamos ejecutar.
 +
 +Al ejecutar un **fork()**, el proceso original se duplica, pero cada uno sabe si es padre o es hijo; y es el hijo el que finalmente se transforma en el nuevo proceso que se quería ejecutar.
 +
 +En el proceso de ejecución del **fork()**, se trasmiten sólo las variables **globales** que son las variables que propiamente uno dice que son las variables de entorno.
 +
 +Para que una variable sea de entorno, uno debe exportarla. Uno puede primero crear la variable
 +
 +<file>
 +pepe=123
 +</file>
 +
 +y luego exportarla,
 +
 +<file>
 +export pepe
 +</file>
 +
 +o se pueden hacer las dos cosas juntas,
 +
 +<file>
 +export pepe=123
 +</file>
 +
 +De esa manera, los procesos hijos del proceso donde se creó la variable pepe, también podrán disponer de esa variable. Y ese, es el mecanismo más sencillo de comunicación entre procesos.\\
 +Uno puede invocar un nuevo programa, pasándole argumentos, o simplemente creamos un conjunto de variables de entorno con los datos que el nuevo proceso requiere y el nuevo proceso los toma allí.
 +
  
 == Órdenes == == Órdenes ==
Línea 336: Línea 385:
 //**== Caso de estudio ==**// //**== Caso de estudio ==**//
  
-Un ejemplo práctico del uso de las tuberías o pipes es el siguiente ((aportado por **Kenneth Irving**)):+Un ejemplo práctico del uso de las tuberías o pipes es el siguiente ((Idem)):
  
 Se puede encadenar la salida de un comando a la entrada de otro (tal como lo vimos anteriormente), y esto se realiza mediante las pipes o tuberías representadas por el carácter **|**. Se puede encadenar la salida de un comando a la entrada de otro (tal como lo vimos anteriormente), y esto se realiza mediante las pipes o tuberías representadas por el carácter **|**.
Línea 434: Línea 483:
  
 1 converso\\ 1 converso\\
-perverso\\+preverso\\
 2 verso\\ 2 verso\\
  
Línea 453: Línea 502:
 == Named Pipes - otro caso de Tuberías == == Named Pipes - otro caso de Tuberías ==
  
-Las tuberías o pipes ((sección aportada por **Kenneth Irving**))de las que hablamos, que permiten conectar **stdout** de un proceso, con el **stdin** de otro, se puede decir que son pipes anónimos, pues existen entre estos dos procesos y mientras estos procesos se están ejecutando.\\ Cuando termina la ejecución desaparecen, pero como se mencionó, todo en LINUX son archivos (o casi todo), se pueden crear pipes con nombre en el filesystem de LINUX y esos pipes, pueden ser usados en procesos para comunicarse entre si.+Las tuberías o pipes ((Idem))de las que hablamos, que permiten conectar **stdout** de un proceso, con el **stdin** de otro, se puede decir que son pipes anónimos, pues existen entre estos dos procesos y mientras estos procesos se están ejecutando.\\ Cuando termina la ejecución desaparecen, pero como se mencionó, todo en LINUX son archivos (o casi todo), se pueden crear pipes con nombre en el filesystem de LINUX y esos pipes, pueden ser usados en procesos para comunicarse entre si.
  
 Un nuevo ejemplo muy sencillo : Un nuevo ejemplo muy sencillo :
acemu/articulos/articulos_tecnicos/software/introduccion_a_gnu-linux/linux_inicio/terminal.1326557755.txt.gz · Última modificación: 2012/01/14 08:15 por luis