@acmupm
@acmupm
@acmupm
@acmupm
Applications
Kernel interface (syscalls)
Userspace
Kernel space
Memory management
Scheduler
IPC
File System
Device I/O
Network Services
(con núcleo monolítico)
@acmupm
-/
|-home
|\-roberto
| \-code
| \-hello.py
\-run
\-media
\-roberto
|-MIS_DATOS
| |-not_a_xvideos_video.mp4
| \-practica_arqui.docx
\-GTA_IV
|-Autorun.inf
\-Setup.exe
/home/roberto/code/hello.py
/run/media/roberto/MIS_DATOS/practica_arqui.docx
@acmupm
[roberto@tux ~] $ ls /
boot dev etc home mnt opt proc root run sys tmp usr var
/boot: Almacena los archivos para arrancar el sistema (mejor no tocarlo mucho)
/dev: Contiene archivos que apuntan a dispositivos
/etc: Contiene archivos de configuración
/home: Contiene las carpetas de los usuarios
/mnt: Carpeta vacía, normalmente usada para montar discos duros o pen drives.
/opt: Normalmente se usa para guardar software adicional.
/proc: Proporciona información del kernel a través de ficheros.
/root: Carpeta "home" del usuario root.
/sys: Contiene información sobre dispositivos, y otros componentes del kernel.
/tmp: Carpeta para almacenar archivos temporales.
/usr: Contiene librerías, aplicaciones, entre otros.
/var: Contiene archivos variables del sistema, como logs.
@acmupm
@acmupm
Estructura de un comando:
root@mypc ~ # apt install nyancat
Prompt
Comando
Parámetros (opcionales)
Intérprete: programa que lee y ejecuta los comandos
@acmupm
Current directory:
[roberto@tux ~] $ pwd /home/roberto [roberto@tux ~] $ cd code [roberto@tux code] $ ls hello.py [roberto@tux code] $ ls /home roberto [roberto@tux code] cat hello.py print("world!")
@acmupm
[roberto@tux ~] $ sudo apt install emacs
[roberto@tux ~] $ su
Password:
[root@tux ~] #
@acmupm
[roberto@tux ~] $ ls -alh -rw-r--r-- roberto roberto 349K Sep 16 00:38 acm.png drwxr-xr-x roberto roberto 4.0K Oct 1 01:33 carpeta
rwxr-xr-x
Permisos de usuario:
r: lectura
w: escritura
x: ejecución
Permisos de grupo
Permisos de cualquiera
Cada archivo pertenece a un usuario y a un grupo, y sus permisos definen quién puede acceder a él.
@acmupm
750
[roberto@tux ~] $ ls -alh -rw-r--r-- roberto roberto 349K Sep 16 00:38 acm.png drwxr-xr-x roberto roberto 4.0K Oct 1 01:33 carpeta
[roberto@tux ~] $ chmod 400 acm.png
[roberto@tux ~] $ ls -alh -r-------- roberto roberto 349K Sep 16 00:38 acm.png drwxr-xr-x roberto roberto 4.0K Oct 1 01:33 carpeta
111
rwx
101
r-x
000
---
Owner
Grupo
Cualquiera
@acmupm
[roberto@tux ~] $ export NODE_ENV=production [roberto@tux ~] $ node app.js Current environment: production [roberto@tux ~] $ echo $PATH /home/roberto/.local/bin:/usr/local/bin:/opt/minecraft
@acmupm
[roberto@tux ~] $ sudo apt update
[roberto@tux ~] $ sudo apt upgrade
[roberto@tux ~] $ sudo apt install nyancat [roberto@tux ~] $ sudo apt remove nyancat
[roberto@tux ~] $ sudo pacman -Sy
[roberto@tux ~] $ sudo pacman -Su
[roberto@tux ~] $ sudo pacman -S nyancat [roberto@tux ~] $ sudo pacman -R nyancat