0% encontró este documento útil (0 votos)
27 vistas

Tema 4 Linux

Este documento proporciona una introducción a varios comandos básicos de Debian como clear, date, cal, timedatectl, who, uname, lsb_release, passwd, echo, así como explicaciones sobre la sintaxis y uso de comandos, rutas, ficheros y directorios.

Cargado por

ago711918
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
27 vistas

Tema 4 Linux

Este documento proporciona una introducción a varios comandos básicos de Debian como clear, date, cal, timedatectl, who, uname, lsb_release, passwd, echo, así como explicaciones sobre la sintaxis y uso de comandos, rutas, ficheros y directorios.

Cargado por

ago711918
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 90

Tema 4.

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:

Comando [parámetros] [argumentos]


Los corchetes indican que lo que encierran es opcional, es decir puede estar o no.
- [parámetros] : opciones del comando. Suelen comenzar con un guión, doble guión,... , y
afectan al comportamiento del comando.
–[argumentos] son los valores en los que un comando debe realizar una acción ( ficheros,
texto, etc).
–Los comandos pueden tener ningún o varios parámetros y argumentos.
-Los parámetros pueden ponerse de forma individual (ls -l -i -a)
Concatenación de comandos. Sintaxis de comandos
-O agrupados (ls -lia)

-Los parámetros no están estandarizados. Un mismo parámetro puede tener un significado


en un comando y otro diferente en otro comando

○ ls -l → formato largo
○ ls -l /etc/
○ wc -l fichero → cuenta el número de líneas del fichero

-Los parámetros pueden ir precedidos de un - o -- (así el parámetro es más identificable)

○ 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

● 1. - ordinario, directorio, vínculo o enlace simbólico


● 2. Contador de enlaces
● 3. Propietario del fichero (suele ser el creador)
● 4. Grupo al que pertenece ese usuario
● Tamaño en Bytes
● Fecha de la última modificación
● Nombre del fichero
Ficheros y Directorios
● touch nombre_fichero → Crea vacío el fichero
○ touch uno.txt → Crea vacío el fichero uno.txt (touch fich1.txt fich2.txt fich3.txt)
○ > dos.txt → Crea vacío el fichero dos.txt
touch fich{1..3}.txt
○ :> tres.txt → Crea vacío el fichero tres.txt
● cat nombre_fichero → Visualiza el contenido del fichero

Directorios más importantes en Debian


● Directorio raíz (/). De él cuelgan todos los directorios del sistema. Dentro hay
subdirectorios como /bin que contiene los comando ejecutables para todos los
usuarios
● /sbin. Aquí hay archivos de configuración del sistema
Directorios más importantes en Debian
● /home. Directorio donde se encuentran los directorios personales de todos los
usuarios del sistema
● /usr. Contiene utilidades y programas generales de usuario. Contiene programas
de uso general para todos los usuarios
● /dev. Aquí nos encontramos todos los dispositivos físicos del sistema (todo
nuestro hardware)
● /lib. Contiene librerías y compiladores del sistema
● /etc. Directorio con ficheros de configuración y utilidades de administración
● /media. Contiene todas la unidades físicas que tenemos montadas (discos duros,
pendrive…)
Directorios mkdir -p primero/segundo/tercero
Crea el directorio primero, dentro
de él segundo, y dentro de
● mkdir directorio → Crea directorios segundo, crea tercero
○ mkdir dir1 dir2 dir3 : crea los directorios dir1, dir2, dir3 en el directorio actual
○ mkdir /home/usuario/prueba/ {dir1, dir2,dir3}: Crea los directorios dir1, dir2, dir3
en /home/usuario/prueba mkdir s ./s/ss

● rmdir directorio→ Borra directorios. Tiene que estar vacío


● rm → Suprime uno o varios ficheros y estructuras completas
○ rm fich1.txt → elimina el fichero fich1.txt
○ rm -r directorio → Se suprimen todos los niveles inferiores. Supresión recursiva
○ -i → pide confirmación para cada fichero/directorio a eliminar
■ rm -i -r directorio rm -rf → Muy útil a la vez que PELIGROSO

