INTRO /Introduccion 1. Introducción a Unix

Esta guía contiene comandos básicos de Unix esenciales para bioinformática (pero útiles en cualquier momento). La guía asume que el usuario tiene acceso a la línea de comandos por medio de una consola o interfaz de línea de comandos. Las consolas más comunes incluídas por defecto en los sistemas operativo usan bash para interpretar los comandos y dar instrucciones al sistema operativo. La consola en Mac es el mismo Terminal (igual que en sistemas Linux). En Windows 10 es posible activar un subsistema Linux e instalar Ubuntu para usarlo como consola (siguiendo las intrucciones acá).

La idea de esta guía es aprender a usar la consola para manipular archivos de manera fácil y eficiente usando los comandos de Unix y Linux sin importar el sistema operativo base. Esta guía es básica y solo pretende dar una introducción rápida a los comandos más comunes. Al final, dejaremos una lista con más recursos útiles en español e inglés.

Notas:

  • El código y resultado del código está en las cajas grises. Cualquier texto después del símbolo numeral (#) es un comentario y la consola lo ignora.

  • Copiar y pegar los comandos de la caja de código puede resultar en errores si hay caracteres escondidos. Lo mejor es escribir el comando en la consola usando las cajas de código como guía.

  • El texto en verde después de las cajas de código representan el output del comando.

Ejemplo:

$ ls -lh # lista archivos dentro de la carpeta

carpeta1/
doc1.txt
doc2.txt

Los contenidos de esta guía son:

  1. Listas, directorios y ayuda
  2. Direcciones relativas y absolutas
  3. Crear, editar y leer archivos
  4. Patrones, expresiones regulares y metacaracteres
  5. Ciclos (loops)
  6. awk (opcional)
  7. Referencias y otros recursos

La consola (bien sea la Terminal o Ubuntu), una vez iniciada, muestra la información del usuario y la ubicación del usuario en el sistema (en que folder está). Esa información se ve así (por ejemplo):

usuario123@mac-73458-12 /usuario123/Documentos
$

En este caso, usuario123 es el nombre de usuario (puede o no ser el mismo que el nombre de usuario en la sesión), mac-73458-12 es el hospedero (o equipo) del usuario, y /c/Usuario/usuario123/Documentos es la ubicación del usuario (puede variar). El símbolo de dolar ($) en demarca el espacio donde podemos escribir.

Por ejemplo, para imprimir la ubicación del usuario en la consola podemos usar el comando pwd (print working directory):

usuario123@mac-73458-12 /usuario123/Documentos
$ pwd # enter después
# de ahora en adelante, solo mostraremos el código y el resultado, sin la linea de usuario

/usuario123/Documentos/

Ahora que sabemos en donde estamos, podemos empezar.

LISTAS /Introduccion 1.1 Listas, directorio y ayuda

Un directorio es equivalente a una carpeta tal y como se ve en el explorador de Windows o Mac. La única diferencia es que no hay una interfaz visual que muestre los íconos para cada tipo de archivo o su información asociada. Para esto, es posible usar el comando ls (list). El comando imprime en pantalla los contenidos de un folder. Por ejemplo:

ls # simplemente muestra la lista de los contenidos dentro de la carpeta

carpeta_1/
imagenes/
archivo_temporal.txt
documento_enword.doc

Una lista de archivos puede se insuficiente. Para ver más información, por ejemplo el tamaño y fecha de última modificación, podemos hacer:

ls -lh # imprime una lista de una sola columna y el tamaño del archivo en formato leíble

carpeta_1/
imagenes/
archivo_temporal.txt
documento_enword.doc

GET /stuff Get stuff

This method allows users to retrieve stuff.

Request

  • The headers must include a valid authentication token.

Response

Sends back a collection of things.

Status: 200 OK { { id: thing_1, name: 'My first thing' }, { id: thing_2, name: 'My second thing' } }

For errors responses, see the response status codes documentation.

DELETE /stuff/:id Delete a thing

This method allows the user to post a new thing to his stuff.

Request

  • :id is the id the thing to delete.
  • The headers must include a valid authentication token.
  • The body is omitted.

Response

Sends back a collection of things.

Status: 200 Deleted { code: 200, message: 'Your thing (id: 736) was deleted' }

For errors responses, see the response status codes documentation.