name: inverse layout: true class: center, middle, inverse --- # INFORMATIQUE 3 - CM7 ## Inès de Courchelle ## 2024-2025
--- layout: false # Commandes de bases et Fichiers ## Plan 1. Naviguer dans l'arborescence des fichiers 2. Manipuler les fichiers et les répertoires 3. Lire le manuel 4. Utiliser Vi 5. Réaliser des recherches ciblées sur des noms de fichiers et des contenus de fichiers 6. Trier des données en fonction de critéres définis 7. Connaître et se familiariser avec les commandes distantes
--- # Commandes de bases et Fichiers ## Plan 1. .underG[Naviguer dans l'arborescence des fichiers] 2. Manipuler les fichiers et les répertoires 3. Lire le manuel 4. Utiliser Vi 5. Réaliser des recherches ciblées sur des noms de fichiers et des contenus de fichiers 6. Trier des données en fonction de critéres définis 7. Connaître et se familiariser avec les commandes distantes
--- # Unix ## Arborescence - Ubuntu adhère à la norme sur la hiérarchie des systèmes de fichiers - Système d'arbre - Différents dossiers
.piti[source image:https://thesagediary.files.wordpress.com/2018/09/linuxfile.png]
- Dossier racine : .under[/] - Dossier des périphériques : .under[/media/votre_nom/] - Dossier personnel : .under[/home/votre_nom/] --- # Unix ## Arborescence - .under[/bin :] stock les commandes système utilisée par tout le monde. C’est là dedans que l’on trouve les commandes basics. - .under[/sbin :] ces commandes sont accessibles qu’à l’administrateur et en plus on a des commandes plus sensibles. - .under[/lib :] contient toutes les bibliothèques du système (Bibliothèque : petit bout de programme nécessaire à faire fonctionner d’autre programmes). - .under[/boot :] contient le grub, et tous les programmes de démarrage. - .under[/dev :] pour « device » (périphérique) contient les paramètres « driver ». - .under[/etc :] contient tout les fichiers de configuration des différents logiciels. - .under[/opt :] c’est pour installer les programmes. Ce répertoire contient les logiciels installés manuellement (c’est à dire ceux que l’on a par exemple compilé). - .under[/root :] n’est presque plus utilisé (administrateur sur windows) car c’est le premier dossier que l’on essaye de cracker. Donc par défaut sur Ubuntu et sur Windows ce compte est désactivé. Pour ce connecté en tant que « root » (super administrateur) on tape « sudo ». « Sudo –i » permet d’ouvrir une connexion en tant que « root » permanente. .piti[Description compléte des dossiers [ici](https://doc.ubuntu-fr.org/arborescence)] --- # Les déplacements ## CD - pwd .arrow[] indique l'endroit où on se trouve - cd chemin .arrow[] indique l'endroit où on souhaite aller - cd .. .arrow[] on repart un dossier en arrière - cd ../.. .arrow[] on repart deux dossiers en arrière - . .arrow[] désigne le répertoire courant (où on se trouve)
--- # Dossier personnel ## Accès 1 ```bash cd /home/votre_nom/ ``` ## Accès 2 ```bash cd ``` ## Accès 3 ```bash cd ~ ``` --- # Les chemins
.pull-left[ ## Chemin absolu commence au répertoire de la racine ## Chemin relatif commence à partir du répertoire courant ] .pull-right[
] --- # Linux VS Unix ## Linux .pull-left[ - code source disponible (openSource) - gratuit - noyau linux développé par la communauté - Ubuntu, fedora, Red Hat .. ] .pull-right[
]
## Unix .pull-left[ - code source pas disponible - coût suivant les fournisseurs - Oracle, IBM, Hewlett Packard, Apple ... - OS X, Solaris, All Linux ] .pull-right[
] --- # Historique des versions
.piti[[source](https://fr.wikipedia.org/wiki/Unix#/media/Fichier:Unix_history-simple.svg)]
--- # La ligne de commande ## La console La console est l’interface textuelle du système d’exploitation Ubuntu, qui permet d’utiliser les commandes du système ## Intérêt - rapidité - pas d'infarce graphique - raccourcis claviers
.piti[[source](https://www.lifewire.com/ways-to-open-a-terminal-console-window-using-ubuntu-4075024)]
--- # Les fichiers ## Définition - Un fichier est un ensemble de données dans un même contenant - Il peut avoir une extension ou pas ## Les commandes #### Afficher le contenu d'un répertoire ```bash ls ``` #### Afficher le contenu d'un répertoire + éléments cachés ```bash ls -a ``` --- # Les fichiers ## Les commandes #### Afficher le contenu d'un répertoire + détails + cachés ```bash ls -la ```
--- # Les répertoires ## Définition - gestion similaire aux fichiers en Unix - En anglais : Directory
--- # Les répertoires ## La commande de création ```bash mkdir monRepertoire mkdir -p monRepertoire/monSousRepertoire ``` ## La commande de suppression ```bash rmdir monRepertoire rm -r monRepertoire ``` .underR[Attention] - rmdir supprime un répertoire vide - dir : directory --- # Les droits ## Définition Un fichier ou un répertoire posséde : - 3 types d'utilisateurs - 3 types d'accès .pull-left[ | user | group | others | |-------|-------|--------| | rwx | rwx | rwx | | 4+2+1 | 4+2+1 | 4+2+1 | ] .pull-right[ - r : read : lecture : 4 - w : write : écriture : 2 - x : eXecution - exécution : 1 ]
## La commande ```bash chmod 777 nomDufichier chmod 777 nomDuRepertoire -R ``` *-R : Permet de rajouter la récursivité et d'appliquer les changements de droits à l'ensemble des fichiers* --- # Les droits ## Exemple 1 : Création des droits | nom Fichier | user | group | others | Commande | |----------------|------|-------|--------|--------------------------| | horcruxe | rwx | r-- | --- | chmod 740 horcruxe | | grandeSalle | rwx | rwx | rwx | chmod 777 grandeSalle | | foretInterdite | r-- | --- | --- | chmod 400 foretInterdite | | salleCommune | rwx | --- | --- | chmod 700 salleCommune |
## Exemple 2 : Enlever des droits | nom Fichier | Quoi ? | Commande | |----------------|---------------------------------------------|--------------------------| | horcruxe | enlever le droit de lecture à tout le monde | chmod -r horcruxe | | grandeSalle | enlever le droit d'ecriture au groupe | chmod g-w grandSalle | | foretInterdite | enlever la lecture à l'utilisateur | chmod u-r foretInterdite | | salleCommune | enlever l'exécution aux autres | chmod o-x salleCommune | --- # Les droits ## Exemple 3 : Ajouter des droits | nom Fichier | Quoi ? | Commande | |----------------|---------------------------------------------|--------------------------| | horcruxe | Ajouter le droit de lecture à tout le monde | chmod +r horcruxe | | grandeSalle | Ajouter le droit d'ecriture au groupe | chmod g+w grandSalle | | foretInterdite | Ajouter la lecture à l'utilisateur | chmod u+r foretInterdite | | salleCommune | Ajouter l'exécution aux autres | chmod o+x salleCommune |
--- # Commandes de bases et Fichiers ## Plan 1. Naviguer dans l'arborescence des fichiers 2. .underG[Manipuler les fichiers et les répertoires] 3. Lire le manuel 4. Utiliser Vi 5. Réaliser des recherches ciblées sur des noms de fichiers et des contenus de fichiers 6. Trier des données en fonction de critéres définis 7. Connaître et se familiariser avec les commandes distantes
--- # Les fichiers ## touch Créer un fichier vide ```bash touch monfichier ``` ## cat Afficher le contenu de 1 ou plusieurs fichiers ```bash cat monfichier cat monfichier1 monfichier2 ``` --- # Copier/coller ## Les fichiers ```bash cp source destination cp chemin1/monFichier chemin2/ cp chemin1/monFichier chemin2/nouveauNom ``` ## Les répertoires ```bash cp -r source destination cp -r chemin1/rep chemin2/ cp -r chemin1/rep chemin2/nouveauNom ``` --- # Couper/coller ## Les fichiers ```bash mv source destination mv chemin1/monFichier chemin2/ mv chemin1/monFichier chemin2/nouveauNom ``` ## Les répertoires ```bash mv source destination mv chemin1/rep chemin2/ mv chemin1/rep chemin2/nouveauNom ``` .underR[attention] : il n'y a pas besoin de -r avec la commande **mv** --- # Commandes de bases et Fichiers ## Plan 1. Naviguer dans l'arborescence des fichiers 2. Manipuler les fichiers et les répertoires 3. .underG[Lire le manuel] 4. Utiliser Vi 5. Réaliser des recherches ciblées sur des noms de fichiers et des contenus de fichiers 6. Trier des données en fonction de critéres définis 7. Connaître et se familiariser avec les commandes distantes
--- # Le manuel ## La commande ```bash man ls ``` - pour naviguer : la barre espace - pour quitter : q - pour chercher : / + motRecherché ## Résultat
--- # Commandes de bases et Fichiers ## Plan 1. Naviguer dans l'arborescence des fichiers (ls, cd ...) 2. Manipuler les fichiers et les répertoires (cat, cp, mv, mkdir ...) 3. Lire le manuel (man, ...) 4. .underG[Utiliser Vi] 5. Réaliser des recherches ciblées sur des noms de fichiers et des contenus de fichiers 6. Trier des données en fonction de critéres définis 7. Connaître et se familiariser avec les commandes distantes
.piti[[game](https://vim-adventures.com/)]
--- # VI ## Définition VI est un éditeur de texte, directement disponible dans le terminal. Il a été développé à l’Université de Berkeley en Californie. Il possède trois modes de travail : - .under[Mode commande] : Toutes les entrées claviers sont interprétées comme des commandes - .under[Mode insertion] : Toutes les entrées claviers sont du textes écrits dans le fichier - .under[Mode étendu :] Toutes les entrées claviers sont interprétées comme des commandes propres à l’éditeur ## Illustration
--- # VI ## Exemple d'utilisation
--- # Commandes de bases et Fichiers ## Plan 1. Naviguer dans l'arborescence des fichiers 2. Manipuler les fichiers et les répertoires 3. Lire le manuel 4. Utiliser Vi 5. .underG[Réaliser des recherches ciblées sur des noms de fichiers et des contenus de fichiers] 6. Trier des données en fonction de critéres définis 7. Connaître et se familiariser avec les commandes distantes
--- # Grep ## Définition Rechercher une chaîne de caratères dans un fichier ## Les commandes #### Rechercher classique 1 ```bash grep jimmy ledZeppelin.txt ``` #### Rechercher classique 2 ```bash grep Jimmy ledZeppelin.txt ``` .underR[Attention] *Grep est sensible à la case. C-à-d la majuscule est prise en compte* --- # Grep ## Autres #### Afficher les numéros de lignes ```bash grep -n jimmy ledZeppelin.txt ``` #### Rechercher en oubliant la sensibilité à la case ```bash grep -i jiMmY ledZeppelin.txt ``` #### Rechercher le mot complet ```bash grep -w jimmy ledZeppelin.txt ``` --- # Find ## Définition Rechercher un fichier dans une arboresence de fichiers ## Les commandes #### Rechercher un fichier ```bash find -name ledZeppelin.txt ``` #### Rechercher un fichier terminant par une extension ```bash find *.txt ``` .underR[Attention] *la recherche est descend dans l'arborescence à l'endroit où la commande a été effectuée* --- # Find Avancé ## En deux temps
--- # Find Avancé ## Autres #### Rerchercher un fichier puis afficher ses droits ```bash find -name ledZep.txt -exec ls -l {} \; ``` #### Rerchercher un fichier puis rechercher du contenu ```bash find -name ledZep.txt -exec grep Jimmy {} \; ```
--- # Commandes de bases et Fichiers ## Plan 1. Naviguer dans l'arborescence des fichiers 2. Manipuler les fichiers et les répertoires 3. Lire le manuel 4. Utiliser Vi 5. Réaliser des recherches ciblées sur des noms de fichiers et des contenus de fichiers 6. .underG[Trier des données en fonction de critéres définis] 7. Connaître et se familiariser avec les commandes distantes
--- # Sort ## Définition Trier le contenu de fichier ## Les commandes #### Fichier exemple pour illustration de commandes .pull-left[ .under[petitPapaNoel.csv] | id | appelation | prix | quantité | | -- | -- | -- | -- | | 0 | Switch | 300 | 5 | | 1 | PS5 | 500 | 2 | | 2 | XBox | 400 | 3 | | 3 | PS4 | 300 | 5 | | 4 | Wii | 50 | 10 | | 5 | GameBoy | 10 | 1 | ] .pull-right[
] --- # PARANTHÉSE ## let's go !
--- # CSV ## Définition - Extension de fichier permettant de représenter des tableurs au format texte - Une colonne est séparé par une , ou un ; - Une ligne est un retour à la ligne dans le fichier ## Parallèle .pull-left[ .under[Mon Tableau] | id | appelation | prix | quantité | | -- | -- | -- | -- | | 0 | Switch | 300 | 5 | | 1 | PS5 | 500 | 2 | | 2 | XBox | 400 | 3 | | 3 | PS4 | 300 | 5 | | 4 | Wii | 50 | 10 | | 5 | GameBoy | 10 | 1 | ] .pull-right[ .under[Mon Fichier] ```bash id;appelation;prix;quantité 0;Switch;300;5 1;PS5;500;2 2;XBox;400;3 3;PS4;300;5 4;Wii;50;10 5;GameBoy;10;1 ``` ] --- # Et c'est reparti !!! ## Let's go
--- # Sort ## Les commandes #### Trier les consoles par ordre décroissant ```bash sort -t';' -k3nr petitPapaNoel.csv ``` #### Trier les consoles par appelation alphabétique ```bash sort -t';' -k2 petitPapaNoel.csv ``` #### Quelques indications - .under[-t';'] : Pour indiquer que le délimiteur de colonne sont des ; - .under[-k2] : Pour indiquer que le tri se fera sur la colonne numero 2 - .under[r] : Pour indiquer que le tri sera décroissant - .under[n] : Pour indiquer que le tri se fera sur des données numériques --- # Pipe ## Définition - Un pipe est un moyen de communication entre deux processus. - En Unix, il nous permet de connecter le flot de sortie d’une commande au flot d’entrée d’une autre. Ainsi on peut enchaîner plusieurs commandes sur un flot initial. - Autrement dit, la sortie de la première commande est redirigée en entrée de la seconde. - Le pipe sur le terminal est représenté par |. - Ce caractère est accessible au clavier via la touche AltGr (située à droite de la barre espace) et la touche 6 (située au dessus de la touche t et y)
--- # Pipe ## Les commandes #### Afficher le contenu d'un répertoire contenant beaucoup de fichiers ```bash ls -l | more ``` - .under[La sortie de la commande ls -l est envoyé en entrée de la commande more] - *utiliser la barre espace du clavier pour avancer petit à petit* #### Compter le nombre de ligne affiché par la commande ls -l ```bash ls -l | wc -l ``` - .under[La sortie de la commande ls -l est envoyé en entrée de la wc -l] - .underG[wc -l] permet de compter le nombre de lignes --- # Cut ## Définition Couper un contenu sur une expression ## Les commandes #### Afficher les consoles par prix croissant mais n'afficher que l'id ```bash sort -t';' -k2 petitPapaNoel.csv | cut -d’;’ -f1 ``` .underR[Quelques explications] - .under[sort -t';'] : le délimiteur pour la commande *sort* - .under[cut -d';'] : le délimiteur pour la commande *cut* - .under[-f1] : les colonnes que l'on souhaite afficher --- # Commandes de bases et Fichiers ## Plan 1. Naviguer dans l'arborescence des fichiers 2. Manipuler les fichiers et les répertoires 3. Lire le manuel 4. Utiliser Vi 5. Réaliser des recherches ciblées sur des noms de fichiers et des contenus de fichiers 6. Trier des données en fonction de critéres définis 7. .underG[Connaître et se familiariser avec les commandes distantes]
--- # SSH ## Définition - Protocole de communication - SSH : Secure SHell - Objectif : Communiquer et échanger de l'information entre deux machines distantes
--- # SSH ## La commande de connexion
## La commande de déconnexion
--- # SSH ## Illustration
--- # SCP ## Définition - Protocole de transfert de fichiers - SCP : Secure CoPy - Objectif : copier des fichiers sur deux machines distantes ## La commande ```bash scp
``` *fonctionne comme cp* --- # SCP ## Illustrations #### Envoyer un Fichier Nous souhaitons envoyer sur la machine distante le fichier suivant .under[petitPapaNoel.csv]
```bash scp petitPapaNoel.csv
@ssh.pau.eisti.fr:~/chemins/ ``` --- # SCP ## Illustrations #### Envoyer un répertoire Nous souhaitons envoyer sur la machine distante le repertoire suivant .under[Documents]
```bash scp -r documents
@ssh.pau.eisti.fr:~/chemins/ ``` --- # SCP ## Illustrations #### Récupérer un fichier distant Nous souhaitons récuếre sur la machine distante le fichier suivant .under[reponsesExam.txt]
```bash scp
@ssh.pau.eisti.fr:~/chemins/reponsesExamen.txt ~/chemins/ ``` .underR[Attention] - on garde le même principe source -> direction - la commande s'exécute sur notre terminal et non sur la machine distante --- # SCP ## Illustrations #### Récupérer un répertoire distant Nous souhaitons récuếre sur la machine distante le fichier suivant .under[laReponse]
```bash scp -r
@ssh.pau.eisti.fr:~/laReponse ~/chemins/ ``` .underR[Attention] - on garde le même principe source -> direction - la commande s'exécute sur notre terminal et non sur la machine distante --- # Conclusion ## Pourquoi on fait çà ? - Algorithme et programmation - Python - Programmation Orientée Objet - BDD - Parceque !
clic
--- # Subreddits ## Quelques liens -
bash
-
ligne de commandes
-
ligne de commandes