====== Linux et Termux — emporter un terminal Linux partout ====== «//« Comprendre son outil, c'est déjà reprendre un peu de liberté. »//» ===== Linux, un système libre ===== Linux est un noyau de système d'exploitation libre, créé en 1991 par Linus Torvalds. Dans le langage courant, on utilise cependant « Linux » pour désigner l'ensemble d'un système GNU/Linux : un noyau Linux associé à de nombreux logiciels libres. Contrairement aux systèmes propriétaires, Linux permet notamment : * d'étudier son fonctionnement ; * de modifier le système ; * de partager les logiciels ; * de disposer d'un contrôle important sur son environnement informatique. Cette philosophie est particulièrement intéressante dans une démarche d'autonomie : plutôt que de simplement utiliser un outil, on peut chercher à comprendre comment il fonctionne. ===== Le terminal Linux ===== Le terminal est une interface permettant de communiquer avec l'ordinateur en utilisant des commandes textuelles. Par exemple : ls affiche le contenu du répertoire courant. cd Documents permet de se déplacer dans le dossier "Documents". Et : mkdir test crée un nouveau répertoire appelé "test". Le terminal peut sembler austère au début. Pourtant, il constitue une interface extrêmement puissante : quelques caractères peuvent permettre de manipuler des fichiers, rechercher des informations, automatiser des tâches, installer des logiciels ou programmer. ===== Pourquoi apprendre le terminal ? ===== Apprendre quelques commandes Linux permet de développer une forme de culture informatique pratique. On découvre progressivement des notions fondamentales : * fichiers et répertoires ; * chemins ; * permissions ; * processus ; * utilisateurs ; * variables ; * redirections ; * pipelines ; * scripts ; * programmes et bibliothèques. Le terminal permet également de comprendre ce qui se passe « derrière » les interfaces graphiques. Une interface graphique masque souvent la complexité. Le terminal permet de la rendre visible. ===== Termux : Linux dans Android ===== Termux est une application Android qui fournit un environnement de terminal avec une collection de programmes et d'outils Linux. Il permet notamment d'utiliser sur smartphone : * un shell ; * des commandes Unix/Linux ; * Python ; * Git ; * SSH ; * des compilateurs ; * des éditeurs de texte ; * des outils réseau ; * différents langages de programmation. Termux ne transforme pas Android en ordinateur Linux classique : il fournit plutôt un environnement Linux utilisable depuis Android, avec ses propres contraintes et adaptations. C'est particulièrement intéressant pour apprendre et expérimenter sans avoir besoin d'un ordinateur. ===== Installer Termux ===== Il est recommandé d'utiliser une source officielle et maintenue pour obtenir Termux, notamment F-Droid ou les versions officielles du projet. "Termux sur F-Droid" (https://reference-url-citation.invalid/1) "Projet Termux sur GitHub" (https://reference-url-citation.invalid/2) Évitez les APK provenant de sites inconnus : un terminal dispose potentiellement de nombreuses possibilités d'accès au système et il est préférable de savoir exactement d'où provient le logiciel installé. ===== Premiers pas ===== Après l'installation, ouvrir Termux affiche un terminal. On peut commencer simplement. Afficher le répertoire courant : pwd Lister son contenu : ls Créer un répertoire : mkdir kaizen Entrer dans le répertoire : cd kaizen Créer un fichier : touch premier_fichier.txt Afficher le fichier : ls Revenir au répertoire précédent : cd .. Ces quelques commandes suffisent déjà à commencer à explorer l'environnement. ===== Transformer Termux en petit laboratoire ===== Termux devient particulièrement intéressant lorsqu'on commence à installer des outils. Par exemple : pkg update pkg upgrade Puis : pkg install git ou : pkg install python On peut alors utiliser Python directement depuis le smartphone : python Et même créer de petits programmes, manipuler des fichiers ou automatiser des tâches. ===== Termux et programmation ===== Un smartphone devient ainsi un petit laboratoire de programmation. On peut expérimenter avec : * Python * PHP * JavaScript / Node.js * Shell * C * Git * SSH Cela ne remplace pas nécessairement un ordinateur pour les gros projets, mais c'est largement suffisant pour apprendre, tester, automatiser et comprendre. ===== Termux et le libre ===== Termux est particulièrement intéressant dans une démarche de sobriété numérique et de logiciel libre. Un smartphone est généralement utilisé à travers des interfaces conçues pour cacher le fonctionnement interne. Termux offre une autre porte d'entrée : «Le smartphone devient également un terminal programmable.» On peut alors utiliser un appareil courant pour apprendre Linux, expérimenter avec le code et comprendre davantage ce que l'on fait. ===== Quelques commandes à connaître ===== ^ Commande ^ Fonction ^ | "pwd" | Afficher le répertoire courant | | "ls" | Lister les fichiers | | "cd" | Changer de répertoire | | "mkdir" | Créer un répertoire | | "touch" | Créer un fichier vide | | "cp" | Copier | | "mv" | Déplacer ou renommer | | "rm" | Supprimer | | "cat" | Afficher le contenu d'un fichier | | "grep" | Rechercher du texte | | "find" | Rechercher des fichiers | | "man" | Consulter la documentation | | "clear" | Nettoyer l'écran | | "exit" | Quitter le shell | Attention avec les commandes de suppression, notamment "rm" : le terminal ne demande pas toujours confirmation. ===== Une progression Kaizen ===== Il n'est pas nécessaire d'apprendre cinquante commandes d'un coup. Commencez avec cinq : pwd ls cd mkdir touch Puis utilisez-les réellement. Le lendemain, ajoutez "cp". Puis "mv". Puis "cat". Puis "grep". Petit à petit, le terminal cesse d'être une suite mystérieuse de caractères. Il devient un outil que l'on comprend. C'est une belle application du principe Kaizen : «Une commande comprise vaut mieux que vingt commandes mémorisées.» ===== Pour aller plus loin ===== Lorsque les bases sont acquises, on peut explorer : * [[linux:arborescence|L'arborescence Linux]] * [[linux:commandes|Commandes Linux]] * [[linux:shell|Shell et Bash]] * [[linux:permissions|Permissions]] * [[linux:pipes|Pipes et redirections]] * [[linux:scripts|Scripts shell]] * [[linux:git|Git]] * [[linux:ssh|SSH]] * [[linux:python|Python]] * [[linux:php|PHP]] * [[linux:termux|Termux]] ===== Linux, Termux et Ermite Zen ===== Le terminal peut être considéré comme un excellent outil d'autonomie numérique. Pas besoin de connaître toute l'informatique. Pas besoin de devenir administrateur système. Il suffit de commencer à comprendre ce que l'on utilise. «Ne pas seulement consommer la technologie. Apprendre à la comprendre, à la contrôler et à créer avec elle.» C'est peut-être l'une des formes modernes de simplicité volontaire : moins dépendre de boîtes noires, plus comprendre ses outils.