Pour Linux (noyau), tout est fichier (flux d'octets), seuls les programmes font la différence : Wikipedia - Howtogeek
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
/ (slah) — sépare les dossiers- (touche [6]) — (au début d'un nom) option de commande. (point) — (au début d'un nom) fichier caché (dotfile)\ (antislah) — caractère d'échappement (le caractère qui suit est à interpréter comme du texte)“ (touche [3]) — pour encadrer un nom contenant une espace[ ] (crochets) — liste de caractères uniques, ex. : [abc123] (a ou b ou c ou 1 ou 2 ou 3), ou une plage de caractères, ex. : [1-4] (1 ou 2 ou 3 ou 4){ } (accolades) — liste de chaînes de caractères, ex. : {merle,pie} (merle ou pie), ou une plage de caractères, ex. : {a..d} (abcd ensemble)? (point d'interrogation) — remplace 1 caractère* (astérisque) — remplace 1 ou plusieurs caractères. (dans le nom), _, -, (espace, le nom doit être encadré par ”).
Les scripts de démarrage sont cachés (dotfiles) dans le répertoire personnel.
Voir : https://dotfiles.github.io — https://github.com/rsgranne/syno-dotfiles — https://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é :
~/.bash_profile — identique à .profile mais que pour Bash~/.bash_login — ~/.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)