Tema 4 Linux
Tema 4 Linux
Empezando con
Debian
TEMA 4: Empezando con Debian
Comandos básicos
● clear → Borra la pantalla
● sudo hwclock → Muestra hora de la BIOS
● date → indica la hora del sistema (formato: día de la semana, mes, día mes, hora,
meridiano y año)
○ date -d “tomorrow”
○ date -d “yesterday”
○ date -d “3 weeks”
○ date -d “3 weeks ago”
○ date -d “next friday”
○ date -d “3 years ago 4 month ago 3 days ago”
○ date -s 10/30/2020
● cal → Muestra el calendario
○ cal 2020
○ cal 06 2020
○ ncal -w → Muestra el número de semana
Comandos básicos
○ cal (dia de tu cumpleaños)
○ cal -A 2 -B2
● timedatectl →Información general del Sistema, incluida zona horaria
● who → Muestra usuarios conectado al sistema. (formato: usuario/terminal/fecha)
● uname → Información del tipo de Sistema Operativo
○ uname -v
● lsb_release -d → Versión instalada del Sistema Operativo
○ lsb_release -a
● passwd → cambia la contraseña al usuario conectado
○ passwd usuario1
○ passwd usuario2
● echo → Muestra texto por pantalla
○ echo “ Sistemas Operativos”
○ echo -e “ Sistemas \n Operativos”
○ echo -e “Sistemas \t Operativos”
Concatenación de comandos. Sintaxis de comandos
● Concatenar : Separación entre comandos por ;
○ comando1; comando2; comando3 -> cuando termine el comando 1 se ejecuta el 2 y cuando este
termine, se ejecuta el comando3 (date;pwd;cal)
● Sintaxis:
○ ls -l → formato largo
○ ls -l /etc/
○ wc -l fichero → cuenta el número de líneas del fichero
○ df -h → df --human-readable
Comandos internos y externos
● Comando externos: son los programas binarios almacenados en HD y se cargan en
memoria, para poder ser ejecutados
● Comando internos: son los que se ejecutan dentro de la Shell donde se invocan,
forman parte de la Shell.
● type → indica el tipo comando
○ type pwd
○ type cal
Histórico
● history → Muestra el histórico
○ history n : muestras los últimos n comandos
○ !! : Ejecuta el comando anterior
○ history -c : ¿Borra el historial?
●
Rutas
● Ruta relativa: Indican el camino para encontrar un elemento desde el directorio en
donde nos encontramos posicionados
- Ejemplo: Estoy en /home y quiero
llegar a carpeta1 ¿?
Virguilla : alias de directorio
→ cd usuario/carpeta1 personal (f5)
- Ejemplo: Estoy /home/usuario y quiero
quiero llegar a carpeta4 ¿?
→ cd carpeta1/carpeta4
Rutas
● Ruta relativa:
○ El . representa al directorio actual (implícito)
○ El .. representa al directorio padre (nivel superior)
■ cd .. → cambia al directorio de nivel superior
■ cd. → no se mueve
■ cd → se posiciona en el directorio personal del usuario
Rutas
● Ruta absoluta: Concatenación desde la raíz de todos los directorios que se deben
cruzar para llegar al lugar deseado (fichero o directorio). Los directorios se separan
por /. Las rutas absolutas no tienen . ni ..
.
Es independiente del
lugar donde nos encontremos
Ficheros y Directorios
● ls, tree → lista ficheros y directorios
○ ls -l : Opción más completa
○ ls - S : Ordena por tamaño de mayor a menor (ls -l -S o ls -lS)
○ ls -t: Ordena por tiempo, primero los más recientes ( ls -l -t o ls -lt)
○ ¿Qué más opciones tiene ls? Seleccionas las más importantes
○ ls -a : Archivos ocultos (comienzan por un .)
Ficheros y Directorios
○
●
●
comprimido.gz)
Tuberías o pipes
● Permiten redireccionar la salida estándar de un programa hacia la entrada
estándar de otro
● Se unen comandos en la terminal de manera que la salida del primer comando se
utiliza como entrada para el segundo comando1 | comando2 | comando3
○ hwinfo | less → Dosifica la salida del comando hwinfo, mostrando su contenido poco a poco
○ hwinfo | more -10
○ ls -la | more
○ cat fichero.txt | wc -l → Cuenta el número de líneas del fichero fichero.txt
○ ls -la | wc -l
○ cat fichero.txt | sort → Ordena (mostrando la salida por pantalla) el fichero fichero.txt
○ cat fichero.txt | sort > ordenado.txt
Tuberías o pipes
● tee : Duplica la salida del canal estándar
○ ls -l | tee fichero.txt → Muestra por pantalla el contenido del directorio actual y
además crea con esa información el fichero fichero.txt (si el fichero no existe, lo crea. Si
existe, lo crea)
○ cal jun 2020 | tee calendario.txt
○ wc -l archivo1.txt | tee archivo2.txt → Cuenta el nº de líneas de archivo1, lo muestra por
pantalla y genera un fichero llamado archivo2 con esa información
■ tee -a → Si el fichero existe, se añade el contenido
● pwd | tee -a calendario.txt
Tuberías o pipes
● grep: Encuentra texto dentro del fichero que le indiquemos
○ ip a | grep 192 → De la salida de ip a solo muestra las líneas que contengan “192”
○ tail -10 /var/log/syslog | grep error
○ history | grep rm cat /etc/passwd | grep usuario
○ dmesg | less → Muestra información del hardware del equipo de manera paginada
Ficheros log: Registran de manera
ordenada en el tiempo todo los sucesos
importantes que ocurren en el sistema
operativo. Los SO Linux registran
absolutamente todo lo que pasa en el
sistema mediante logs. Se almacenan en
/var/log y sus subdirectorios
https://geekland.eu/logs-en-linux/ : logs
del sistemas
Operador Y lógico: &&. Operador O lógico ||
● comando1 && comando2 → comando2 se ejecutará si el comando1 se
ejecutó con éxito (valor de retorno 0). La expresión global es verdadera si
ambos comandos se ejecutan con éxito
○ cd Descargas && ls -l
○ apt-get update && apt-get install htop -y && apt-get clean
● comando1 || comando2 → comando2 se ejecutará si comando1 no se ejecutó
con éxito (valor de retorno distinto de 0). La expresión global es verdadera si
al menos uno de los comandos se ejecuta con éxito
○ cd Descargas || pwd comando1 || echo como comando1 no existe ejecuto ahora el echo
○ apt-get install htop -y || apt-get update echo el primer echo se ejecuta pero el segundo no || echo a que
no
Agrupación de comandos
● Se utiliza para dirigir la salida de varios comandos por pantalla hacia el
mismo archivo o tubería. Se utilizan los paréntesis ()
○ (pwd ; ls) > salida.txt es distinto a pwd;ls > salida.txt ¿por qué?
○ (date; cal; pwd) > salida.txt
○ (cd /tmp; pwd; ls) > salida.txt
Ejercicio tuberias
Variables de entorno
● Al iniciar una sesión (terminal, modo gráfico) se leen las variables de entorno
○ VARIABLE→ Ubicación que permite almacenar un valor que puede cambiar
○ VARIABLE DE ENTORNO → Nos dan información sobre el sistema
● env → lista variables de entorno (suelen estar en mayúsculas)
○ env | grep USER
● Variables importantes (algunas); PATH, SHELL, HOME, PWD, USER,
● echo $variable → Muestra el valor de la variable
○ echo $HOME, echo $PATH → Cuando se ejecuta un comando, se busca primero el
fichero ejecutable que corresponde a ese comando en una lista de directorios que está
almacenada en PATH
Variables de entorno
● Crear variables de entorno→ NOMBRE_VARIABLE=valor (las variables de
entorno que nos definimos no se guardan entre sesiones)
Paquetes. Instalación
● apt-get → Bajo nivel
● apt → Versión más moderna y amigable
(colores, barra de progreso)
● aptitude → Versión mejorada de apt y
gestiona mejor las dependencias
apt moo
HUEVO DE PASCUA
Paquetes. Instalación manual
● El formato de los paquetes que Debian utilizar para instalar aplicaciones es
.deb
● Para realizar una instalación manual hay que descargar el .deb
○ wget http://ejemplo.com/programa.tar.gz
Duro
Acceso directo Enlace
Simbólico
Acceso rápido y cómodo a los programas o
ubicaciones que más se usan
Enlaces duros
● Cada fichero/carpeta tiene asignado un número de inodo que es único
● El inodo tiene información sobre permisos, propietario, ubicación, fecha de
creación…
● Enlace duro → Copia exacta del fichero/s enlazados (mismo inodo, permisos,
propietario, grupo…). Forma de identificar un contenido almacenado en el
disco con un nombre diferente al archivo original
Enlaces duros
■
●
○
Archivos que
apuntan al
mismo inodo
su -l usuario →
Cambiamos de
usuario en la
misma sesión
●
Ejercicios usuarios
(todos en clase)
Permisos sobre directorios y ficheros
● Tipo de fichero. Cada tres caracteres se hace referencia a permisos del propietario, del
grupo y del resto de usuarios del equipo. (Nos indica el tipo de operaciones que el usuario que haya
iniciado sesión puede realizar sobre el directorio)
● Tipos de permisos:
○ Lectura ( r) → Permite saber los ficheros y directorios que contiene el directorio en cuestión (ls)
○ Escritura ( w) → Permite crear archivos, directorios, borrarlos, copiar, mover archivos al
directorio,, cambiar el nombre…
○ Ejecución ( x) → Permite situarse en el directorio y examinar su contenido y copiar archivos de él
Permisos sobre directorios y ficheros
● Propietario: Un archivo/directorio es propiedad de quien lo crea
● Grupo: Cada usuario pertenece necesariamente a un grupo de usuarios
● Otros usuarios: El archivo/directorio puede ser utilizado por otros usuarios que
no sean los usuarios del grupo al que pertenece el propietario
Cada fichero (directorio) tiene un propietario y un grupo, que son el usuario y el
grupo de quien lo creó.
● Cada usuario hará lo que quiera sobre sus directorios, pero sobre los demás solo
podrá hacer lo que el root le haya asignado
chmod
Permisos sobre directorios y ficheros
● chmod g+x dir1 → Doy privilegios de ejecución sobre dir1 al grupo al que pertenece
el usuario
● chmod ugo+rwx dir1 → Doy privilegios de lectura, ejecución y escritura a todos los
usuarios para dir1
● chmod go-wx dir1 → Quito los privilegios de escritura y ejecución sobre dir1 al
grupo y al resto de usuarios
● chmod =x dir1 → Asigna a todos los usuarios el permiso de ejecución→ chmod
ugo+x dir1
● chmod = dir1 → Quita todos los privilegios a todos los usuarios sobre dir1
Crea un directorio llamado permisos1 y observa los permisos que tiene. Recuérdalos
1. Queremos que el grupo de usuarios tenga permiso de ejecución sobre “permisos1”
2. Quita a usuarios, grupos y otros el privilegio de lectura sobre “permisos1”
3. Queremos dejar los privilegios sobre “permisos1” igual que estaban al principio
Permisos sobre directorios y ficheros
● Notación octal
Cuando se combinan los permisos del propietario, grupo y otros, se obtiene un número de tres cifras que
indican los permisos del directorio o archivo
chmod 600 dir1 → Propietario tiene permisos de lectura y escritura, el grupo y otros no tienen permisos.
chmod 711 dir1 → El propietario tiene permisos de rw,x, y el grupo y otros sólo ejecución
chmod 777 dir1 → El archivo/directorio puede ser leído, escrito y ejecutado por cualquiera
chmod 400 dir1 → El directorio solo puede ser leído por el propietario, pero ni él mismo puede modificarlo ni
ejecutarlo
chmod 640 dir1→ El propietario puede leer y escribir, el grupo puede leer y los otros no pueden hacer nada
Permisos sobre directorios y ficheros
● ¿A qué número octal equivale el conjunto de permisos rw-r-xr-x ?
● ¿A qué conjunto de permisos equivale el número 456 en octal?
● Los tipos de permisos que se aplican sobre ficheros son los mismos que sobre
los directorios
● La diferencia está en los permisos que se asignan a un directorio al crearlo y
los que se asignan a un fichero
755 para directorios
ejercicio1 usuariosgrupospermisos
Ejercicio entregar
practica3 permisos
Comando cut (cortar)
● Extrae trozos de líneas de texto, bien sea de un fichero o de la entrada estándar
● Permite que le indiquemos lo que queremos que nos muestre de cada línea del
archivo
○ cut opciones archivo
● Opciones:
○ -d : delimitador. Por defecto es el tabulador
○ -f : permite seleccionar los campos (elemento situado entre delimitador y delimitador)
Particionamiento
● MBR :
● Partición primaria→ Puede haber hasta 4 o 3 y una extendida. Puede ser reconocida como
partición de arranque y contener un SO (la partición de arranque es la activa). Cuando hay
varios SO instalados, la partición activa tiene un pequeño programa (gestor de arranque)
que presenta un menú para elegir el SO que inicia.
● Partición extendida → Sólo puede haber 1. No se pueden instalar SO en ellas., ni contienen
datos. Están indicadas para almacenar datos. Puede subdividirse en particiones lógicas
● Partición lógica → Partición que está dentro de una extendida. Ocupa toda o una parte de
la partición extendida. Cada una puede tener un sistema de archivos distinto.
Particionamiento
● GPT :
● Admite hasta 128 particiones primarias
● Más fiable que MBR. Su tabla de particiones se almacena no solo en los primeros
sectores del disco, sino que GPT crea varias copias redundantes a lo largo de todo el
disco
Particionamiento. fdisk
● https://wiki.archlinux.org/index.php/Fdisk
● Permite administrar y gestionar el espacio del disco duro
● Permite crear, eliminar, redimensionar, cambiar, copiar y mover particiones a través de
su menú
● fdisk -l → Muestra los dispositivos de almacenamiento y particiones existentes en el
sistema.
○ sda, sdb, sdc…
○ hda, hdb, hdc.. Nombre de los dispositivos
○ vda, vdb, vdc..
○ sda1, sda2,sda3,.... → Particiones del disco sda
○ sdb1, sdb2, sdb3…→ Particiones del disco sdb
● fdisk -l /dev/sdx → Muestra las particiones de un disco duro determinado
● fdisk -s /dev/sda1 → Muestra el tamaño de la partición 1 del disco a
● fdisk /dev/sdx → Muestra todas las opciones que ofrece el comando (m del menú)
1. Particionar sdb
2. Comprobar con gparted (Instalar) Ejercicio particionar1
Sistemas de archivos
● Modo de organización de la información (ficheros) en un soporte de
información (discos duros, pendrives…)
● Se encargan de asignar a los archivos el espacio que necesiten, ordenarlos,
permitir el acceso a ellos y administrar el espacio libre de las unidades de
almacenamiento.
● Cada partición puede contener un sistema de archivos• → Hay que dar
formato a dicha partición
● Al dar formato se crea un sistema de archivos que puede ser NTFS, FAT32,
EXT3, EXT4…
● Formatear: proceso de creación de un sistema de archivos en un soporte de
almacenamiento (partición de disco duro, pendrive,…)
Sistemas de archivos. FAT32
● Establecido en 1996
● Gran compatibilidad con prácticamente todos los dispositivos
● Solo permite almacenar archivos de hasta 4GB
● Compatible con Windows, MacOS y GNU/Linux
● Funciona en los USB 2.0
● dump → Lo normal es mantener ese valor a 0 (0,1). Si el valor es 1 se realizará una copia de respaldo del
sistema de archivos
● pass → (0,1,2). Indica el orden en el que el sistema de archivos serán comprobados. 1→ prioridad más
alta para que fsck realice la comprobación (directorio /), resto de dispositivos 2
● options:
○ auto/noauto → El sistema de archivos será montado automáticamente (mount -a) o no
○ exec/noexec → Permite la ejecución o no de sistemas binarios
○ ro/rw → Monta la partición en modo lectura o en modo lectura/escritura
○ user → Cualquier usuario puede montar el sistema de archivos
○ users→ Permite montar el sistema de archivos a cualquier usuario que sea del grupo users
○ nouser → Sólo puede montar el sistema de archivos root
● man mount para ver más opciones
Instalación debian particionado manual
Instalación entornos de escritorio
kde-standard
Gnome
xfce4
Procesos
● Proceso → Programa que está en ejecución
● Cuando ejecutamos un comando, aplicación, herramienta... se genera, como
mínimo, un proceso
● El SO se encarga de controlar los estados en los que se encuentran los
procesos
○ En ejecución: El proceso está utilizando su tiempo de CPU
○ En espera : El proceso está esperando que la CPU le asigne su tiempo
○ Bloqueado: El proceso está bloqueado (necesita de un dispositivo que
está ocupado, necesita que un usuario introduzca la información que
espera…)
● Cada proceso tiene un PID único
● ps [opciones] → Muestra los procesos que están ejecutándose. Listado
estático
Procesos
● ps aux → Lista los procesos del sistema