Introducció
En aquest tema, aprendrem a utilitzar comodins i expressions regulars a la línia de comandes de Linux. Aquests són eines poderoses que permeten cercar, manipular i gestionar fitxers i dades de manera eficient.
Comodins
Els comodins són caràcters especials que es poden utilitzar per representar altres caràcters en noms de fitxers i directoris. Els més comuns són:
*
(asterisc): Representa zero o més caràcters.?
(interrogant): Representa exactament un caràcter.[ ]
(claus): Representa un conjunt de caràcters.
Exemples de Comodins
-
Asterisc (
*
)ls *.txt
Aquest comandament llista tots els fitxers amb extensió
.txt
al directori actual. -
Interrogant (
?
)ls file?.txt
Aquest comandament llista fitxers com
file1.txt
,file2.txt
, etc., però nofile10.txt
. -
Claus (
[ ]
)ls file[1-3].txt
Aquest comandament llista
file1.txt
,file2.txt
ifile3.txt
.
Expressions Regulars
Les expressions regulars (regex) són patrons utilitzats per cercar i manipular text. Són més potents i flexibles que els comodins.
Components Bàsics de les Expressions Regulars
.
(punt): Representa qualsevol caràcter excepte una nova línia.*
(asterisc): Representa zero o més repeticions del caràcter anterior.^
(circumflex): Indica el començament d'una línia.$
(dòlar): Indica el final d'una línia.[ ]
(claus): Representa un conjunt de caràcters.|
(barra vertical): Actua com un operador OR.()
(parèntesis): Agrupa parts de l'expressió.
Exemples d'Expressions Regulars
-
Punt (
.
)grep 'f.t' fitxer.txt
Aquest comandament cerca qualsevol línia que contingui
f
seguit de qualsevol caràcter i desprést
. -
Asterisc (
*
)grep 'fo*' fitxer.txt
Aquest comandament cerca qualsevol línia que contingui
f
seguit de zero o méso
. -
Circumflex (
^
)grep '^Hola' fitxer.txt
Aquest comandament cerca línies que comencin amb
Hola
. -
Dòlar (
$
)grep 'adéu$' fitxer.txt
Aquest comandament cerca línies que acabin amb
adéu
. -
Claus (
[ ]
)grep 'f[aeiou]t' fitxer.txt
Aquest comandament cerca línies que continguin
f
seguit d'una vocal i desprést
. -
Barra Vertical (
|
)grep 'gat|gos' fitxer.txt
Aquest comandament cerca línies que continguin
gat
ogos
. -
Parèntesis (
()
)grep 'f(o|a)t' fitxer.txt
Aquest comandament cerca línies que continguin
fot
ofat
.
Exercicis Pràctics
Exercici 1: Utilitzant Comodins
-
Llista tots els fitxers amb extensió
.log
al directori actual.ls *.log
-
Llista tots els fitxers que comencin amb
data
i tinguin exactament 5 caràcters en el seu nom.ls data?.*
Exercici 2: Utilitzant Expressions Regulars
-
Cerca totes les línies que comencin amb
Error
en un fitxer anomenatlog.txt
.grep '^Error' log.txt
-
Cerca totes les línies que continguin una data en format
dd/mm/yyyy
en un fitxer anomenatdata.txt
.grep '[0-9]\{2\}/[0-9]\{2\}/[0-9]\{4\}' data.txt
Solucions als Exercicis
Solució Exercici 1
-
ls *.log
Aquest comandament llista tots els fitxers amb extensió
.log
. -
ls data?.*
Aquest comandament llista tots els fitxers que comencin amb
data
i tinguin exactament 5 caràcters en el seu nom.
Solució Exercici 2
-
grep '^Error' log.txt
Aquest comandament cerca totes les línies que comencin amb
Error
en el fitxerlog.txt
. -
grep '[0-9]\{2\}/[0-9]\{2\}/[0-9]\{4\}' data.txt
Aquest comandament cerca totes les línies que continguin una data en format
dd/mm/yyyy
en el fitxerdata.txt
.
Conclusió
Els comodins i les expressions regulars són eines essencials per a qualsevol usuari de Linux. Amb la pràctica, es poden utilitzar per realitzar cerques i manipulacions de text complexes de manera eficient. En el proper tema, explorarem el piping i la redirecció, que ens permetran combinar comandes per a una major flexibilitat i potència.
Domini de Linux: De Principiant a Avançat
Mòdul 1: Introducció a Linux
- Què és Linux?
- Història de Linux
- Distribucions de Linux
- Instal·lant Linux
- Estructura del Sistema de Fitxers de Linux
Mòdul 2: Comandes Bàsiques de Linux
- Introducció a la Línia de Comandes
- Navegant pel Sistema de Fitxers
- Operacions amb Fitxers i Directoris
- Visualització i Edició de Fitxers
- Permisos i Propietat dels Fitxers
Mòdul 3: Habilitats Avançades de la Línia de Comandes
- Ús de Comodins i Expressions Regulars
- Piping i Redirecció
- Gestió de Processos
- Programació de Tasques amb Cron
- Comandes de Xarxa
Mòdul 4: Scripting de Shell
- Introducció al Scripting de Shell
- Variables i Tipus de Dades
- Estructures de Control
- Funcions i Biblioteques
- Depuració i Gestió d'Errors
Mòdul 5: Administració del Sistema
- Gestió d'Usuaris i Grups
- Gestió de Discs
- Gestió de Paquets
- Monitorització del Sistema i Optimització del Rendiment
- Còpia de Seguretat i Restauració
Mòdul 6: Xarxes i Seguretat
- Configuració de Xarxa
- Tallafocs i Seguretat
- SSH i Accés Remot
- Sistemes de Detecció d'Intrusions
- Assegurant Sistemes Linux
Mòdul 7: Temes Avançats
- Virtualització amb Linux
- Contenidors de Linux i Docker
- Automatització amb Ansible
- Optimització del Nucli de Linux
- Alta Disponibilitat i Balanceig de Càrrega