Product SiteDocumentation Site

Apéndice B. Curso breve de emergencia

Si bien este libro está apuntado principalmente a administradores y «usuarios avanzados», no deseamos excluir a novatos motivados. Por lo tanto, este apéndice será un curso acelerado que describe los conceptos fundamentales involucrados en el manejo de un equipo Unix.

B.1. Consola y órdenes básicas

En el mundo Unix, todo administrador debe utilizar la línea de órdenes tarde o temprano; por ejemplo, cuando el sistema no inicia adecuadamente y sólo provee la consola de modo de rescate. Poder manejar tal interfaz es, por lo tanto, una habilidad de supervivencia básica para dichas circunstancias.
Esta sección sólo provee una mirada rápida de las órdenes. Todas tienen muchas opciones que no describimos, así que le remitimos a la abundante documentación de las que dispone en sus respectivas páginas de manual.

B.1.1. Navegación del árbol de directorios y gestión de archivos

Una vez que abrió una sesión, el programa pwd (que significa imprimir directorio de trabajo: «print working directory») mostrará la ubicación actual en el sistema de archivos. Puede cambiar el directorio actual ejecutando cd directorio (cd significa cambiar directorio: «change directory»). El directorio padre siempre se llama .. (dos puntos), mientras que también se conoce al directorio actual como . (un punto). El programa ls permite enumerar («listing») el contenido de un directorio. Si no le provee ningún parámetro, operará en el directorio actual.
$ pwd
/home/rhertzog
$ cd Desktop
$ pwd
/home/rhertzog/Desktop
$ cd .
$ pwd
/home/rhertzog/Desktop
$ cd ..
$ pwd
/home/rhertzog
$ ls
Desktop    Downloads  Pictures  Templates
Documents  Music      Public    Videos
Puede crear un directorio nuevo con mkdir directorio y puede eliminar un directorio existente (y vacío) con rmdir directorio. El programa mv permite mover («move») y/o cambiar el nombre de archivos y directorios; eliminará («remove») un archivo con rm archivo.
$ mkdir test
$ ls
Desktop    Downloads  Pictures  Templates  Videos
Documents  Music      Public    test
$ mv test new
$ ls
Desktop    Downloads  new       Public     Videos
Documents  Music      Pictures  Templates
$ rmdir new
$ ls
Desktop    Downloads  Pictures  Templates  Videos
Documents  Music      Public

B.1.2. Visualización y modificación de archivos de texto

Si ejecuta cat archivo (concatena — «concatenate» — archivos a su salida estándar del dispositivo) éste leerá el archivo y mostrará sus contenidos en la terminal. Si el archivo es demasiado grande para entrar en una pantalla, utilice un paginador como less (o more) para mostrarlo página por página.
El programa editor inicia un editor de texto (como vi o nano) y permite crear, modificar y leer archivos de texto. A veces puede crear los archivos más simples directamente desde el intérprete utilizando redirección: echo "texto" >archivo creará un archivo llamado archivo con «texto» como su contenido. También es posible agregar una línea al final de este archivo si ejecuta algo como echo "moretext" >> archivo. Note el >> en este ejemplo.

B.1.3. Búsqueda de y en archivos

Si ejecuta find directorio criterio, buscará archivos en la jerarquía dentro de directorio según varios criterios. El criterio utilizado más frecuentemente es -name nombre: permite buscar un archivo según su nombre.
Si ejecuta grep expresión archivos busca en el contenido de los archivos y extrae las líneas que coinciden con la expresión regular (revise el recuadro VOLVER A LOS CIMIENTOS Expresiones regulares). Agregar la opción -r activa una búsqueda recursiva en todos los archivos que contenga el directorio que pasó como parámetro. Esto permite buscar en un archivo del que sólo conoce parte de su contenido.

B.1.4. Gestión de proceso

Si ejecuta ps aux, obtendrá una enumeración de los procesos actualmente en ejecución y le ayudará a identificarlos mostrando su pid (id de proceso: «process id»). Una vez que sabe el pid de un proceso, puede ejecutar kill -señal pid para enviarle una señal (siempre que sea el dueño del proceso). Existen varias señales, las más utilizadas son TERM (pedido de terminación de forma ordenada) y KILL (finalización forzada).
El intérprete de órdenes también puede ejecutar programas en segundo plano si la orden finaliza con «&». Cuando utiliza el símbolo «et», el usuario recupera el control de la consola inmediatamente aún cuando la orden continúa en ejecución (escondido del usuario como un proceso en segundo plano). El programa jobs («trabajos») enumerará los procesos ejecutándose en segundo plano; si ejecuta fg %número-de-trabajo (por primer plano: «foreground») recuperará en primer plano una orden. Cuando un programa esté ejecutándose en primer plano (ya sea porque se lo inició de esa forma o porque se lo recuperó desde segundo plano con fg) puede pausar el proceso y obtener el control de la línea de órdenes con la combinación de teclas Control+Z. Luego puede continuar el proceso en segundo plano con bg %número-de-trabajo (por «segundo plano»: «background»).

B.1.5. Información de sistema: memoria, espacio en disco, identidad

El programa free («libre») muestra información sobre la memoria; df (libre en disco: «disk free») reporta el espacio en disco disponible para cada uno de los discos montados en el sistema de archivos. Ambos poseen la opción -h (legible por humanos: «human readable») convierte los tamaños en unidades más legibles (frecuentemente mebibytes o gibibytes). De forma similar, el programa free soporta las opciones -m y -g con las que mostrará, respectivamente, los datos en mebibytes o gibibytes.
$ free
             total       used       free     shared    buffers     cached
Mem:       1028420    1009624      18796          0      47404     391804
-/+ buffers/cache:     570416     458004
Swap:      2771172     404588    2366584
$ df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda2              9614084   4737916   4387796  52% /
tmpfs                   514208         0    514208   0% /lib/init/rw
udev                     10240       100     10140   1% /dev
tmpfs                   514208    269136    245072  53% /dev/shm
/dev/sda5             44552904  36315896   7784380  83% /home
El programa id muestra la identidad del usuario ejecutando la sesión junto con la lista de grupos a los que pertenece. Debido a que el acceso a algunos archivos o dispositivos puede estar limitados a miembros de ciertos grupos, puede ser útil verificar a qué grupos se pertenece.
$ id
uid=1000(rhertzog) gid=1000(rhertzog) groups=1000(rhertzog),24(cdrom),25(floppy),27(sudo),29(audio),30(dip),44(video),46(plugdev),108(netdev),109(bluetooth),115(scanner)