bash et linux

C'est quoi un terminal

Un émulateur de terminal, ou terminal pour faire court
(parce qu'un vrai terminal c'est une grosse machine physique),
c'est un truc assez essentiel pour faire des trucs poussés sur un ordi.

Un terminal, c'est utiliser l'ordi via une interface textuelle plutôt qu'une interface graphique.

Pas mal d'outils de développeur utilisent seulement une interface textuelle,
pour pouvoir être utilisé dans des scripts,
dans des environnements plus ou moins limités (serveurs, ...),
et que ce soit plus facile de faire un wrapper graphique comme on veut, pour les IDE par exemple.

Un environnement minimal sur un ordi, c'est typiquement une shell bash toute simple.
Donc il y a pas mal de cas où tu peux te retrouver avec juste un terminal.
Quand t'installes fraichement arch ou debian, t juste largué sur une shell bash,
quand tu t'connectes à un serveur via ssh, t juste largué sur une shell bash, ...

Quand tu sais bien utiliser un terminal,
t'es généralement plus rapide que si t'utilise un truc graphique,
donc c'est pas mal pratique.

Comment ça marche

Un terminal classique est composé de :

Ces executables, ce sont les commandes, et c'est des trucs du genre :

Quand t'utilise bash, certains caractères dans les paths sont spéciaux,
. qui représente le dossier courant, où t'est,
.. qui représente le dossier parent au dossier courant,
et ~ qui représente ton dossier home.
A noter que . et .. sont aussi résolus par les navigateurs quand ils sont utilisés dans une url.

Tu peux faire aussi tourner des commandes dans le background en finissant une commande par &,
Tu peux ensuite contrôler les trucs dans le background avec les commandes bg et fg
C'est pas tellement utilisé, mais nice à savoir.
A noter que les commandes qui tournent dans le bg sont toujours rattachés au terminal,
ça n'a rien à voir avec un processus qui tourne en background en permanence (les deamons).

Packages managers

Le package manager de ton système sous un distro qui se base sur debian,
c'est apt, mais les langages de programmation on aussi tous leurs propre package manager.

Un package, ça peut être un outil cli, un bibliothèque pour un langage, des images ou fichiers randoms, ...
grosso merdo ça peut être n'importe quoi.
Un package manager, ça permet de gérer intelligemment les packages,
parce que il y en qui ont des dépendances sur d'autres, qu'il faut savoir où les trouver et tt,
et ça serais vite le bordel si ils existaient pas pour gérer les packages.

Les packages managers sont tous des outils cli, qui s'utilisent donc via un terminal.

Les packages managers peuvent t'ajouter des outils cli en les mettants dans un dossier qu'est dans ton $PATH.
Mais il y a pas d'outils cli si le package contient genre, une bibliothèque.

trucs cools

essaie d'installer oneko ou xeyes

<--