○ - f → Fuerza la eliminación No tiene funcionalidad tipo papelera de GUI


Copiar ficheros
● cp fichero destino → copia el fichero al destino especificado
○ cp /home/usuario/fich1.txt /home/usuario/Descargas
○ cp fich1.txt Descargas (estoy situado en /home/usuario y quiero copiar el fich1 al
directorio Descargas que cuelga de /home/usuario/)
○ cp /home/usuario/fich1.txt /home/usuario/Descargas
○ - r → Recursivo. Copia un directorio y todo su contenido (no conserva atributos
de los ficheros)
○ -a → Recursivo. Copia un directorio y todo su contenido (SI conserva atributos de
los ficheros)
○ - f → Fuerza la copia
○ -p → Se preservan fechas los permisos y las fechas
○ - u → copia el fichero solo si el original es más reciente
Copiar ficheros
Mover y renombrar ficheros
● mv → Mover y renombrar ficheros
○ mv fich1.txt fich.old → Cambia el nombre del fich1.txt por fich.old (si el fichero fich.old
ya existe, se sobreescribe.)
○ mv fich1.txt directorio2/fich1.txt → Mueve el fich1.txt al directorio2 (si no pongo el
nombre en el destino lo mueve con el mismo nombre)
○ mv fich1.txt directorio2/fich.old → Mueve el fich1.txt al directorio2 y lo cambia de
nombre por fich.old
○ mv fotos1 fotos2 fotos2 Descargas → Mueve los ficheros fotos1, fotos2 y fotos3 al
directorio Descargas
○ mv directorio2 directorioold → Cambia de nombre al directorio2 por directorioold
○ mv directorio2 /home/usuario/directorio 22 → Mueve el directorio2 al directorio22
que está dentro de /home/usuario (si la carpeta no existe, la crea)
Otros comandos para ficheros
● more fichero → Visualiza el contenido del fichero
○ more -c fich1.txt → Borra la pantalla justo antes de mostrar el contenido del fichero
fich1.txt
○ more -2 fich1.txt → Muestra el fichero fich1.txt de 2 líneas en 2 líneas
● head fichero → Muestra las 10 primeras líneas del fichero
○ head fich1.txt
○ head -n 5 fich1.txt → Muestra las 5 primeras lineas de fich1.txt → head -5 fich1.txt
● tail fichero → Muestra las 10 últimas líneas del fichero
○ tail -3 fich1.txt → Muestra las 3 últimas líneas del fichero fich1.txt
○ tail -f fich1.txt → Muestra las 10 últimas líneas de fich1.txt a medida que va creciendo
(útil para log, ya que genera información a medida que el fichero crece)
Rutas de archivos
● dirname → Extrae el directorio de la ruta de un fichero
○ dirname /var/log/mail.log → Devuelve /var/log

● basename → Extrae el nombre de un fichero de la ruta del fichero


○ basename /var/log/mail.log → Devuelve mail.log
○ basename /var/log/mail.log .log → Devuelve mail , el fichero sin la extensión

Comandos útiles cuando se creen scripts


Comodines
● Son caracteres de sustitución
● * → Representa una cadena de longitud variable (0 o más caracteres)
● ? → Representa un único carácter
● [ ] → Representa el carácter o los caracteres especificados
● [! ] → Representa cualquier carácter que no esté entre corchetes
● Rangos:
○ [ - ] → Representa un carácter que esté en la serie. Ejemplo [a-d]
○ [! - ] → Representa un carácter que está fuera del rango. Ej : [!a-g]
○ { } → Expanden una palabra por cada cadena de caracteres contenida entre
ellas y separadas por comas. Ej: echo ca{mino, lle, mion} → Devuelve camino, calle, camion
Comodines
Comodines
Expansión de llaves
● Mecanismo que permite generar cadenas de texto de forma arbitraria
● Sintaxis {x,y,z}
○ echo a{x,y,z}
○ mkdir {dir1,dir2, dir3 }
○ echo prefijo{x,y,z} echo {x,y,z}sufijo
○ touch{a,b,c}{1,2,3,4}
○ touch fich{a,b,c}{.jpg,.png}
○ ls -l {a,b}{1..4}
Expansión de llaves
Redirecciones
● Capacidad de redireccionar la visualización de la pantalla hacia ficheros, impresoras o
cualquier otro dispositivo periférico. Se utilizan con comandos
● Permiten recuperar el resultado de uno o varios comandos y enviarlo a un archivo, o
provocar la lectura de un archivo por un comando.
● Todo proceso tiene asociado por defecto 3 descriptores o canales
● Cualquier comando que se teclea se le conoce como que está utilizando la entrada
estándar [STDIN]. (teclado)
● La salida o resultado del comando se le conoce como la salida estándar [STDOUT] y
es generalmente la terminal. (pantalla)
● Si hay errores en la ejecución estos se conocen como la salida de error estándar
[STDERR] y es también por default la terminal. (pantalla)
Redirección de salida > >>
● Redirección Simple: Comando > fichero
○ ls -l > fichero1.txt (si fichero1.txt no existe,se crea. Si existe, se sobreescribe).
El shell, primero crea el fichero y después introduce el resultado del comando
ls en el fichero1.txt)



