3. Conceptos básicos

Los conceptos y herramientas presentados desde esta sección se asimilan mejor practicando. Procure ejercitarlos desde un interprete de órdenes, bien operando directamente un sistema adJ o bien ingresando remotamente desde otro sistema como se explica en Sección 2, “Primer uso de adJ”.

3.1. Definiciones iniciales

Un archivo es información delimitada y con atributos que ayudan a identificarla como nombre, fecha de creación y ubicación. Se ubica en alguna ruta o sitio del sistema de archivos.

Un programa es un archivo con instrucciones que pueden ser efectuadas por el computador. La secuencia de instrucciones determina lo que hará el programa. El formato de un archivo es la manera como está organizada la información para que pueda ser empleada con facilidad por el o los programas que pueden leer o escribir. Por ejemplo un archivo de nombre carta.odt posiblemente se trate de una carta escrita en formato de Open Document Format (lo sugieren las últimas letras .odt). Para verla o modificarla debe usarse un programa que entienda ese formato, uno entre otros es LibreOffice.

3.2. Intérprete de órdenes

El intérprete de órdenes le permite usar varias órdenes internas, así como ejecutar programas. Es común que las órdenes o programas requieran algo de información como suministro (i.e parámetros o argumentos), así como opciones que modifiquen el comportamiento predeterminado. Tal información suele darse a continuación del nombre de la orden, separando un parámetro o una opción de otra con espacios. Si es una de las primeras veces que ingresa al sistema, recomendamos las siguientes órdenes:

man man

El programa man permite ver un tema del manual del sistema. Puede recibir como parámetro el tema sobre el cual desea ver la documentación. Así que man man presenta la documentación de la orden man. Entre los temas posibles puede emplear el nombre de un programa instalado o de una función de la librería del sistema. Notará que man por omisión ingresa a un paginador (llamado less) que le permite desplazarse hacia arriba y hacia abajo con las flechas y salir con la letra q.

passwd

Permite cambiar su clave en el sistema. Por favor escoja una buena clave que no aparezca en diccionario de idioma alguno, preferiblemente que tenga mayúsculas y minúsculas, así como números y/o caracteres de puntuación. Sugerimos las claves generadas con programas especializados como apg. Tenga en cuenta que si su clave llega a ser descubierta por un tercero, él/ella podría actuar a nombre suyo.

apg

Creador de contraseñas seguras, el cual se puede utilizar con o sin parametro por ejemplo (apg -n 1 -m 16 -x 17 -a 1),en donde n es el número de contraseñas que queremos crear, m es la longitud minima de caracteres que va a tener la contraseña, x la longitud maxima y a indica que algoritmo emplear, esto nos creara una contraseña como: 67+GVNBX<$70%5', Oe&>XY<83h&d}2j, para mayor informacion tambien se puede consultar el manual con man apg.

Para comprender el uso de parámetros y opciones, intente también:

  • man passwd ejecutará la orden man con parámetro passwd. Así verá el manual de la orden passwd en el paginador.

  • man -c passwd ejecutará la orden man con opción -c y parámetro passwd, con lo cual verá el manual de la orden passwd pero sin paginador –el manual completo se presentará en pantalla pero no alcanzará a ver el comienzo por la cantidad de información, ni podrá usar flechas para navegar sobre el documento, sino que regresará a la línea de órdenes.

Después revise en detalle el manual de la orden man e intente con otros parámetros y opciones.

3.3. Sistema de Archivos

En Unix la información se organiza en archivos dentro de directorios del sistema de archivos. El directorio inicial o raíz se denota por /, los nombres de archivos o directorios pueden especificarse indicando la ruta completa desde la raíz, por ejemplo el archivo /usr/bin/awk está en el directorio de nombre bin que a su vez está en un directorio de nombre usr el cual es un subdirectorio del directorio raíz /. Cada usuario del sistema tiene además de su login y clave, un directorio que llamamos directorio personal cuya ruta normalmente es de la forma /home/juan.

Figura 15. Sistema de archivos

Sistema de archivos

El intérprete de órdenes que emplee tendrá como parte de su estado un directorio de trabajo, un símbolo de espera de órdenes y variables de entorno. La manera de ver y alterar estos datos depende del intérprete de órdenes que emplee, nos limitaremos al intérprete de órdenes ksh (que tiene bastantes cosas en común con otros intérpretes de órdenes como bash y zsh).

