Capítulo 16. Trabajar con archivos y directorios

Si se es nuevo co Linux -- hay mucha gente -- puede uno sentirse desorientado al intentar los primeros pasos.

Tranquilidad. Si se tiene experiencia con otros sistemas, aprender Linux es como aprender a conducir en otro país: Muchas de las ideas son las mismas, pero algunos detalles son distintos.

Visitaremos algunas de las "normas de tráfico" en este capítulo.

Pero hay una parte del nuevo sistema sin la cual no se puede vivir: la shell. Se han hecho numerosas referencias a la shell -- como "shell" o "bash."

Es hora de aprender algo más sobre esta herramienta indispensable. Pero primero, algo de información

La Shell

En los primeros días (en los 60), cuando Dennis Ritchie y Ken Thompson de AT&T' diseñaban UNIXTM, quisieron crear un medio para que las personas interactuaran con el sistema.

Los sistemas de entonces venían con interpretes de comandos, que aceptaban comandos de los usuarios y los interpretaban para que los utilizara la máquina.

Pero Ritchie y Thompson querían más, algo que ofreciera más que los interpretes de comandos.

Nación la Bourne shell (conocida simplemnte como sh), creada por S.R. Bourne, que cumplía los objetivos de los creadores de UNIX.

Desde la creación de la Bourne shell, se han creado otras shells, como la C shell (csh) y la Korn shell (ksh).

Cuando la Free Software Foundation buscaba una shell sin patentes, los desarrolladores empezaron a trabajar en el lenguaje de la Bourne shell y en características de otras shells del momento.

El resultado fue la Bourne Again Shell -- o bash.

Seguro que ya ha visto la palabra bash al teclear erroneamente en la shell (como bash: somecommand: command not found).

En Capítulo 15, al hablar de redirección y tunelado, se mostró la potencia bash.

SugerenciaMás sobre bash
 

Se puede aprender algo más sobre bash leyendo el manual de bash. En la shell, teclése man bash (o salvar a un archivo como texto tecleando man bash | col -b > bash.txt, que se puede leer con un editor como pico o un paginador como less. Se puede también imprimir con man bash | col -b | lpr, pero: es un fichero grande. Si se quiere más información, O'Reilly & Associates publican Aprender bash Shell, por Cameron Newham y Bill Rosenblatt.

Aunque el sistema viene con muchas shells diferentes, bash es la shell por defecto de Red Hat Linux.

Se puede ver a bash como un asistente de de oficina que mantiene notas sobre como completar comandos de forma rápida. Este asistente también mantiena "pistas" sobre como se ha particularizado la forma de trabajar.

Estas pistas que mantiene bash son llamadas variables de entorno.

La shell usa un "entorno" igual que se usa un entorno, como la cocina. Se trabaja en la cocina, se ordenan ollas, sartenes, y especias. Se sabe donde están los platos y como funcionan las cosas.

Lo mismo puede decirse de bash y su entorno. Hay un orden básico en bash como habría en cualquier cocina. Por ejemplo, al igual que se ven las ollas en una cocina se espera ver ciertos comandos en bash.

Es es la idea de las variables de entorno.

Mientras el asistente tenga las pistas adecuadas, completar los comandos rápidamente.

Veamos las variables de entorno. Teclear en la shell:

env
	  

bash usa unos cuantos "atajos", ¿no?

Cada uno de ellos ayuda a bash a particularizar el entorno.

Entre las variables de entorno más importantes está PATH -- que define lo que es conocido como el path por defecto.

La variable PATH para la cuenta newuser sería más o menos así:

PATH=/usr/local/bin:/usr/X11R6/bin:/usr/bin:/bin:/usr/X11R6/bin:/home/newuser/bin
	  

Parece enorme, pero PATH es una señal de tráfico, que apunta a la localización de los programas.

SugerenciaUn estándar para la variable PATH
 

Recuérdese la referencia anterior al "Filesystem Hierarchy Standard" (Vease la sección de nombre El sistema de archivos en Capítulo 15). PATH está configurado de acuerdo al estándar, y los programas están instalados siguiento FHS también. El resultado es que that the PATH permite a bash encontrar casi cualquier programa, si se ha instalado siguiendo el FHS.