Partie 1
1. Qu'est-ce qu'un ordinateur?
● Un ordinateur est une machine électronique programmable capable de réaliser des
calculs logiques sur des nombres binaires. C'est une machine basée sur une
architecture matérielle (processeur, stockage, interfaces) dont le fonctionnement est
régi par les lois de la physique.
● C'est aussi une machine programmable, c'est-à-dire qu'elle peut exécuter différentes
tâches selon les instructions (programmes) qu'on lui donne. Ces instructions sont
créées par des informaticiens.
2. Le Système d'Exploitation (OS)
● Un système d'exploitation est une couche logicielle qui fait le lien entre
l'informaticien, les outils, les programmes et le matériel. Il permet de développer des
programmes sans tenir compte de la complexité physique de la machine.
● L'OS coordonne l'utilisation des ressources (temps CPU, allocation mémoire), assure
la maintenance et la sécurité du système (gestion des fichiers), et facilite l'accès aux
ressources matérielles pour l'utilisateur.
● Les composants matériels comprennent des capacités de calcul (CPU/GPU) et de la
mémoire (RAM, disque dur). Les logiciels, comme l'OS, permettent de dialoguer avec
le matériel.
● Il existe de nombreux OS différents, chacun adapté à une architecture matérielle
spécifique.
3. Linux et Windows: Deux Systèmes d'Exploitation Distincts
● Linux est un OS non propriétaire (souvent gratuit), ouvert (sources disponibles et
modifiables), flexible, et puissant (programmable). Il bénéficie d'une communauté
active d'utilisateurs. Il est considéré comme plus complexe et est souvent utilisé par
les informaticiens.
● Windows est un OS propriétaire (payant) avec des sources non disponibles et non
modifiables. Il est plus adapté aux utilisateurs grâce à des interfaces d'utilisation
optimisées et bénéficie également d'une large communauté d'utilisateurs.
4. Gestion des Utilisateurs et des Droits
● Chaque utilisateur est identifié par un nom d'utilisateur (login) et un mot de passe.
● Chaque utilisateur possède des permissions spécifiques, lui permettant d'exécuter
certains programmes, de lire certaines données et d'écrire dans des répertoires
spécifiques.
● Chaque utilisateur a un espace de travail réservé appelé répertoire personnel (ou
Home Directory) où il a tous les droits. Ce répertoire est généralement situé dans
/home/ et porte le nom de l'utilisateur (par exemple, /home/nom_utilisateur/).
● Le super utilisateur (root) a des permissions étendues pour administrer le système,
comme changer les permissions de fichiers ou installer des programmes.
5. Ligne de Commande (Shell)
● La ligne de commande (ou Shell) est une interface qui permet de taper du texte.
● Elle affiche un prompt qui indique l'utilisateur, le nom de la machine et le répertoire
courant (par exemple: user@localhost ~).
● L'utilisateur tape des commandes qui sont ensuite interprétées par un interpréteur.
● L'interpréteur identifie les commandes et les paramètres, puis lance un processus si
la syntaxe est correcte.
● Après l'exécution d'une commande, le Shell propose une nouvelle ligne pour une
nouvelle instruction.
6. Documentation avec man
● La commande man donne accès à la documentation d'une commande spécifique.
● Elle décrit la syntaxe, les options et les arguments de la commande, ainsi que les
résultats et leur format.
7. Fichiers et Répertoires
● Un nom de fichier est divisé en deux parties : une première partie qui informe sur la
nature du contenu et une seconde qui informe sur le format.
○ Par exemple: .c pour les sources C, .html pour un document Web, .pdf
pour un document mis en page, .txt pour du texte brut, .mp3 pour un fichier
multimédia.
● Les fichiers sont organisés dans des répertoires et sous-répertoires, formant une
arborescence.
● Répertoires standards : / (racine), /bin (programmes de démarrage), /etc (fichiers
de configuration), /dev (périphériques), /home (répertoires utilisateurs), /lib
(bibliothèques), /usr (programmes ajoutés), /root (répertoire de l'administrateur).
● Le répertoire racine (/) contient tous les répertoires et fichiers accessibles depuis le
système.
● Le chemin absolu est unique pour chaque fichier ou répertoire et décrit le chemin à
partir de la racine /. La notation ~ représente le répertoire personnel de l'utilisateur.
8. Commandes de Base pour la Manipulation de l'Arborescence
● pwd: Affiche le répertoire courant.
● ls: Affiche le contenu d'un répertoire. Par défaut, sans source spécifiée, affiche le
contenu du répertoire courant.
○ ls -a affiche aussi les fichiers et répertoires cachés (dont le nom commence
par un point).
● cd: Change le répertoire courant. Sans cible spécifiée, retourne au répertoire
personnel.
● mkdir: Crée un ou plusieurs répertoires.
● rm: Supprime un fichier.
○ rm -r supprime un répertoire et tout son contenu.
● cp: Copie un fichier source vers une cible.
○ Si la cible est un répertoire existant, le fichier est copié dans ce répertoire
avec le même nom. Si la cible n'existe pas, le fichier est copié avec le nom de
la cible.
○ cp -r Copie un répertoire et son contenu.
● mv: Déplace ou renomme un fichier ou un répertoire.
○ Le chemin source disparait et le chemin cible est crée.
Exemples d'utilisation des commandes:
● pwd : affiche le chemin du répertoire actuel.
● ls : affiche la liste des fichiers et répertoires du répertoire actuel.
● ls -a : affiche la liste de tous les fichiers et répertoires du répertoire actuel, y
compris les fichiers cachés.
● cd /home/user1 : se déplace dans le répertoire /home/user1.
● cd .. : remonte d'un niveau dans l'arborescence.
● cd ~ : retourne au répertoire personnel de l'utilisateur.
● mkdir mon_dossier : crée un répertoire nommé mon_dossier dans le répertoire
courant.
● rm mon_fichier.txt : supprime le fichier mon_fichier.txt du répertoire
courant.
● rm -r mon_dossier : supprime le répertoire mon_dossier et tout son contenu.
● cp fichier1.txt fichier2.txt : copie fichier1.txt dans un nouveau
fichier fichier2.txt.
● cp fichier1.txt /home/user1/ : copie fichier1.txt dans le répertoire
/home/user1.
● mv ancien_nom.txt nouveau_nom.txt : renomme le fichier ancien_nom.txt
en nouveau_nom.txt.
● mv fichier1.txt /home/user1/ : déplace le fichier fichier1.txt dans le
répertoire /home/user1.
Partie 2
1. Processus et gestion du CPU
● Un processus est un programme en cours d'exécution.
● Le planificateur gère le temps d'accès au CPU pour chaque processus.
● Le CPU ne traite qu'un seul processus à la fois.
● L'alternance rapide d'attribution de temps de calcul à chaque processus donne
l'illusion d'une exécution simultanée.
● Chaque processus a une priorité qui est utilisée par le planificateur pour déterminer
quel processus accède au CPU.
2. La commande ps
● La commande ps donne des informations sur les processus en cours d'exécution.
● La syntaxe de base est ps options.
○ L'option -l affiche le nom de l'utilisateur (user), le pourcentage de CPU utilisé
(%cpu), la taille totale du processus dans la mémoire (size), la mémoire
réservée (rss) en Ko, etc..
● Les informations affichées par ps comprennent:
○ PID : le numéro d'identification du processus.
○ TTY : le terminal depuis lequel le processus a été lancé.
○ STAT : l'état du processus:
■ R : le processus est en cours d'exécution.
■ T : le processus est stoppé.
■ S : le processus est en veille (dort) depuis moins de 20 secondes.
■ Z : le processus est en attente d'un message du noyau.
○ TIME : le temps d'exécution de la commande.
○ CMD : le libellé de la commande lancée.
3. La commande top
● La commande top permet de visualiser la consommation en temps machine,
mémoire et processeur, c'est-à-dire la charge du système.
● Elle affiche des informations sur :
○ L'uptime et la charge moyenne du système.
○ Les tâches en cours d'exécution.
○ Les processeurs.
○ La mémoire physique et virtuelle.
○ Les détails des processus.
4. Identifications des utilisateurs et des groupes
● UID (User Identifier) : numéro unique associé à chaque utilisateur lors de la création
de son compte.
● GID (Group Identifier) : numéro unique d'un groupe d'utilisateurs. Un utilisateur peut
appartenir à plusieurs groupes.
● Chaque fichier et processus est associé à un utilisateur, qui est son propriétaire. Être
propriétaire d'un fichier ou d'un processus confère des droits sur celui-ci.
5. Les commandes ls, chmod, et les droits
● La commande ls -l affiche le contenu d'un répertoire en format long, incluant le
nom du propriétaire, le groupe, et les droits d'accès.
○ Par exemple, ls -l peut afficher que l'utilisateur santini du groupe
ensinfo est propriétaire d'un fichier.
● La commande chmod modifie les droits et permissions accordés par le propriétaire
aux différents utilisateurs:
○ Il existe deux notations des droits: alphanumérique et octale.
○ Par exemple, on peut retirer le droit d'écriture au propriétaire sur un fichier, ou
ajouter le droit d'exécution pour le propriétaire et son groupe. Il est possible
de donner tous les droits à tous les utilisateurs.
6. Commandes d'édition et d'affichage de fichiers
● more : Affiche le contenu d'un fichier page par page. L'affichage s'adapte à la taille
du terminal. Utilisez Entrée pour passer à la ligne suivante, Espace pour la page
suivante.
● less : Affiche le contenu d'un fichier, permet de naviguer en avant et en arrière et de
rechercher des mots. Contrairement à more, less ouvre une interface dans le
terminal.
● head : Affiche les 10 premières lignes d'un fichier par défaut, ou les n premières
lignes si un entier n est spécifié.
● tail : Affiche les 10 dernières lignes d'un fichier par défaut, ou les n dernières
lignes si un entier n est spécifié.
● cut : Affiche une colonne spécifique d'un fichier. L'option -d permet de changer le
séparateur par défaut (tabulation) et l'option -f spécifie la colonne à afficher.
● grep : Affiche les lignes d'un fichier qui contiennent un motif spécifique.
● cat : Affiche le contenu des fichiers les uns à la suite des autres (concaténation).
● sort : Affiche les lignes d'un fichier triées par ordre croissant. L'option -r inverse
l'ordre de tri.
● uniq : Affiche les lignes d'un fichier en supprimant les lignes consécutives
identiques.
● sed : Permet de faire de nombreuses opérations, notamment la substitution d'un
motif par un autre. La syntaxe sed 's/motif/new/g' fichier remplace toutes
les occurrences du motif par new.
● wc : Affiche des statistiques sur le nombre de lignes, de mots et de caractères d'un
fichier. L'option -l affiche uniquement le nombre de lignes.
● diff : Compare deux fichiers, localise et affiche les différences.
Exemples d'utilisation des commandes:
● ps -l : affiche des informations détaillées sur les processus en cours.
● top : affiche une vue dynamique de la charge du système.
● ls -l fichier.txt : affiche les détails du fichier fichier.txt incluant les
droits d'accès.
● chmod 755 fichier.sh : change les droits du fichier fichier.sh en
rwxr-xr-x.
rwx-rwx-rwx = 777
r=4w=2x=1
user-group-others 751
user = rwx
group = rx
others = x
● chmod a+x fichier.sh : adds execution to all users. CLAVIER QWERTY
● more gros_fichier.txt : affiche le contenu de gros_fichier.txt page par
page.
● less gros_fichier.txt : ouvre gros_fichier.txt pour une navigation plus
avancée.
● head -5 fichier.txt : affiche les 5 premières lignes de fichier.txt.
● tail -10 fichier.txt : affiche les 10 dernières lignes de fichier.txt.
● cut -d ':' -f 1 fichier.txt : affiche la première colonne de fichier.txt,
en utilisant ':' comme séparateur.
● grep "erreur" log.txt : affiche toutes les lignes de log.txt contenant le mot
"erreur".
● cat fichier1.txt fichier2.txt : affiche le contenu de fichier1.txt suivi
de celui de fichier2.txt.
● sort fichier.txt : affiche les lignes de fichier.txt triées par ordre
alphabétique.
● uniq fichier.txt : affiche les lignes de fichier.txt en enlevant les lignes
répétées consécutives.
● sed 's/ancien/nouveau/g' fichier.txt : remplace toutes les occurrences
de "ancien" par "nouveau" dans fichier.txt.
● wc fichier.txt : affiche le nombre de lignes, de mots et de caractères de
fichier.txt.
● wc -l fichier.txt : affiche le nombre de lignes de fichier.txt.
● diff fichier1.txt fichier2.txt : affiche les différences entre
fichier1.txt et fichier2.txt.
Opérateurs de contrôle de flux :
● & (exécution en arrière-plan) : Cet opérateur permet d'exécuter une commande en
arrière-plan. La commande est lancée, mais le shell ne reste pas bloqué en
attendant la fin de son exécution. L'utilisateur peut continuer à utiliser le shell pour
lancer d'autres commandes. Par exemple, commande & exécutera commande en
arrière-plan. Les sources ne montrent pas d'exemples d'utilisation de cet opérateur.
● && (ET logique) : Cet opérateur permet d'exécuter une deuxième commande
uniquement si la première commande s'est terminée avec succès (code de retour 0).
Par exemple, commande1 && commande2 exécutera commande2 si et seulement si
commande1 s'est exécutée sans erreur. Les sources ne donnent pas d'exemple
direct, mais cela peut être utile pour des opérations comme compiler un programme
et ensuite l'exécuter : gcc monprogramme.c && ./a.out
● | (tube) : Cet opérateur redirige la sortie standard d'une commande vers l'entrée
standard d'une autre commande. Cela permet de chaîner des commandes pour
effectuer des opérations complexes. Par exemple, commande1 | commande2
envoie la sortie de commande1 à commande2. Les sources montrent des exemples,
par exemple ls | more pour afficher le contenu d'un répertoire page par page ou
grep "motif" <fichier> | more pour paginer la sortie de la commande grep.
● || (OU logique) : Cet opérateur permet d'exécuter une deuxième commande
uniquement si la première commande a échoué (code de retour différent de 0). Par
exemple, commande1 || commande2 exécutera commande2 seulement si
commande1 a échoué. Les sources ne montrent pas d'exemples d'utilisation de cet
opérateur.
● > (redirection de la sortie) : Cet opérateur redirige la sortie standard d'une
commande vers un fichier, en écrasant le contenu du fichier si celui-ci existe déjà.
Par exemple, commande > fichier enregistre la sortie de commande dans
fichier exemple echo “saleh” > file.txt.
● >> (redirection de la sortie en ajout) : Cet opérateur redirige la sortie standard
d'une commande vers un fichier, en ajoutant la sortie à la fin du fichier si celui-ci
existe déjà. Par exemple, commande >> fichier ajoute la sortie de commande à
la fin de fichier exemple echo “saleh” >> file.txt
(adds to last line of file)
wc -l >> file.txt
()
● < (redirection de l'entrée) : Cet opérateur redirige l'entrée standard d'une
commande à partir d'un fichier. Par exemple, commande < fichier utilise le
contenu de fichier comme entrée pour commande : wc -l < fichier>txt.
(Counts lines of < redirected file)
● << (redirection de l'entrée "here string" ou "here document") : Cet opérateur
permet de fournir une entrée à une commande directement dans le script. Par
exemple, commande << EOF ... contenu ... EOF envoie le contenu entre les
EOF à l'entrée standard de commande. Les sources n'offrent pas d'exemples de ceci.
● cat << FIN Ceci est un texte sur plusieurs lignes FIN
● grep "mot" << EOF ... EOF
Exemples d'utilisation combinée :
● ls -l | grep "^-" | wc -l: Cette commande combine plusieurs commandes:
ls -l liste les fichiers et répertoires avec des détails, grep "^-" filtre pour ne
garder que les lignes commençant par - (ce qui représente les fichiers), et wc -l
compte les lignes (donc le nombre de fichiers). Les sources montrent une utilisation
similaire mais ne combinent pas les 3 commandes.
● grep "motif" fichier > resultat.txt: Cette commande recherche "motif"
dans fichier et enregistre le résultat dans resultat.txt.
● commande1 && commande2 | commande3: Cette commande exécutera
commande2 seulement si commande1 a réussi, puis enverra la sortie de commande2
vers commande3 pour traitement.
● cat fichier1 fichier2 > fichier3: Ceci concatène fichier1 et
fichier2 et met le résultat dans fichier3, les sources montrent l'utilisation de cat
et de la redirection, mais pas la combinaison.
Regex
1. Méta-caractères courants
● Un point (.) représente n’importe quel caractère, à l'exception d'une nouvelle ligne.
● Un chapeau (^) représente le début d’une expression.
● Un dollar ($) représente la fin d’une expression.
● Un astérisque (*) représente zéro ou plusieurs occurrences du caractère précédent.
● Un plus (+) représente une ou plusieurs occurrences du caractère précédent.
● Un point d'interrogation (?) représente zéro ou une occurrence du caractère
précédent.
● Des crochets ([]) permettent de définir une série de caractères potentiels. Par
exemple, [abc] correspond à a, b ou c.
● Des crochets avec un chapeau ([^]) permettent d’exclure une série de caractères
potentiels. Par exemple, [^abc] correspond à n'importe quel caractère sauf a, b ou
c.
● Des parenthèses (()) permettent de créer un groupe de capture pour extraire une
sous-chaîne de caractères.
● Un antislash (\) permet d’échapper un caractère pour qu’il soit traité comme du texte
et non comme une expression.
grep ‘l\’absence’ fichier.txt 2eme ‘ va causer un probleme donc on
utilise Antislash \’
2. Quantificateurs
Les quantificateurs permettent de spécifier le nombre d'occurrences d'un caractère ou d'un
groupe de caractères.
● ? représente 0 ou 1 occurrence.
● + représente 1 ou plusieurs occurrences.
● * représente 0 ou n’importe quel nombre d’occurrences.
● {x} représente exactement x occurrences.
● {x,} représente au minimum x occurrences.
● {,y} représente au maximum y occurrences.
● {x,y} représente un nombre d’occurrences compris entre x et y (inclus).
3. Séquences de caractères
● [abc] correspond à a, b ou c.
● [^abc] correspond à n’importe quel caractère sauf a, b ou c.
● [a-z] correspond à une lettre entre a et z (minuscules).
● [a-zA-Z0-9] correspond à n’importe quel chiffre ou lettre minuscule ou majuscule.
● \s correspond à n’importe quel caractère blanc (espace, tabulation, etc.).
● \S correspond à n’importe quel caractère sauf un caractère blanc.
● \d correspond à n’importe quel chiffre.
● \D correspond à n’importe quel caractère sauf un chiffre.
● \w correspond à n’importe quelle lettre ou chiffre.
● \W correspond à n’importe quel caractère sauf une lettre ou un chiffre.
● . correspond à n’importe quel caractère.
Ces méta-caractères et séquences permettent de construire des expressions régulières
pour rechercher et manipuler des chaînes de caractères de manière flexible et puissante. Ils
sont couramment utilisés dans des outils comme grep, sed et d'autres commandes de
manipulation de texte.
Voici quelques exemples de commandes grep qui illustrent l'utilisation des méta-caractères
et des séquences décrits dans les sources, ainsi que leur utilité :
● grep "motif" fichier.txt : Recherche toutes les lignes du fichier
fichier.txt qui contiennent la chaîne de caractères "motif". Ceci est l'utilisation la
plus basique de grep pour trouver des occurrences de texte.
● grep "^debut" fichier.txt: Recherche toutes les lignes du fichier
fichier.txt qui commencent par la chaîne de caractères "debut". Le
méta-caractère ^ indique un début d'expression. Cela permet de trouver les lignes
qui suivent une structure prévisible.
● grep "fin$" fichier.txt: Recherche toutes les lignes du fichier
fichier.txt qui se terminent par la chaîne de caractères "fin". Le méta-caractère
$ indique une fin d'expression. Cela permet de trouver des lignes qui se terminent
par un mot ou une expression spécifique.
● grep "[a-z]" fichier.txt: Recherche toutes les lignes du fichier
fichier.txt qui contiennent au moins une lettre minuscule. La séquence [a-z]
correspond à n'importe quelle lettre minuscule entre a et z. Ceci est utile pour trouver
des lignes qui contiennent du texte et non seulement des nombres ou caractères
spéciaux.
● grep "" fichier.txt: Recherche toutes les lignes du fichier fichier.txt qui
contiennent au moins un chiffre. La séquence `` correspond à n'importe quel chiffre
entre 0 et 9. Utile pour identifier des lignes qui contiennent des nombres, que ce soit
des identifiants ou des données chiffrées.
● grep "[^0-9]" fichier.txt: Recherche toutes les lignes du fichier
fichier.txt qui contiennent au moins un caractère qui n'est pas un chiffre. La
séquence [^0-9] correspond à n'importe quel caractère sauf un chiffre. Ceci peut
être utilisé pour trouver les lignes qui contiennent du texte en ignorant les nombres.
● grep "a.*b" fichier.txt: Recherche toutes les lignes du fichier
fichier.txt qui contiennent un "a", suivi par zéro ou plusieurs caractères
quelconques (sauf une nouvelle ligne), suivi d'un "b". Le méta-caractère . représente
n’importe quel caractère, et * représente zéro ou plusieurs occurrences du caractère
précédent. Cela permet de trouver des motifs où certains caractères peuvent être
optionnels.
● grep "a[bc]d" fichier.txt: Recherche toutes les lignes du fichier
fichier.txt qui contiennent "abd" ou "acd". La séquence [bc] correspond à "b"
ou "c". Cela peut servir pour chercher une ou plusieurs variations d'un motif.
● grep "\s" fichier.txt: Recherche toutes les lignes du fichier fichier.txt
qui contiennent au moins un caractère blanc (espace, tabulation, etc.). La séquence
\s représente n'importe quel caractère blanc. Utile pour analyser des fichiers texte
où le formatage des données est important.
● grep "\d\{3\}-\d\{2\}-\d\{4\}" fichier.txt: Recherche les lignes
contenant un motif de numéro de sécurité sociale américain (xxx-xx-xxxx), les
backslashes échappent le caractère spécial d et les accolades spécifient le nombre
d'occurences de chiffres. Ce genre de recherche est utile pour extraire des données
spécifiques de fichiers texte.
Manipulation de Fichiers et Répertoires
4. ls: Affiche le contenu du répertoire courant.
5. ls <source>: Affiche le contenu du répertoire spécifié.
6. ls -a: Affiche tous les fichiers et répertoires, y compris les cachés.
7. ls -a <source>: Affiche tous les fichiers et répertoires, y compris les cachés, du
répertoire spécifié.
8. ls -l: Affiche le contenu du répertoire en format long, avec les détails sur les droits,
le propriétaire, etc..
9. ls -l <source>: Affiche le contenu du répertoire spécifié en format long.
10. pwd: Affiche le chemin du répertoire courant.
11. cd <cible>: Change le répertoire courant vers le répertoire spécifié.
12. cd: Retourne au répertoire personnel de l'utilisateur.
13. mkdir <chemin>: Crée un nouveau répertoire au chemin spécifié.
14. mkdir <chemin1> <chemin2>: Crée plusieurs répertoires aux chemins spécifiés.
15. rm <chemin>: Supprime le fichier spécifié.
16. rm <chemin1> <chemin2>: Supprime plusieurs fichiers spécifiés.
17. rm -r <chemin>: Supprime un répertoire et son contenu.
18. rm -r <chemin1> <chemin2>: Supprime plusieurs répertoires et leurs contenus.
19. cp <source> <cible>: Copie le fichier source vers la cible.
20. cp <source1> <source2> <cible>: Copie plusieurs fichiers sources vers la
cible.
21. cp -r <source> <cible>: Copie un répertoire et son contenu vers la cible.
22. cp -r <source1> <source2> <cible>: Copie plusieurs répertoires et leurs
contenus vers la cible.
23. mv <source> <cible>: Déplace ou renomme le fichier ou répertoire source vers
la cible.
Affichage et Manipulation de Contenu de Fichiers
24. more <fichier>: Affiche le contenu du fichier page par page.
25. more <fichier1> <fichier2>: Affiche le contenu de plusieurs fichiers, page par
page.
26. less <fichier>: Affiche le contenu du fichier, avec la possibilité de naviguer en
avant et en arrière.
27. head <fichier>: Affiche les 10 premières lignes d'un fichier.
28. head -n <fichier>: Affiche les n premières lignes d'un fichier.
29. tail <fichier>: Affiche les 10 dernières lignes d'un fichier.
30. tail -n <fichier>: Affiche les n dernières lignes d'un fichier.
31. cut -d 'sep' -f n <fichier>: Affiche la n-ième colonne d'un fichier en
utilisant le séparateur spécifié.
32. grep "motif" <fichier>: Affiche les lignes du fichier contenant le "motif".
33. cat <fichier>: Affiche le contenu du fichier.
34. cat <fichier1> <fichier2>: Affiche le contenu de plusieurs fichiers.
35. sort <fichier>: Affiche les lignes du fichier triées par ordre croissant.
36. sort -r <fichier>: Affiche les lignes du fichier triées par ordre décroissant.
37. uniq <fichier>: Affiche les lignes du fichier en supprimant les lignes
consécutives identiques.
38. sed 's/motif/new/g' <fichier>: Remplace le "motif" par "new" dans le
fichier.
39. wc <fichier>: Affiche le nombre de lignes, de mots et de caractères du fichier.
40. wc -l <fichier>: Affiche le nombre de lignes du fichier.
41. diff <fichier1> <fichier2>: Compare deux fichiers et affiche les différences.
Commandes liées aux Permissions
42. chmod <droit> <fichier>: Modifie les droits d'accès du fichier.
Exemples d'utilisation de grep avec regex
43. grep "^abc" <fichier>: Recherche les lignes commençant par "abc".
44. grep "xyz$" <fichier>: Recherche les lignes se terminant par "xyz".
45. grep "a*b" <fichier>: Recherche les lignes contenant "b" précédé de zéro ou
plusieurs "a".
46. grep "a+b" <fichier>: Recherche les lignes contenant "b" précédé d'au moins
un "a".
47. grep "a?b" <fichier>: Recherche les lignes contenant "b" précédé de zéro ou
un "a".
48. grep "[abc]" <fichier>: Recherche les lignes contenant au moins un des
caractères "a", "b" ou "c".
49. grep "[^abc]" <fichier>: Recherche les lignes ne contenant aucun des
caractères "a", "b" ou "c".
50. grep "\s" <fichier>: Recherche les lignes contenant un caractère blanc.
51. grep "\S" <fichier>: Recherche les lignes ne contenant pas de caractères
blancs.
52. grep "\d" <fichier>: Recherche les lignes contenant un chiffre.
53. grep "\D" <fichier>: Recherche les lignes ne contenant pas de chiffres.
54. grep "\w" <fichier>: Recherche les lignes contenant des lettres ou des
chiffres.
55. grep "\W" <fichier>: Recherche les lignes ne contenant pas de lettres ni de
chiffres.
56. grep ".*": Recherche les lignes contenant n'importe quel caractère.
57. grep "^[a-z]": Recherche les lignes commençant par une lettre minuscule.
58. grep "+": Recherche les lignes contenant au moins un chiffre.
59. grep "[A-Z][a-z]+": Recherche les lignes contenant un mot commençant par
une majuscule suivi de minuscules.
60. grep "\d{3}": Recherche les lignes contenant une séquence de trois chiffres.
61. grep "^[a-z]{3}$": Recherche les lignes contenant exactement trois lettres
minuscules.
62. grep "[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}": Recherche
les lignes contenant une adresse email.
Combinaisons et Cas Spécifiques
63. ls | more: Affiche le contenu d'un répertoire en utilisant more pour la pagination.
64. grep "motif" <fichier> | more: Affiche les résultats de grep en utilisant
more pour la pagination.
65. cat <fichier1> <fichier2> > <nouveau_fichier>: Concatène deux
fichiers et enregistre le résultat dans un nouveau fichier.
66. ls -l | grep "^d": Liste uniquement les répertoires dans le répertoire courant.
67. ls -l | grep "^-": Liste uniquement les fichiers dans le répertoire courant.
68. grep "mot" <fichier> | wc -l: Affiche le nombre de lignes dans le fichier
contenant le mot spécifié.
69. cut -d ':' -f 1 /etc/passwd: Affiche la liste des utilisateurs du système.
70. ps aux | grep "processus": Affiche les processus contenant "processus" dans
leur nom.
71. find . -name "*.txt": Recherche tous les fichiers avec l'extension .txt dans
le répertoire courant.
72. grep -i "motif" <fichier>: Recherche un motif sans tenir compte de la
casse.
73. grep -v "motif" <fichier>: Affiche toutes les lignes qui ne contiennent pas le
"motif".
74. grep -c "motif" <fichier>: Affiche le nombre de lignes contenant le "motif".
75. grep -n "motif" <fichier>: Affiche les lignes contenant le "motif" et leurs
numéros de ligne.
76. grep -r "motif" <répertoire>: Recherche le "motif" dans tous les fichiers du
répertoire donné et ses sous-répertoires.
77. grep -l "motif" <fichier1> <fichier2>: Affiche uniquement les noms des
fichiers contenant le motif.
78. grep -o "motif" <fichier>: Affiche uniquement le motif trouvé dans chaque
ligne.
79. grep "^#" <fichier>: Affiche les lignes commençant par un #, souvent utilisées
comme commentaires.
80. grep -E "motif1|motif2" <fichier>: Utilise des expressions régulières
étendues pour rechercher soit motif1 soit motif2
81. grep -x "motif" <fichier>: Recherche les lignes correspondant exactement
au motif.
82. grep "^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$"
<fichier>: Recherche les lignes contenant des emails
83. grep "^\d{2}-\d{2}-\d{4}$" <fichier>: Recherche les lignes contenant
des dates au format JJ-MM-AAAA.
84. grep "\b[a-z]{4}\b" <fichier>: Recherche les mots de 4 lettres minuscules.
85. grep "^[^a-z].*": Recherche les lignes qui ne commencent pas par une lettre
minuscule.
86. grep -P "\d{3}-\d{2}-\d{4}" <fichier>: Recherche les lignes contenant
des numéros de téléphone avec format spécifique (nécessite l'option -P pour Perl
regex).
87. ls | grep "\.txt$": Liste les fichiers avec l'extension .txt.
88. grep "^[ \t]*$" <fichier>: Recherche les lignes vides ou contenant
uniquement des espaces et tabulations.
89. grep "\b[aeiouAEIOU]\w*\b" <fichier>: Recherche les mots qui
commencent par une voyelle.
90. grep "\b\w*[aeiouAEIOU]\b" <fichier>: Recherche les mots qui finissent
par une voyelle.
VALOOOOO