Podrá examinar el directorio de trabajo con pwd, listar algunas variables de entorno (las exportadas) con export y modificar el símbolo de espera de órdenes con la variable de entorno PS1. A continuación se listan algunas órdenes/programas relacionados con el sistema de archivos y un mínimo del uso de cada uno. Sugerimos que mire la documentación que corresponde a cada uno (e.g para ver documentación del programa ls ejecute desde un intérprete de órdenes man ls):

pwd

Muestra directorio de trabajo.

ls

Muestra listado de archivos y directorios. Sin parámetros muestra los del directorio de trabajo. Como parámetro puede indicarse la ruta del directorio del cual se desea ver el contenido y con la opción -l presenta atributos adicionales de cada archivo (por ejemplo los directorios inician con d mientras que los archivos con -. También puede dar como parámetro una ruta por listar (si no da una se lista el directorio de trabajo).

mkdir public_html

Permite crear un directorio (en este caso public_html), si no se especifica la ruta completa mkdir lo crea en el directorio de trabajo.

cd public_html

Para cambiarse a otro directorio (en este caso al directorio public_html que es subdirectorio del directorio de trabajo). Sin parámetros, cd cambia al directorio personal.

cp traido/index.htm public_html/index.html

El programa cp permite copiar uno o más archivos. En el ejemplo presentado el archivo index.htm del subdirectorio traido es copiado en el subdirectorio public_html con el nombre index.html. Note que ambos subdirectorios son subdirectorios del directorio de trabajo y que debe existir el archivo traido/index.htm. Pueden copiarse también directorios junto con subdirectorios usando la opción -r, por ejemplo:

cp -r traido/* public_html/

que copia todos los archivos y subdirectorios del directorio traido de manera recursiva al directorio public_html.

rm traido/index.htm

Que elimina el archivo traido/index.html. Pueden eliminarse directorios con todo su contenido de forma recursiva con la opción -rf del programa rm.

mv traido/juan.htm traido/pedro.html

El programa mv moverá (o en este caso renombra) el archivo traido/juan.htm a traido/pedro.html.

3.4. tmux

Para operar desde la terminal con más versatilidad es muy útil tmux que introduce conceptos de sesiones, ventanas y paneles que permiten operar muy efectivamente.

  • Las sesiones le permiten retomar el trabajo que estaba haciendo previamente.

  • Las ventanas permiten operar en varios interpretes de órdenes que ocupan el espacio completo donde visualiza la terminal.

  • Los paneles dividien una ventana en más áreas para ver simultaneamente varios interpretes de órdenes.

Puede probar el uso de sesiones de esta forma:

  1. Abra una terminal e inice tmux con tmux

  2. Escriba por ejemplo echo Hola mundo y pulse Enter, que debe imprimir en pantalla Hola Mundo

  3. Cierre la terminal –por la forma de operación de tmux esto no terminará la sesión que inició

  4. Abra otra terminal e inice tmux pero indicando que se una a una sesión existente con tmux -a. Debería poder ver su sesión de terminal con Hola Mundo.

Ya en tmux, puede enviar órdenes a tmux comenzando con la secuencia de teclas Control-b, por ejemplo para crear una ventana emplee Control-b y después la letra c (minúscula).

Notará en la parte inferior izquierda indicadores de 2 ventanas abiertas (una con [0] y la otra con [1]). Pase a la segunda ventana (con índice 1) con Control-b 1 y a la primera con Control-b 0.

Figura 16. tmux con 6 ventanas. Visualizando la cuarta, con índice 3.

tmux con 6 ventanas. Visualizando la cuarta,
        con índice 3.

Para dividir una ventana (o un panel) en 2 paneles separados por una línea vertical en la mitad use Control-b % y para dividir en 2 con una línea horizontal use Control-b ". Pase al panel de la derecha con Control-b →, pase al panel de la izquierda con Control-b ←, al de arriba con Control-b ↑ y al de abajo con Control-b ↓

Figura 17. Ventana de tmux dividida en 3 paneles

Ventana de tmux dividida en 3
        paneles

Puede cambiar el orden de una panel mediatne Control-b { y Control-b }. Puede convertir un panel en una nueva venta con Control-b !

3.5. Lecturas recomendadas

Páginas man de las órdenes /programas introducidos en este capítulo. Se han tomado porciones de la sección “telnet y ssh” de AALinux