Se crean los ficheros involucrados antes de realizar el redireccionamiento en sí


Redirección de salida > >>
● Redirección doble : Comando >> fichero
○ Se añaden nuevos datos en el fichero sin sobreescribirlo. Esos datos se
añadirán al final del fichero
○ ls -l >> fichero1.txt ip a >> fichero1.txt (si el fichero1 no existiese se crea)

Redirección de Entrada <


● Los comandos que esperan datos pueden recibirlos desde un fichero
Comprimir y descomprimir archivos (tar, zip, gzip)
● ¿Están instalados?? (dpkg -s nombre paquete)
○ apt install tar zip gzip Empaquetar es distinto de
comprimir
● ZIP/UNZIP
○ zip [parámetros] fich_comprimido.zip listado_fich_a_comprimir
■ zip comprimido.zip fich1 fich2 fich3 → Se crea el fichero comprimido.zip que
guarda los fiheros fich1, fich2 y fich3
■ zip Descargas/comprimido.zip fich1 fich2 fich3 → Crea el fichero
comprimido.zip dentro del directorio Descargas con los ficheros fich1 fich2 ..
■ zip Imágenes/c.zip Descargas/f1 Descargas/f2
■ zip -v capturas.zip *
Comprimir y descomprimir archivos (tar, zip, gzip)
● ZIP/UNZIP
○ Comprimir un directorio → zip -r dir.zip /home/usuario/Descargas
○ Eliminar archivos del fichero comprimido → zip -dv c.zip f1
○ Añadir archivos a un fichero comprimido existente:
■ zip -u Imagenes/c.zip Descargas/f3
○ Mover un archivo a un zip: Después de moverlos, desaparecerán de sus
directorios originales (ahorro de espacio)
■ zip -m Imagenes/c.zip Descargas/f4
○ Descomprimir un fichero comprimido:
■ unzip comprimido.zip (se descomprimirá en el mismo directorio que esté)
Comprimir y descomprimir archivos (tar, zip, gzip)
● ZIP/UNZIP
○ Descomprimir un fichero comprimido en un directorio diferente:
■ unzip comprimido.zip -d /home/usuario/Descomprimir (se descomprimirá en
un directorio diferente al actual)

○ Descomprimir varios archivos zip existentes


■ unzip ‘*.zip’
○ Listar el contenido del fichero comprimido
■ unzip -l comprimido.zip
○ Suprimir los mensajes de salida:
■ unzip -q comprimido.zip
Comprimir y descomprimir archivos (tar, zip, gzip)
● TAR
Comprimir y descomprimir archivos (tar, zip, gzip)
● TAR
○ Empaquetar (agrupar en un solo fichero varios ficheros y/o directorios)
○ Al empaquetar con tar se obtiene un fichero .tar. Se puede comprimir
con gzip, obteniendo un fichero .tar.gz
○ tar -cvf comprimido.tar /home/usuario/Documentos (tar puede
empaquetar ficheros y directorios). Empaqueta el directorio Documentos en un
fichero llamado comprimido.tar
■ c: Crear un nuevo fichero .tar
■ v: muestra detalles del proceso
■ f: nombre del fichero
Comprimir y descomprimir archivos (tar, zip, gzip)
● TAR
○ Para mejorar la compresión puede usarse tar y gz
■ tar -cvzf comprimido.tar.gz /home/usuario/Documentos
● z: Aplicar compresión zip -c: comprimir
-x: extraer
○ Descomprimir/Desempaquetar: -C: directorio diferente

