Apuntes Linux 3 Enlaces, Buscar, Filtrar, Ordenar, Fechas, Calendario

Enlaces

Enlaces simbólicos / Soft links

Similar a acceso directo. Acceder al mismo fichero desde diferentes lugares.

ln -s “ruta absoluta origen” “nombre del enlace”

situarte donde lo quieres o si quieres crearlo en otro lugar... utilizar rutas absolutas en lugar origen y destino

ln -s “ruta absoluta origen” "ruta absoluta destino" “nombre del enlace”

Cambia el ínodo, tamaño, permisos... se puede hacer a ficheros y directorios si se borra el original, no funciona en enlace

Enlaces físicos / Hard links

Diferentes nombres asignados a un mismo fichero.

ln “ruta del fichero” “nombre del enlace”

Es como una copia con las mismas propiedades

Mismo ínodo, tamaño, permisos...

No se puede hacer a directorios, solo a ficheros si se borra el original, sigue funcionando en enlace

PRACTICA TUS AVANCES: Enlaces

<aside> 💡 EJERCICIOS crear enlaces

Ejemplo de soft link a fichero y en el siguiente comando al directorio:

Untitled

Buscar, filtrar, ordenar, contar...

Buscar texto, ficheros, directorios, enlace, permisos, usuarios, tamaño...

find ruta/ -name loquequiera (busca texto)
	find ruta/ -name a* --> busca en la ruta todo lo que empiece por a
		para añadir que haga algo con el resultado ***añadimos los comandos y al final " {} \;"***
	find ruta/ -name a* -exec rm {} \;  --> borra todo lo que ha encontrado en ese fichero
 que empiece por a

find ruta/ -type f (ficheros)
find ruta/ -type d (directorios)
find ruta/ -type l (enlaces simbolicos)
find ruta/ -user nombreusuario (usuario)
find ruta/ -perm XXX (permisos)
find ruta/ -size +512c (tamaño)

**-not -path '*/\.*'**  ---> No muestra en el resultado archivos ocultos .hidden_files

!IMPORTANTE si añadis un -exec para realizar alguna accion con lo encontrado:
hay que añadir al final {} \;

find / | grep .conf equivale a find / -type f -name *.conf

Ej: find /home/luis/ -type f -name *_practica_SMR_21* -exec ls -l {} \;
Ej: find / -type f -size +4M -size -7M 
Ej: find / -type f -atime -1
Ej:   find / -type f -mmin -5

Busca una cadena o conjunto de palabras dentro de ... (filtrar)

grep Eva fichero.txt --> buscar palabra. Muestra la linea completa 
donde aparece Eva
grep "Garcia Eva" fichero.txt --> buscar conjunto palabras en 
ese orden
wc contar el número de líneas, palabras y caracteres
	-w (words)
	-l (lines)

Mostrar valores de una columna

awk fichero.txt '{print $numero-columna}'

Si queremos establecer un delimitador

awk fichero.txt -F "delimitador" '{print $numero-columna}'

awk fichero.txt -F ":" '{print $1 $2 $5 $7}'

si queremos espacios entre las columnas " "
awk fichero.txt -F ":" '{print $1" "$2" "$5" "$7}'

si queremos tablucaiones entre las columnas "\t"
awk fichero.txt -F ":" '{print $1"\t"$2"\t"$5"\t"$7}'

Ordenar el contenido de un fichero

sort fichero.txt
sort -k 2 fichero.txt --> ordena por la 2º columna
sort -n fichero.txt -> ordena por numeros
sort -r fichero.txt -> ordena al reves
sort -M fichero.txt -> ordena por meses
sort -u fichero.txt -> elimina lineas duplicadas
sort -R fichero.txt -> ordena RANDOM (aleatorio)

Ordenar contenido de un CSV (por valor de una columna y delimitado por ;)

#sort -k <la-columna> -t "<el-delimitador>" FICHERO-A-ORDENAR
sort -k9 -t ";" fichero.txt

Os dejo fichero para practicar:

RESULTADOS-LIGA-24.csv

Ordenar contenido de un CSV (delimitado por ;) en columnas

sort fichero.txt | column -t -s ";"

Unir varias consultas: uso de tuberías, pipes |

# Con el símbolo | se pueden concatenar diferentes comandos. Que se ejecute uno y despues otro y despues otro....
ls -l fichero.txt | grep 2024 | sort -k2

PRACTICA TUS AVANCES: Buscar, filtrar, ordenar

<aside> 💡 EJERCICIOS Buscar, filtrar, ordenar

Fechas (día, mes, año, calendarios…)

date --> fecha completa
	date +%d -> día 
	date +%m -> mes
	date +%y -> año
	date +%d/+%m/+%y
	date --date="tomorrow"
	date --date="next mon" muestra el próximo lunes
	date --date="next sat" muestra el próximo sábado
cal --> calendario
	cal -m 11 --> muestra calendario noviembre
	cal -m 11 2023 --> muestra calendario noviembre del 2023
	cal -y 2021 --> muestra un calendario del año 2038

ncal --> calendario
	-algoaquí!!! (buscan en el manual) Empieza en un día de la semana
	-b (estilo clásico)

PRACTICA TUS AVANCES: fechas

<aside> 💡 EJERCICIOS Calendario, fechas, semanas, días…