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
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
pwd
ls
cd
mv
rm
rm -R
cat
touch
mkdir
Bons réflexes :
CTRL + R
: rechercher dans l’historique
livre
contenant un sous-dossier chapitre-01
contenant lui-même un fichier texte.txt
chapitre-01
livre
texte.txt
dans le dossier livre
texte.txt
en chapitre-01.txt
chapitre-01
3. 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.txt
touch comp
puis la touche tabulation