■ tar -xvf comprimido.tar → Extrae el contenido de comprimido.tar al


directorio activo
■ tar -xvf comprimido.tar -C /home/usuario/Descargas/descomprimir→
Extrae el fichero comprimido.tar en el directorio
■ tar -xvf comprimido.tar.gz
Comprimir y descomprimir archivos (tar, zip, gzip)
● TAR
○ Añadir archivos a un archivo comprimido (también directorios)
■ tar -rvf comprimido.tar /home/usuario/Documentos/f1.txt
■ tar -rvf comprimido.tar Descargas No se pueden agregar archivos
o directorios a un .tar.gz
○ Listar el contenido del fichero tar
■ tar -tvf comprimido.tar
■ tar -tvf comprimido.tar.gz
○ Extraer un fichero del paquete .tar
■ tar -xvf comprimido.tar f1.txt → Extrae de comprimido.tar solo el
fichero f1.txt
■ tar -zxvf comprimido.tar.gz f1.txt
Comprimir y descomprimir archivos (tar, zip, gzip)
● GZIP/GUNZIP
○ Comprime ficheros en formato .gz
○ Por defecto, el fichero original es reemplazado por el fichero comprimido
■ gzip fich1 fich2 …. → Se crearía un fich1.gz fich2.gz de menor tamaño
gzip -k fich1 → comprimie fich1 sin
○ Comprimir más de un fichero: eliminarlo. Crearía fich1.gz

■ cat fich1 fich2 fich3 fich3 | gzip > comprimido.gz


○ Mostrar información sobre cuánto se ha comprimido el fichero
■ gzip -l fich1.gz Sólo comprime ficheros. No
puede comprimir directorios
○ Descomprimir un fichero
■ gunzip fich1.gz = gzip -d fich1.gz
Comprimir y descomprimir archivos (tar, zip, gzip)
● GZIP/GUNZIP
○ Comprimir recursivamente:
■ gzip -r * → Comprimite todos los ficheros del directorio activo

○ Evitar que al descomprimir se elimine el fichero comprimido:


■ gunzip -k comprimido.gz
○ Descomprimir en otro directorio que no sea el activo
■ gunzip -c comprimido.gz > Descargas/descomprimido (no elimina el fichero

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)

El fichero .bashrc (~/.bashrc) → Se


ejecuta al abrir la terminal y contiene la
configuración de la misma

● (Ejercicio variables de entorno)


Paquetes. Repositorios
● Los paquetes se descargan de uno o más repositorios (servidores de red,
archivos locales o CD/DVD, que contienen todos los paquetes Debian
perfectamente organizados, estructurados y actualizados) →
/etc/apt/sources.list
● Cada línea es un repositorio e indica la forma en la que se va a obtener el
paquete y la rama de Debian que se va utilizar (stable, testing, unstable).
Conviene que estén ordenados por orden de importancia y por velocidad
■ deb http://deb.debian.org/debian/ buster main
■ deb-src http://deb.debian.org/debian/ buster main

deb, deb-src → paquetes binarios, paquetes de código fuente


http://deb.debian.org/debian/ → URL del archivo de Debian, en este caso permite acceso por
http (tambien puede ser https, ftp, cdrom…)
buster → Nombre de la distribución
Paquetes. Repositorios
main → Sección principal, contiene aprox el 90% de los paquetes. Ninguno de ellos dependen
de software fuera de Debian para funcionar. Sus paquetes cumplen los requerimientos del
proyecto Debian (pautas del software libre). Instalar herramientas 100% libres
contrib → Paquetes que requieren software fuera de la distribución para funcionar. Deben
cumplir los requerimientos del proyecto Debian. (Instalar herramientas no 100% libres)
non-free → Paquetes que funcionan en Debian pero que no siguen los requerimientos del
proyecto. (Instalar herramientas no 100% libres)
¿Cómo saber a qué área y sección pertenece un paquete?
Paquetes. Repositorios
http://security.debian.org/debian-security buster/ updates main→ Actualizaciones de
seguridad para la versión estable

