Chaire de recherche du Canada sur les écritures numériques, Bibliothèque des lettres et des sciences humaines, Ouvroir d'histoire de l'art et de muséologie numérique. — roch.delannay@umontreal.ca ; giulia.ferretti@umontreal.ca ; louis-olivier.brassard@umontreal.ca
1. Rappel #
Un terminal est une interface graphique (graphical user interface - GUI) qui émule une console. Il nous permet d’exécuter un shell.
1. Rappel #
Le shell est un interpréteur de commandes. Il s’agit d’un programme qui transmet les commandes entrées par l’utilisateur au système d’exploitation pour qu’il les exécute.
Des exemples de programmes shell sont bash (qui est aussi un langage de commande) et Zsh (Z shell).
1. Rappel #
Les autres interfaces graphiques nous offrent une série d’options et nous orientent vers un parcours d’action. Grâce au terminal, nous pouvons construire nos propres commandes, adaptées à nos besoins.
En apprenant à bien utiliser le terminal, nous pouvons exécuter des commandes complexes très rapidement.
1. Rappel #
Sous Linux ou Mac, chercher « terminal »
Windows : vous pouvez suivre les instructions ici
pwdlscdmvrmrm -RcattouchmkdirBons réflexes :
CTRL + R : rechercher dans l’historique
livre contenant un sous-dossier chapitre-01 contenant lui-même un fichier texte.txtchapitre-01livretexte.txt dans le dossier livretexte.txt en chapitre-01.txtchapitre-013. Commandes avancées #
tree
3. Commandes avancées #
man
Exemple : man ls pour tout savoir sur la commande ls
3. Commandes avancées #
clear
3. Commandes avancées #
history
3. Commandes avancées #
less
Par exemple less mon-texte.txt
3. Commandes avancées #
cp
Par exemple cp livre/texte.txt sauvegarde/divers/livre/texte.txt
Ou encore cp -r livre sauvegarde/divers
3. Commandes avancées #
wc
Par exemple wc texte.txt
3. Commandes avancées #
find
Par exemple find -name "name-fichier.txt" OU find -name "*.txt"
3. Commandes avancées #
diff
Par exemple diff -y -W 120 file1.txt file2.txt
3. Commandes avancées #
grep
Par exemple grep "string" file3.txt ou grep "string" *.txt
3. Commandes avancées #
|
Par exemple : less file3.txt | grep "string"
3. Commandes avancées #
chmod +x nom-fichier
3. Commandes avancées #
echo
rsync pour synchroniser des dossiers (program complexes mais très pratique).
sed pour manipuler du texte, commande puissante.
&& pour enchaîner les commandes.
htop pour savoir ce que fait votre ordinateur.
4. Bash #
Préparer une suite de commandes dans un fichier.
#!/bin/bash
# aller dans le dossier
cd notes
# créer un fichier qui va s'appeler note- suivi du numéro de la note que vous aurez indiqué dans le terminal
touch note-$1.txt
4. Bash #
#!/bin/bash
# créer un dossier
mkdir dossier
# créer un fichier dans le dossier
touch "dossier/note2.txt"
# écrire "Hello World dans le fichier"
echo "Hello World" >> "dossier/note2.txt"
# afficher un message dans le terminal
echo "Hello World a été écrit dans dossier/note2.txt"
4. Bash #
Pour savoir si un fichier existe ou non sur votre ordinateur
#!/bin/bash
# créer la variable FICHIER
FICHIER="note3.txt"
# si le fichier existe, afficher "le nom-du-fichier existe".
if [ -e "$FICHIER" ]
then
echo "le $FICHIER existe"
# si le fichiers n'existe pas, afficher "le nom-du-fichier n'existe pas".
else
echo "le $FICHIER n'existe pas"
fi
The Z shell (Zsh) is a Unix shell that can be used as an interactive login shell and as a command interpreter for shell scripting.
Source
Zsh est un interpréteur de commandes (par défaut l’interpréteur de commandes est Bash sur les systèmes Unix) qui simplifie l’utilisation du terminal grâce à :
5. Zsh #
(vous aurez peut-être besoin d’autres programmes comme Git)
sudo apt install zsh puis chsh -s /usr/bin/zsh, et redémarrer le terminal/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"brew install zsh zsh-completions puis chsh -s /bin/zsh, et redémarrer le terminal
6. Zsh #
Plusieurs possibilités, l’autocomplétion est un bon moyen de vérifier que tout s’est bien passé :
debugue que vous avez créé précédemment, taper la commande touch mon-fichier-au-nom-complique-2022.txttouch comp puis la touche tabulation