Table des matières

Ch 1 - Commandes

Pour Linux (noyau), tout est fichier (flux d'octets), seuls les programmes font la différence : Wikipedia - Howtogeek

Longueur du nom de fichier

255 caractères maximum, 80 c'est déjà bien (largeur de la console). Sensible à la casse (pas Windows ni MacOS).
80 caractères : 12345678901234567890123456789012345678901234567890123456789012345678901234567890

Caractères interdits

Caractères sans problème

Fichiers spéciaux

Les scripts de démarrage sont cachés (dotfiles) dans le répertoire personnel.
Voir : https://dotfiles.github.iohttps://github.com/rsgranne/syno-dotfileshttps://ChainsawOnATireSwing.com

2 types de shells : de connexion ou non, interactif ou non.

Un shell de connexion (login shell) démarre à l'ouverture de la session, locale ou en réseau (SSH). Bash configure le shell en lisant /etc/profile pour tous les utilisateurs, puis recherche le 1er fichier trouvé :

  1. ~/.bash_profile — identique à .profile mais que pour Bash
  2. ~/.bash_login
  3. ~/.profile

On y trouve : les variables d'environnement, programmes à lancer automatiquement, configuration de programmes (ex. : bash-completion http://chnsa.ws/7d).

Un shell qui n'est pas de connexion (nonlogin shell) est un sous-shell.

Un shell interactif demande des saisies.

Un shell non interactif ne demande pas de saisies (script de shell).

Au lancement d'un shell interactif (sans ouverture de la session), Bash lit et exécute /etc/bash.bashrc s'il existe, puis il lit .bashrc du dossier personnel de l'utilisateur (options de Bash, alias, fonctions, invites de commande ⇒ http://chnsa.ws/7c, http://chnsa.ws/7b).
Quand les alias et fonctions sont trop nombreux, les déplacer dans .bash_aliases et .bash_functions.
Il faudra ajouter if [ -f ~/.bash_aliases ]; then ¶ source ~/.bash_aliases ¶ fi dans .bashrc.

En fin de connexion, ~/.bashlogout est exécuté. On y place clear par exemple.

Astuces : voir les options de ~/.inputrc qui personnalise la bibliothèque Readline utilisée par Bash. (inputrc part 1, inputrc binding fun)