http://deb.debian.org/debian/ buster-updates main→ Actualizaciones compatibles para


buster ¿apt , apt-get o aptitude?

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 update → Actualiza los repositorios definidos en el sources.list. Mira si hay


nuevas versiones de los paquetes que tenemos en las fuentes definidas.
Actualiza la lista de paquetes disponibles para instalar
● apt upgrade → Instala (pide confirmación) paquetes instalados que tengan
alguna nueva versión. Actualiza el sistema (no solo el SO, también las
aplicaciones contenidas en los repositorios)
Paquetes. Instalación
● apt search <palabra> → Busca palabra dentro de la lista de paquetes. Muestra
los paquetes que coinciden con la palabra a buscar (porque es el paquete,
contiene la palabra en su nombre, o porque se nombra en la descripción)
● apt show <paquete> → Muestra información sobre el paquete (versión, tamaño..)
● apt list → Lista los paquetes disponibles para instalar
○ apt list | grep zip → Filtra por el nombre del paquete
○ apt list --installed → Lista los paquetes instalados
○ apt list --upgradable → Lista los paquetes que tienen actualización
disponible
● apt install <paquete> → Instala el paquete. Para omitir la confirmación añadir -y
○ apt install zip -y
○ apt install zip tar gzip
Paquetes. Desinstalación
● apt remove <paquete> → Elimina del sistema el paquete, excepto los ficheros de
configuración que se pudieran haber modificado
● apt purge <paquete> → Se elimina por completo el paquete, incluido los ficheros
de configuración
● EQUIVALENCIA ENTRE APT Y APT-GET

apt moo

apt moo moo

apt moo moo 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

● dpkg -i <paquete> → Instala el paquete. No descarga. No satisface las


dependencias. Si una dependencia falla, dpkg dará error
○ dpkg -i paquete.deb
● dpkg -r <paquete> → Desinstala el paquete
● dpkg -l | grep <paquete> → Verificar que un paquete se ha instalado

Ejercicio paquetes Ejemplo: Descargar e instalar Google Chrome:


https://www.linuxadictos.com/como-instalar-googl
Tarea synaptic e-chrome-en-las-diferentes-distribuciones-de-lin
ux.html
Enlaces
Acceso directo
Acceso directo

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

Tanto el enlace duro como el fichero apuntan al mismo inodo (a la


misma información almacenada en el disco duro)

● SINTAXIS: ln <ruta/nombre_fich_original> < ruta/nombre_enlaceduro>


● Crear enlaces recursivos a todo un directorio: cp -rl ~/musica ~/Escritorio/musica
→ Se crea un enlace duro de todas las canciones de la carpeta música en el
escritorio
Enlaces duros. Propiedades
● Cualquier cambio que se realice en el fichero original o en el enlace, afecta a
los dos por igual (si se añade texto en el fichero original también se añade al
enlace y al revés)
● Si se borra el fichero original se puede tener acceso a su contenido a través
del enlace. Su contenido no se borrará hasta que no se borre el enlace
● Sólo se pueden usar en la partición en la que se ha creado
● Si el archivo original cambia de ubicación, el enlace duro no se rompe y se
puede seguir usando
● Ocupan en disco menos espacio que los enlaces simbólicos
● El acceso al contenido es más rápido a través de un enlace duro que de un
enlace simbólico

