Fundamentos de Linux: Scripts, Kernel, Directorios, Procesos y Licencias de Software
Conceptos fundamentales de Linux y Unix
Scripts
Los scripts o guiones son un tipo de programas de todos los sistemas Unix, que se pueden unir para realizar una gran actividad a través de un solo comando.
Ayuda de guiones: man bash
Kernel
El kernel es la parte fundamental del sistema operativo. Se encarga de manejar los recursos y permite que los programas hagan uso de ellos.
Principales recursos
- CPU
- Memoria
- Dispositivos de E/S
Además, el kernel se encarga de proporcionar:
- Protección mediante diferentes niveles de acceso.
- Acceso compartido a los recursos.
Estructura de directorios
Directorios principales
- /bin: Comandos binarios esenciales de usuario.
- /boot: Archivos estáticos del selector de arranque.
- /dev: Archivos de dispositivos.
- /etc: Archivos de configuración.
- /home: Directorio de usuario.
- /lib: Librerías esenciales compartidas y módulos del kernel.
- /media: Punto de montaje para medios removibles.
- /mnt: Montaje temporal para sistemas de archivos.
- /opt: Agregados de paquetes de software y aplicaciones.
- /sbin: Binarios del sistema.
- /srv: Datos para los servicios provistos por este sistema.
- /tmp: Archivos temporales.
- /usr: Utilidades y aplicaciones de usuarios.
- /var: Ficheros/datos que cambian frecuentemente.
- /root: Directorio del usuario root.
- /proc: Documentación del sistema de archivos virtual del kernel y las condiciones de los procesos en archivos de texto.
Tipos de directorios
- Estáticos: Archivos binarios, bibliotecas y otros en solo lectura.
- Dinámicos: Aquellos que van cambiando.
- Compatibles: Archivos comunes que están en cualquier distribución.
- No compatibles: Que no son compatibles con otras distribuciones.
Tuberías
Las tuberías son un mecanismo del Shell en Unix. Permiten tomar la salida de un comando y pasársela como entrada a otro. Pueden estar formadas por un número ilimitado de comandos y no se ejecutan secuencialmente.
Procesos, Shell y gestión de paquetes
Procesos
Proceso: Es una instancia de un programa en ejecución. En Linux se ejecutan muchos procesos de forma concurrente, aunque solo uno accede al procesador en un instante de tiempo determinado. Cada proceso, en el momento de su creación, se le asocia un número único que lo identifica, y se asocia información como el usuario, hora, línea de comandos, estado, prioridad y terminal donde fue invocado.
Shell
Shell: Intérprete de comandos, la interfaz entre el usuario y el sistema operativo. Función: recibir órdenes del usuario a través de la línea de comandos, interpretarlas, ejecutarlas y mostrar su resultado.
APT
APT (Advanced Package Tool): Utiliza un archivo con direcciones de repositorios que contiene los paquetes candidatos a ser instalados.
Tipos de software y licencias
- Freeware: Programa que se distribuye gratuitamente, sin ningún coste adicional, pero no tiene por qué ser libre.
- Shareware: Se distribuye con limitaciones, como versión de prueba, funciones limitadas o límite de tiempo.
- Adware: Permite el uso de software gratuito a cambio de la introducción de banners, publicidad, etc.
- Software libre: Dispone de código abierto, pero no ha de ser gratis exclusivamente.
- Copyleft: El autor del programa lo declara como dominio público, incluye el código de forma que se puede modificar y ejercer su derecho de copia.
- Copyright: Normas y principios que regulan los derechos morales y patrimoniales que la ley concede a los autores por la creación de una obra, publicada o no, llamados derechos de autor.