TP1 sur les commandes de base du terminal
- Manipuler les commandes Linux
- Modifier des fichiers
- Manipuler des répertoires
- Modifier des droits d’accès
- Créer des scripts bash
Tout se fait depuis le terminal Linux / Ubuntu installé sur votre ordinateur.
Commandes de base
| Commande | Description | Exemple | Options |
|---|---|---|---|
| pwd | Affiche le chemin du répertoire courant | pwd | |
| ls | Liste les fichiers | ls | -l : détails |
| cd | Changer de répertoire | cd dossier | .. / |
| touch | Créer un fichier | touch test.txt | |
| cat | Afficher un fichier | cat test.txt | |
| cp | Copier | cp a.txt b.txt | * |
| mv | Déplacer / renommer | mv a.txt b.txt | |
| mkdir | Créer dossier | mkdir test | |
| rmdir | Supprimer dossier | rmdir test | |
| rm | Supprimer fichier | rm a.txt | -i -f -r |
| echo | Afficher texte | echo "bonjour" | |
| ps | Voir processus | ps | |
| nano | Éditer fichier | nano test.txt |
Usage des commandes
- Créer le répertoire
Lycee - Créer le répertoire
TerminaledansLycee - Créer le répertoire
NSI - Créer le répertoire
Exercices - Aller dans
Exercices - Créer le fichier
Exercice1.txt - Éditer ce fichier et écrire :
"Nous autres, mordus d’informatique, préférons passer notre temps à bidouiller nos ordinateurs."
- Afficher le contenu du fichier
- Créer le dossier
SauvegardedansNSI - Copier
Exercice1.txtdansSauvegarde - Renommer en
Exercice1_Save.txt
Bash
Le Bash est le langage de programmation des terminaux (aussi appelés shell). Il permet d’interagir avec le système en utilisant différentes commandes.
Il consiste en un fichier avec l’extension .sh, dans lequel on écrit des instructions. Ce fichier pourra être exécuté par la suite.
On peut l’exécuter avec :
./nom_du_script.sh
- Variables
- Boucles
- Conditions
- chmod
Elles se déclarent comme en python. Cependant, on ne peut pas mettre d’espaces entre le nom de la variable, et sa valeur :
var=2
chaine=Bonjour
Aussi, les chaines de caractères ne nécessitent pas de guillements.
Pour accéder à la valeur d’une variable, il faut mettre des guillemets, le symbole dollar ($), puis le nom de la variable :
echo "$var1"
Si l'on souhaite donner des arguments au script, on peut les ajouter après le nom du fichier : ./test.sh argument1 argument2.
Dans le code, on pourra utiliser la variable $1(qui contient la valeur du premier argument), la variable $2 (qui contient la valeur du second argument), etc.
On utilise l’ensemble d’instructions suivant :
for ((var=valeurDebut ; var<=valeurFin ; var++))
do
instructions `a répéter
done
La variable $var correspond au variant de boucle, et est donc une variable utilisable (comme idans un for i in range(...) en python).
On utilise l’ensemble d’instructions suivant :
if (( valeur1 operateur valeur2 ))
then
cas si vrai
else
cas si faux
fi
Dans les systèmes Linux, les fichiers et dossiers sont protégés par des droits d’accès, pour ne pas que n'importe qui puisse les modifier ou les supprimer.
Il existe 4 types d’utilisateurs sur un système Linux :
- u : user (utilisateur lambda) ;
- g : group (pour des groupes) ;
- o : others (autres utilisateurs) ;
- a : all (tous les utilisateurs)
À qui on peut attribuer 3 droits possibles :
- r : read (lecture) ;
- w : write (écriture) ;
- x : execute (exécuter un fichier).
il existe également 3 opérateurs permettant de modifier les droits :
- + : Ajouter un droit ;
- - : Supprimer un droit ;
- = : Si les droits sur les fichiers doivent être définis pour une catégorie d’utilisateurs indépendamment de ses droits antérieurs, l’opérateur
=est utilisé.
On peut attribuer ces droits à un fichier ou un dossier grâce à la commande chmod :
chmod [options] droits fichier
Exemple :
chmod u+x script.sh: ajouter le droit d’exécution pour l’utilisateur lambda sur le fichierscript.sh.chmod g-w dossier: supprimer le droit d’écriture pour les groupes sur le dossierdossier.chmod a=r fichier: donner le droit de lecture à tous les utilisateurs sur le fichierfichier, et supprimer les autres droits.
On reprend les questions depuis la partie 2.
- Dans le répertoire
Exercices, créer le fichierscript1.sh. - Éditer ce fichier, créer une variable qui contient un prénom, et afficher :
"Bonjour" suivi du contenu de la variable.
Faire le nécessaire pour pouvoir l’exécuter dans le terminal. - Modifier le script pour que le prénom soit un argument lors de l’exécution du fichier.
- Rajouter une boucle qui affiche 3 fois cette phrase.
- Faire un nouveau script qui crée 10 fichiers
testsuivi d’un numéro, au format texte (test1.txt, test2.txt ...) - Copier tous ces fichiers dans le répertoire
Sauvegarde. - Détruire tous les fichiers du répertoires
Exercices. - Faire un fichier
script3.shqui prendra 2 arguments : un nombre et un mot.
Si le nombre est supérieur à 5, afficheNombre trop grand, sinon, crée le nombre de fichiers texte correspondant à l’argument, avec le mot en argumentdedans.On pourra utiliser la commande :
echo "mot dans fichier" \> fichierpour écrire dans un fichier.