Enlaces Simbólicos
● Apuntan al nombre de un archivo, que a su vez, este, apunta a un contenido
almacenado en disco
● Cada enlace simbólico tiene su propio número de inodo y es distinto al del
archivo original
● Se pueden crear enlaces simbólicos de archivos y carpetas aunque estén en
discos duros o particiones diferentes
● SINTAXIS: ln -s <ruta/nombre_fichero_original> <ruta/nombre_enlacesimb>
Gestión de Grupos y usuarios. Grupos
● Linux es clasista, dependiendo del grupo en el que se está se pueden hacer
determinadas cosas (acceso a ficheros, directorios,...)
● Los grupos permiten dar permisos a ficheros o directorios a muchos usuarios a la
vez.
● A un grupo pueden pertenecer muchos usuarios y un usuario puede pertenecer a
varios grupos a la vez. Un usuario tiene asignado un grupo principal
● Todo usuario debe pertenecer obligatoriamente a un grupo
● Al dar de alta a un usuario, este pertenece a un grupo que se crea y que se llama
igual que el usuario creado
Gestión de Grupos y usuarios. Grupos
● /etc/group → Fichero que contiene información sobre los grupos del equipo
/etc/gshadow →
contraseña para grupos

nombre del grupo:contraseña cifrada:GUID:miembros del grupo

● Crear un grupo (como superusuario) → groupadd nombre_grupo


● Eliminar grupos → groupdel nombre_grupo
● Cambiar nombre del grupo → groupmod -n nombre_nuevo nombre_antiguo
○ groupmod-n grupoverde grupoazul → Cambia el nombre del grupo azul por el verde
● Cambiar el GUID → groupmod -g nuevo_GUID nombre_grupo
○ groupmod -g 2021 grupoazul → Cambia el GUID del grupo azul por 2021
● ¿A qué grupos pertenezco? groups → grupos del usuario actual

groups usuario → grupos del usuario especificado


Gestión de Grupos y usuarios. Usuarios
● Usuarios normales→ usuario que entra en el sistema y utilizará los recursos
con más o menos privilegios
● root (superusuario) → usuario con lo máximos privilegios
● usuarios especiales o de sistema → Son incorporados por el propio sistema y
se encargan de administrar los demonios del mismo
● etc/passwd → Fichero que contiene información sobre los usuarios del
sistema Fichero /etc/shadow:
Almacena
contraseñas cifradas

nombre de la cuenta: contraseña encriptada:UID:GUID:nombre del usuario


(información al crearse):directorio de trabajo: Intérprete de comandos
Gestión de Grupos y usuarios. Usuarios
● Crear usuarios:
○ useradd es un comando que ejecuta un binario del sistema
○ adduser es un script escrito en perl que utiliza el binario useradd
■ useradd <usuarionuevo> adduser <usuarionuevo>
● adduser --home /home/directorioparaeseusuario pepe → Crea el usuario pepe y
fuerza a que su directorio de trabajo sea otro
● Cambiar contraseña usuario → passwd <usuario>
○ passwd pepe → cambio de contraseña para el usuario pepe
● Borrar un usuario → userdel <usuario> → Queda su directorio de trabajo
● Borrar usuario y su directorio → userdel -r <usuario>
○ userdel pepe userdel -r pepe
● Eliminar un usuario de un grupo → deluser usuario grupo→ deluser pepe trabajo
● Comprobar que un usuario existe → grep <usuario> /etc/passwd
○ grep pepe /etc/passwd
● Añadir un usuario a un grupo → gpasswd -a <usuario> <grupo> gpasswd -a pepe grupoazul
● Modificar un usuario → usermod -g <grupo_principal> → Cambia el grupo
principa
Sudo
● Programa con el que los administradores permiten a algunos usuarios ejecutar
órdenes como root
● Es más seguro que ejecutar órdenes como root
● Cede temporalmente privilegios adicionales a usuarios específicos
● ¿Pertenezco al grupo sudo? → groups → Si entre los grupos no está sudo, no
● Agregar un usuario existente al grupo sudo → adduser <usuario> sudo
○ adduser pepe sudo
● El sistema lee los grupos a los que pertenece un usuario al iniciar sesión. Tras
añadir un usuario a un grupo, para ser “efectivo” hay reingresar en el sistema
● Añadir un usuario a sudoers y así obtener privilegios de root→ fichero
/etc/sudoers.tmp
○ Lo editamos con visudo
Sudo

su -l usuario →
Cambiamos de
usuario en la
misma sesión

Añadimos debajo de root el usuario en cuestión (pepe):


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

644 para archivos


