Programación concurrente en Linux

# Guía básica de Linux

Mediante la herramienta terminal en Linux puedes abrir ventanas del shell. Irás aprendiendo a manejar el shell a lo largo del tiempo. A continuación tienes algunas órdenes (commands) del shell de Linux imprescindibles para echar a andar:

    passwd                --Para cambiar la contraseña
    man orden             --Para conocer el uso de orden
    echo algo             --Escribe algo
    cat fichero           --Escribe el contenido de fichero
    more fichero          --Para ver el contenido de fichero página a página
    cp fichero1 fichero2  --Hace una copia de fichero1 con nombre fichero2
    mv fichero1 fichero2  --Cambia el nombre (mueve) fichero1 a fichero2
    rm fichero            --Elimina el fichero de nombre fichero
    ls                    --Escribe el contenido del directorio actual
    pwd                   --Escribe el nombre del directorio actual
    cd dir                --Cambia al directorio de nombre dir
    mkdir dir             --Crea un directorio de nombre dir
    rmdir dir             --Borra el directorio de nombre dir
    vi, nano              --Algunos editores de texto no gráficos
    logout                --Salir de la sesión del terminal

Puedes utilizar en los nombre el comodín `*`, que significa “cualquier patrón”. Por ejemplo, si haces `rm *` te borrara todos los ficheros del directorio (¡cuidado con esto!). De forma parecida, el comodín `?` sustituye a un único carácter.

Algunos conceptos importantes:

- Directorio raíz. Se refiere a la raíz del árbol de todo el sistema de ficheros Linux. Se llama `/`. Si haces `ls /` verás el contenido del directorio raíz.
- Directorio de login o directorio raíz del usuario. Es el directorio en el que inicias la sesión. Sabrás cuál es si al abrir el terminal haces `pwd`. El directorio de tu cuenta es un subárbol del directorio del sistema.
- Directorio actual. Es el directorio donde estás. Lo conoces en cada momento mediante `pwd` y puedes cambiar a otro directorio con `cd`.
- Nombre de un fichero. Un fichero se identifica en un directorio mediante un nombre, por ejemplo `mi_programa.c`. Este es el nombre relativo del fichero. Puede haber en el sistema otro fichero `mi_programa.c`, pero se distingue del tuyo porque está en otro directorio, es decir, tiene distinto nombre absoluto. El nombre absoluto añade como prefijo al nombre relativo la ruta (path), que es el camino al fichero desde el directorio raíz `/` (es decir, los directorios que hay que atravesar para llegar). Por ejemplo, tu fichero `mi_programa.c` tendrá un nombre absoluto, por ejemplo, `/users/ane/mi_programa.c`, mientras que el otro fichero `mi_programa.c` se llamará, por ejemplo, `/users/bartolo/mi_programa.c`.
- Hay algunos nombres especiales. Si haces `ls -a`, verás que siempre aparecen dos ficheros con nombres `.` y `..`, que sirven para referirse respectivamente al directorio actual y al directorio padre. Es decir, si tu directorio actual es `ane`, también puedes referirte a `mi_programa.c` como `./mi_programa.c` o `../ane/mi_programa.c`.