Cambiar propietarios de archivos y directorios
● chown → Cambiar los propietarios de un archivo o directorio
○ chown ana fich.txt → Ahora será ana la propietaria del archivo
○ chown -R ana dir1 → Cambia el propietario del directorio1 (que ahora es ana)
y de manera recursiva a todos sus subdirectorios y ficheros
Cambiar propietarios de archivos y directorios
● chown usuario [:grupo] fichero_directorio → Cambiar el propietario y el grupo de
un archivo o directorio
○ chown ana:trabajadores fich.txt → Hacemos que el propietario del archivo sea
ana y el grupo trabajadores
● chown :grupo fichero_directorio → Cambio solo el grupo del archivo o directorio
○ chown :clientes fich.txt → Cambio al grupo de clientes el archivo fich.txt
● chgrp grupo fichero_directorio → Cambia el grupo de un archivo o directorio
○ chgrp trabajadores fich.txt → Cambio el grupo del fichero a trabajadores

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

Sistemas de archivos. extFAT


● Actualización de FAT32
● Acaba con la limitación de los 4 GB como máximos en los ficheros
● Sistema de archivos muy recomendado para unidades externas como el USB
o las tarjetas SD
● Compatible con versiones recientes de Windows, MacOS y GNU/Linux
Sistemas de archivos. NTFS
● Sistema de archivos que Windows utiliza por defecto
● No tiene los límites de tamaño de los archivos que tiene FAT32
● No es totalmente compatible con todos los SO. Mac puede leer unidades
formateadas en NTFS pero no puede escribir en ellas
● Buena opción para discos duros y otras unidades externas si se trabaja con
Windows

Sistemas de archivos. HFS+


● Sistema de archivos de referencia de Apple
● Linux puede trabajar con este sistemas de archivos sin problemas, Windows
solo puede leer su contenido, no escribir
Sistemas de archivos. ext2, ext3 y ext4
● Sistemas de archivos utilizados por distribuciones GNU/Linux
● Sólo puede ser utilizado en estos SO
● ¿Diferencias entre ellas? --> Investigad
○ ¿USB con ficheros poco pesados? → FAT32
○ Compartir ficheros de + de 4GB entre equipos con Windows, Linux y MacOS
→ ExFAT
○ Si solo usas Windows y quieres trabajar con ficheros grandes (copias de
seguridad de discos duros) → NTFS
○ Usas dispositivos Apple → HFS+
○ Usas exclusivamente GNU/Linux → ext4
PAQUETES
● Para crear sistemas de ficheros vfat → Instalar paquete dosfstools
● Para crear sistemas de ficheros xfat → Instalar paquete exfat-utils
● Para crear sistemas de ficheros ntfs→ Instalar paquete ntfs-3g
● Para crear sistemas de ficheros xfs→ Instalar paquete xfsprogs
Sistemas de archivos. mkfs / lsblk
● Para poder utilizar cualquier dispositivo es necesario asignarle un sistema de
archivos
● mkfs + 2 tab → Muestra los sistemas de archivos que se pueden asignar

● mkfs.tipoSistArchivos partición mfks -t tipoSistArchivos partición


● mkfs.ext4 /dev/sda1 mkfs -t ext2 /dev/sda1
● mkfs.fat32 -n HDnuevo /dev/sdb → Ponemos nombre al dispositivo a la vez
que le asignamos un sistema de archivos fat32
● mkfs.ntfs - L etiqueta /dev/sdb1 → A la partición sdb1 le asigno un sistema de
archivos ntfs y le pongo una etiqueta a la partición
● lsblk → Muestra información de todos los dispositivos que forman parte del
hardware de nuestro pc. Sirve para ver cuántos discos y particiones hay en el
sistema. lsblk -f lsblk -m
Montar y desmontar particiones. Mount /Umount
● Para acceder a las particiones y a su contenido (también al pendrive) hay que
montarlas (crear un punto de montaje)
● Cuando ya no se quiera realizar más modificaciones y que están se queden
aplicadas, hay que desmontar
● El punto de montaje genérico es /mnt. A partir de ahí suelen crearse directorios
● Todos los dispositivos (cd, pendrive, cámara fotos…) hay que montarlos en un
directorio, y se utilizará ese directorio para acceder al dispositivo. Una vez
montado se puede navegar por el pendrive, cámara...como si se tratara de un
directorio más
● Se puede montar de manera temporal (cuando se reinicie el sistema habrá que
volver a montar) o permanente (/etc/fstab)
Montar y desmontar particiones. Mount /Umount
● mount -t <sist_archivo> <dispositivo> <punto_montaje>
○ mount -t ntfs /dev/sdb1 /mnt/discodos
● mount <dispositivo> <punto_montaje>
○ mount /dev/sdb1 /mnt/dir
○ mount -t iso9660 /dev/sr0 /media/cdrom0 → Montaje de un DVD
● mount → Verificar que la partición se ha montado correctamente
● umount <dispositivo> → Desmontar la partición umount <punto_montaje>
○ umount /dev/sdb1 umount /mnt/dir
Al desmontar nos dará error si estamos situados en el punto de montaje
● Fichero /etc/fstab → Nos permite automatizar el proceso de montaje y desmontaje
añadiendo las entradas correspondientes a este fichero. En el arranque del sistema,
los dispositivos que no tengan “noauto” se montan automáticamente. Cada línea
corresponde a un dispositivo e indica cómo va a montarse. Los dispositivos se pueden
nombrar con etiquetas, UUID y con el nombre descriptivo del Kernel
Montar y desmontar particiones. Mount /Umount
● En primer lugar se monta / y después la swap y luego el resto de ficheros
● mount -a → monta todos los dispositivos que estén en fstab

Swap: Espacio de intercambio


● Preparación de la partición → mkswap / dev/sdxx
● Activación de la partición → swapon /dev/sdxx
● Desactivación de la partición → swapoff /dev/sdxx

df: Ocupación de sistemas de ficheros montados
● df -h /dispositivo → Muestra en formato humano información sobre el sistema de
archivo
Montar y desmontar particiones. /etc/fstab

● 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

PID: Identificador del


proceso
COMMAND: programa al
que pertenece el
proceso

● ps aux | grep bash


● top → Listado en tiempo real (dinámico) de los procesos
○ top -d 5 → Los muestreos son cada 5 segundos
○ top -o %CPU → Los procesos se muestran ordenados por CPU utilizada
○ top -u usuario → Muestra los procesos del usuario usuario
Procesos
● htop → Muestra información más ampliada que top y de manera más gráfica.
Paquete htop si no está instalado
● kill [PID proceso] → Detiene procesos. Kill manda una señal TERM al proceso con
ese número de ID y le pedirá que se detenga
○ Kill 732
● kill -KILL [PID] → En el caso de que un proceso “no quiera cerrarse”. Este
comando lo detiene a la fuerza , no manda ninguna señal, lo cierra directamente
○ kill -KILL 2732
● Las señales que se mandan se corresponden con números, así kill -KILL equivale
a Kill -9 y la señal TERM equivale a -15
● pkill -9 htop → Si conocemos el nombre exacto del proceso se puede utilizar
este comando
Procesos en segundo plano
● Son procesos que se ejecutan sin interferir a otras tareas
● Se pueden lanzar procesos en segundo plano desde la terminal y seguir
utilizándola mientras el proceso se ejecuta por detrás sin que seamos
conscientes de lo que está sucediendo
● La ejecución de un proceso en segundo plano no requiere la intervención del
usuario
● Suelen aplicarse a tareas que requieren largo tiempo (scripts, descargas,
programas gráficos…) y que no se puede esperar que acaben sin hacer nada
○ procesos en primer plano: foreground
○ procesos en segundo plano: background
● Para ejecutar procesos en segundo plano se añade & al final (gedit &, gimp &)
● bg → Reanuda procesos suspendidos, ejecutándolos en segundo plano
● jobs → Visualiza trabajos ejecutándose en segundo plano junto con los
detenidos
Procesos en segundo plano
● fg numero → recupera un trabajo que esté ejecutándose en segundo plano o
que esté detenido y le devuelve una ejecución en primer plano.
○ gedit &
○ jobs
○ fg %numero

También podría gustarte