Introduction
Le but de ce tuto est de permettre à un débutant de la ligne de commande de s'en sortir de façon honorable.
Loin d'être complet, ce petit tuto vous permettra de faire connaissance avec le Shell en tant que logiciel et pas en tant que langage de programmation.
Je vais essayer d'être assez court au niveau de chaque chapitre (des explications concises et claires), en revanche ce tuto risque d'être assez long, d'où l'idée de créer plusieurs chapitres.
Il n'est pas nécessaire de parcourir le tuto du début à la fin. Vous pouvez accéder directement au chapitre qui vous intéresse en fonction de vos besoins.
II. C'est quoi le shell ?
Pour avoir une réponse plus exacte je vous recommande de visiter ce site SHELL
Le shell c'est un programme qui se trouve dans le répertoire /bin.
On distingue plusieurs shells
- le /bin/sh shell Bourne
- le /bin/bash shell Bourne Again SHell
- le /bin/csh C shell
- le /bin/ksh Korn shell
- le /bin/tcsh C shell amélioré
- le /bin/zsh/ Z shell
La suite de ce tutoriel traite uniquement shell du shell bash qui est le shell par défaut pour les distributions GNU/Linux.
Le shell permet d'exécuter des commandes, d'explorer l'arborescence du système, de créer, d'éditer et de supprimer des fichiers, etc.
III. Comment accéder à la ligne de commande
Pour accéder à la ligne de commande, il est possible d'utiliser un terminal (xterm, kterm, gterm) ou encore konsole.
kterm - est un terminal émulateur multilingue basé sur le xterm.
Les différences principales entre kterm et xterm sont :
Pour ce faire, deux possibilités sont offertes :
IV. Les consoles virtuelles
La console virtuelle (tty1 à tty6) est un écran noir où une invite de commande apparaît, de la forme login :
Depuis l'interface graphique, il est possible de se connecter à une console virtuelle en utilisant la combinaison de touches Ctrl+Alt+FN, où N est un chiffre de 1 à 6
Exemple : Accéder à la console 3 depuis l'interface graphique
CTRL+ALT+F3
Une fois dans une console virtuelle, la navigation entre les différentes consoles virtuelles se fait avec la combinaison de touches Alt+FN, où N est un chiffre de 1 à 6
V. Connexion dans une console virtuelle
A l'invite login:, saisir l'identifiant (login) de l'utilisateur, puis valider en appuyant sur Entrée, l'invite Password: s'affichera. Saisir le mot de passe de l'utilisateur et valider.
Exemple:
VI. L'invite de commande du shell après la connexion
L'invite de commande (ou prompt) du shell a en général la forme suivante :
nom@machine ~ $
Si au lieu de $ le signe # apparaît, alorsvous êtes connecté en tant que superutilisateur (root).
Gardez à l'ésprit que les systèmes Gnu/Linux utilisent par convention # pour root et $ pour un utilisateur autre que root.
Ce comportement peut être changé en modifiant la variable d'environnement PS1, mais cela est vivement déconseillé!
VII. Revenir au mode graphique depuis une console virtuelle
Pour revenir au mode graphique depuis une console virtuelle, utiliser la combinaison de touches ALT+F7
VIII. L'environnement shell
Après connexion, l'utilisateur est connecté dans son environnement. Cela signifie que le shell met à sa disposition des variables d'environnement, c'est-à-dire un conteneur mémoire dans lequel des données sont stockées.
Pour afficher le contenu d'une variable d'environnement, la commande echo $NOM_VARIABLE peut être utilisée.
Le nom des variables d'environnement est par convention en majuscules, il est donc nécessaire de respecter la casse.
IX. Variables d'environnement à connaître
HOME, USER, GROUPS, UID, PWD, SHELL, PATH, HOSTNAME
Exemple d'affichage :
La commande set permet d'afficher les variables et leur contenu.
X. Fichiers de configuration
Au moment de la connexion, dans une console virtuelle ou à l'ouverture d'un terminal en mode graphique, le shell utilise des informations qui se trouvent dans certains fichiers (.bashrc, .bash_profile, etc)
Le comportement du shell peut être modifié en éditant ces fichiers.
Le fichier .bashrc est par exemple utilisé dans le chapitre sur les alias.
Pour ce qui est de la configuration de votre shell vous devez attendre un peu, ça ne sera pas pour tout de suite. Vous allez apprendre à le faire avec le temps, donc ne soyez pas si impatients.
XI. Pourquoi utiliser la ligne de commande ?
Beaucoup de solutions sont données en ligne de commande, non pas que GNU/Linux n'ait pas d'interface graphique, mais pour certaines tâches, l'utilisation de la ligne de commande s'avère bien plus pratique et plus puissante que la fameuse souris.
XII. Notions de commande
Une commande est un fichier exécutable. L'exécution d'une commande peut être différente suivant le cas.
Les commandes utilisées dans ce chapitre sont données à titre d'exemple, donc ne vous obstinez pas à les comprendre si jamais vous aviez du mal avec certaines d'entre elles. Les commandes de base sont détaillées ultérieurement.
Exemple : la commande ls
La commande ls affiche le contenu d'un répertoire. Voir man ls pour plus de détails.
XIII. Où se trouvent les commandes ?
Les commandes que vous pouvez exécuter depuis votre terminal se trouvent dans certains répertoires de votre système.
La variable PATH (en français : "chemin") contient une liste de répertoires qui contiennent les commandes accessibles. Pour avoir accès à toutes les commandes il faut généralement être root.
Pour trouver l'emplacement d'une commande, on utilise "whereis" (en français "où est") :
ou encore "which" (en français "lequel•laquelle•lesquels•lesquelles•que•qui•ce qui•ce que•quel•quelle ") :
La différence entre whereis et which
Exemple : recherche de l'existance de la commande iptables avec which
1. l'utilisateur yogi cherche si la commande iptables existe sur le système, le résultat pour lui est NON
2. on vérifie en tant que root
En réalité la commande iptables existe sur le système dans /sbin. Le répertoire /sbin ne se trouvant pas dans le PATH d'utilisateur yogi, c'est normal que which ne retourne pas un résultat.
En bref whereis est plus rassurante.
XIV. La documentation (les pages "man")
Accéder à la documentation en ligne de commande
man commande
man N commande
N - le numéro de la page man (vous le verrez en haut à gauche)
En règle générale dans la partie SEE ALSO d'une page de "man", vous trouverez la liste des commandes qu'il est conseillé de consulter ayant un rapport direct avec la commande dont vous lisez le manuel.
Exemples :
1. exécution de la commande man crontab
2. l'invite de commande (le prompt) va disparaître et la page man sera affichée
Regardez la partie SEE ALSO et vous remarquerez les pages qui sont conseillées de consulter. Cela veut dire qu'on peut taper :
man 5 crontab
man 8 cron
3. la touche "q" pour quitter la page man et revenir à l'invite de commande (prompt)
Pour obtenir la description succincte d'une commande, on va utiliser l'option "-f"
man -f commande
whatis commande
Pour connaître les rubriques qui contiennent dans leur présentation un mot clé, l'option "-k" :
man -k commande
XV. La structure d'une page de man
COMMAND(1) Manuel de l'utilisateur Linux COMMAND(1)
NAME
commande - résumé de l'action de la commande
SYNOPSYS
<syntaxe complète de la commande>
DESCRIPTION
Des explications concernant l'exécution de la commande
OPTIONS
Liste des options disponibles et ce qu'elles font
FILES
Les fichiers utilisés par la commande
SEE ALSO
commande_cousine(1), commande_frere(5), etc.
BUGS
les bugs existants dans la commande
AUTHOR
Le nom de l'auteur
XVI. Quelques règles pour comprendre SYNOPSYS et/ou OPTIONS
- Tout texte isolé, sans [] (crochet), {} (accolade), <> (chevron), est à taper tel qu'il apparaît
- le texte entre crochets [] est facultatif
- le texte entre accolades {} contient les choix à faire.
les choix sont séparées par | (pipe) ou par une virgule ,
commande -{a|b} veut dire commande -a ou commande -b mais pas commande -ab
- le texte entre chevrons <> doit être remplacé par le texte approprié
- les parenthèses (...), utilisées pour les paramètres tels que les noms de fichiers
- les crochets [] et les chevrons <> peuvent être combinés
[<nom_fichier>] - facultatif mais si vous les utilisez alors il faut écrire le nom du fichier
- les crochets [] et les accolades {} peuvent être combinés
[--option={a|b|c}]
XVII. Commandes de base
cat - Lit (concatène) un ou plusieurs fichier(s), affichage sur la sortie standard
cd - ChangeDirectory, change de répertoire
chmod - CHangeMODe - change le mode d'accès (permissions d'accès) d'un ou plusieurs fichier(s)
chown - CHangeOWNer - change le propriétaire d'un ou de plusieurs fichier(s)
cp - copier des fichiers
crontab - planification de tâches
cut - Retire des parties précises de texte dans chaque ligne d'un fichier
date -Affiche la date selon le format demandé
dd - DevicetoDevice - Recopie octet par octet tout ou partie du contenu d'un périphérique (habituellement de stockage) vers un autre péripherique.
df - affichage de la quantité d'espace libre disponible sur tous les systèmes de fichiers
du - DiksUsage - l'utilisation de disque
echo - Affiche du texte sur la sortie standard (à l'écran)
exit - arrête l'exécution du shell
find - recherche de fichiers
fsck - FileSystemChecK - vérification d'intégralité de système de fichiers
grep - recherche dans un ou plusieurs fichiers les lignes qui correspondent à un motif
groupadd- Ajouter un groupe d'utilisateurs
gunzip - décompression de fichiers
gzip - compression de fichiers
head - affiche les premières lignes (par défaut 10) d'un fichier
help - affiche une aide sur les commandes internes de bash
kill - envoyer un signal à un processus
less - programme d'affichage à l'écran
ln - création de liens
ls - liste le contenu des répertoires
man - affiche les pages de manuel
mkdir - MaKeDIRectory - crée un répertoire
mkfs - MaKeFileSystem - création de systèmes de fichiers
more - programme d'affichage à l'écran
mount - monter un système de fichiers
mv - déplacer, renommer un fichier
ps - affiche les processus en cours d'exécution
pwd - Print name of current/working directory - affiche le chemin complet du repertoire courant
rm - suppression de fichiers
rmdir -Remove empty directories - suppression d'un dossier vide
tail - affiche les 10 dernières lignes d'un fichier
tar - création d'archives
su - Substitute User identity ou Switch User - prendre l'identité d'un utilisateur
uname - Affiche des informations sur le système.
useradd - ajouter un utilisateur
whereis - localiser une commande
XVIII. Exécution d'une commande
Il y a plusieurs façons d'exécuter une commande.
Une commande peut être exécutée en arrière plan en utilisant l'esperluette (&) après le nom de la commande.
L'exécution d'une commande en arrière plan permet de redonner la main au shell après l'exécution.
Exemple: lancement de firefox depuis la ligne de commande
XIX. Changer d'identité (changer d'utilisateur)
Depuis votre shell vous avez la possibilité de prendre l'identité d'un autre utilisateur existant sur votre système, y compris l'utilisateur "root".
Pour faire cela vous avez à votre disposition la commande su ou su -
Regarder utiliser la commande su pour plus de détails.
XX. La racine
Dans les systèmes de la famille Unix, la racine représente le sommet de l'arborescence des répertoires.
Elle est représentée par le caractère / (slash) et signifie "root" (racine en français)
Tous les répertoires de votre système sont liés à la racine de façon directe ou indirecte.
XXI. Les répertoires "." et ".."
XXII. Où je suis ? (position dans l'arborescence)
Une chose très importante à savoir quand on est connecté dans un shell, c'est de savoir où on se trouve dans l'arborescence
La commande pwd (PrintWorkingDirectory) affiche votre localisation dans l'arborescence.
XXIII. Le chemin absolu
Le chemin absolu représente l'arborescence complète de fichiers, en partant de la racine
Exemple :
Le fichier b.txt se trouve dans /home/user/doc/text
Vous vous trouvez dans /home/user/ascii
Le chemin absolu vers b.txt est /home/user/doc/text/b.txt
Quelque soit votre localisation dans l'arborescence l'utilisation du chemin absolu est le moyen le plus sûr pour accéder au fichier désiré.
XXIV. Le chemin relatif
Le chemin relatif pour accéder à un fichier c'est l'arborescence rapporté à votre localisation dans le shell.
On utilise les notations . et/ou ..
. nous permet de descendre dans l'arborescence du répertoire courant
.. nous permet dans un 1er temps de monter en arborescence dans le but d'atteindre d'autres répertoires
Exemple : le répertoire courant .
Le fichier b.txt se trouve dans /home/user/doc/text
Vous vous trouvez dans /home/user
Le chemin relatif vers b.txt est ./doc/text/b.txt
Exemple : le répertoire parent ..
Le fichier b.txt se trouve dans /home/user/doc/text
Vous vous trouvez dans /home/user/ascii
Le chemin relatif vers b.txt est ../doc/text/b.txt
Le répertoire ascii se trouve dans /home/yogi donc en écrivant .. je vais utiliser le répertoire parent /home/yogi comme point de départ puis ensuite je vais dans doc/text (remarqué que je n'ai pas dit /doc/text - qui aurait lié doc de la racine / )
XXV. Comment se déplacer dans l'arborescence
Pour ce déplacer dans l'arborescence utiliser la commande cd
cd /chemin/vers/répertoire
Avec pwd vous pouvez vérifier votre nouvelle localisation dans la racine
XXVI. Historique
Les commandes exécutées sont enregistrées dans un historique.
La variable HISTSIZE contient le nombre maximal des commandes à enregistrer.
Vous pouvez accéder à l'historique avec la commande history
history [n] | less
XXVII. La complétion des commandes
Tapez une commande dans un terminal n'est pas une chose toujours facile.
Malgré ça, ne vous inquiétez pas trop. Le shell vous permet la complétion des commandes.
Exemple: commande tail en utilisant le chemin absolu
- ça suppose que je dois taper /usr/bin/tail
La complétion nous permet de faire des économies en ce qui concerne l'écriture de la commande et dans le même temps la sûreté de la syntaxe.
La complétion s'obtient en utilisant la touche TAB
Pour ça on va commencer avec le 1er caractère...
ls /u + TAB + b + TAB + ta + TAB + TAB + i + TAB
C'est vrai qu'en expliquant on a l'impression que c'est long.
Rassurez vous, c'est très rapide, même si vous tapez avec un seul doigt
Le but de ce tuto est de permettre à un débutant de la ligne de commande de s'en sortir de façon honorable.
Loin d'être complet, ce petit tuto vous permettra de faire connaissance avec le Shell en tant que logiciel et pas en tant que langage de programmation.
Je vais essayer d'être assez court au niveau de chaque chapitre (des explications concises et claires), en revanche ce tuto risque d'être assez long, d'où l'idée de créer plusieurs chapitres.
Il n'est pas nécessaire de parcourir le tuto du début à la fin. Vous pouvez accéder directement au chapitre qui vous intéresse en fonction de vos besoins.
II. C'est quoi le shell ?
Pour avoir une réponse plus exacte je vous recommande de visiter ce site SHELL
Le shell c'est un programme qui se trouve dans le répertoire /bin.
On distingue plusieurs shells
- le /bin/sh shell Bourne
- le /bin/bash shell Bourne Again SHell
- le /bin/csh C shell
- le /bin/ksh Korn shell
- le /bin/tcsh C shell amélioré
- le /bin/zsh/ Z shell
La suite de ce tutoriel traite uniquement shell du shell bash qui est le shell par défaut pour les distributions GNU/Linux.
Le shell permet d'exécuter des commandes, d'explorer l'arborescence du système, de créer, d'éditer et de supprimer des fichiers, etc.
III. Comment accéder à la ligne de commande
Pour accéder à la ligne de commande, il est possible d'utiliser un terminal (xterm, kterm, gterm) ou encore konsole.
kterm - est un terminal émulateur multilingue basé sur le xterm.
Les différences principales entre kterm et xterm sont :
- la possibilité de traiter le texte multilingue codé dans ISO2022, * montrer le texte coloré (Voir man kterm).
Pour ce faire, deux possibilités sont offertes :
- utiliser le menu du bureau (Gnome, Kde, etc.). Il s'agit de la méthode conseillée.
- utiliser le menu lancer une application. Dans la fenêtre ainsi ouverte, taper le nom de terminal et valider. La fenêtre lancer une application peut être ouverte avec Alt+F2
- Utiliser les consoles virtuelles (il y en a 6).
IV. Les consoles virtuelles
La console virtuelle (tty1 à tty6) est un écran noir où une invite de commande apparaît, de la forme login :
Depuis l'interface graphique, il est possible de se connecter à une console virtuelle en utilisant la combinaison de touches Ctrl+Alt+FN, où N est un chiffre de 1 à 6
Exemple : Accéder à la console 3 depuis l'interface graphique
CTRL+ALT+F3
Une fois dans une console virtuelle, la navigation entre les différentes consoles virtuelles se fait avec la combinaison de touches Alt+FN, où N est un chiffre de 1 à 6
V. Connexion dans une console virtuelle
A l'invite login:, saisir l'identifiant (login) de l'utilisateur, puis valider en appuyant sur Entrée, l'invite Password: s'affichera. Saisir le mot de passe de l'utilisateur et valider.
- le mot de passe n'est pas affiché à l'écran pour des raisons de sécurité. Le fait de ne pas voir à l'écran ce que vous tapez, ne doit pas vous inquiéter.
- Si le mot de passe est valide, une invite de commande comme suite doit s'afficher, indiquant que la connexion a réussi
Exemple:
VI. L'invite de commande du shell après la connexion
L'invite de commande (ou prompt) du shell a en général la forme suivante :
nom@machine ~ $
- nom - représente l'identifiant de l'utilisateur connecté
- machine- représente le nom de la machine
- ~ est un raccourci qui signifie le répertoire personnel /home/utilisateur
- $ signifie que vous êtes connecté en tant qu'utilisateur
Si au lieu de $ le signe # apparaît, alorsvous êtes connecté en tant que superutilisateur (root).
Gardez à l'ésprit que les systèmes Gnu/Linux utilisent par convention # pour root et $ pour un utilisateur autre que root.
Ce comportement peut être changé en modifiant la variable d'environnement PS1, mais cela est vivement déconseillé!
VII. Revenir au mode graphique depuis une console virtuelle
Pour revenir au mode graphique depuis une console virtuelle, utiliser la combinaison de touches ALT+F7
VIII. L'environnement shell
Après connexion, l'utilisateur est connecté dans son environnement. Cela signifie que le shell met à sa disposition des variables d'environnement, c'est-à-dire un conteneur mémoire dans lequel des données sont stockées.
Pour afficher le contenu d'une variable d'environnement, la commande echo $NOM_VARIABLE peut être utilisée.
Le nom des variables d'environnement est par convention en majuscules, il est donc nécessaire de respecter la casse.
IX. Variables d'environnement à connaître
HOME, USER, GROUPS, UID, PWD, SHELL, PATH, HOSTNAME
- HOME contient le répertoire d'utilisateur
- USER contient le login d'utilisateur
- PWD contient le répertoire courant
- SHELL contient le nom du shell de connexion
- PATH contient la liste des répertoires où se trouvent les commandes que l'utilisateur peut exécuter
- HOSTNAME contient le nom de la machine
- HISTSIZE contient la taille maximale des commandes exécutées contenues dans le fichier historique
- PS1 contient les paramètres d'affichage de l'invite de commande (le prompt)
Exemple d'affichage :
La commande set permet d'afficher les variables et leur contenu.
X. Fichiers de configuration
Au moment de la connexion, dans une console virtuelle ou à l'ouverture d'un terminal en mode graphique, le shell utilise des informations qui se trouvent dans certains fichiers (.bashrc, .bash_profile, etc)
Le comportement du shell peut être modifié en éditant ces fichiers.
Le fichier .bashrc est par exemple utilisé dans le chapitre sur les alias.
Pour ce qui est de la configuration de votre shell vous devez attendre un peu, ça ne sera pas pour tout de suite. Vous allez apprendre à le faire avec le temps, donc ne soyez pas si impatients.
XI. Pourquoi utiliser la ligne de commande ?
Beaucoup de solutions sont données en ligne de commande, non pas que GNU/Linux n'ait pas d'interface graphique, mais pour certaines tâches, l'utilisation de la ligne de commande s'avère bien plus pratique et plus puissante que la fameuse souris.
XII. Notions de commande
Une commande est un fichier exécutable. L'exécution d'une commande peut être différente suivant le cas.
Les commandes utilisées dans ce chapitre sont données à titre d'exemple, donc ne vous obstinez pas à les comprendre si jamais vous aviez du mal avec certaines d'entre elles. Les commandes de base sont détaillées ultérieurement.
Exemple : la commande ls
La commande ls affiche le contenu d'un répertoire. Voir man ls pour plus de détails.
- sans argument et sans option
- sans argument avec une ou plusieurs option(s)
- avec argument
- avec argument et avec une ou plusieurs option(s)
XIII. Où se trouvent les commandes ?
Les commandes que vous pouvez exécuter depuis votre terminal se trouvent dans certains répertoires de votre système.
La variable PATH (en français : "chemin") contient une liste de répertoires qui contiennent les commandes accessibles. Pour avoir accès à toutes les commandes il faut généralement être root.
Pour trouver l'emplacement d'une commande, on utilise "whereis" (en français "où est") :
ou encore "which" (en français "lequel•laquelle•lesquels•lesquelles•que•qui•ce qui•ce que•quel•quelle ") :
La différence entre whereis et which
- whereis - recherche les fichiers exécutatbles, les sources et les pages de manuel d'une commande
- which - cherche dans la variable PATH les fichiers exécutables
Exemple : recherche de l'existance de la commande iptables avec which
1. l'utilisateur yogi cherche si la commande iptables existe sur le système, le résultat pour lui est NON
2. on vérifie en tant que root
En réalité la commande iptables existe sur le système dans /sbin. Le répertoire /sbin ne se trouvant pas dans le PATH d'utilisateur yogi, c'est normal que which ne retourne pas un résultat.
En bref whereis est plus rassurante.
XIV. La documentation (les pages "man")
Accéder à la documentation en ligne de commande
man commande
man N commande
N - le numéro de la page man (vous le verrez en haut à gauche)
En règle générale dans la partie SEE ALSO d'une page de "man", vous trouverez la liste des commandes qu'il est conseillé de consulter ayant un rapport direct avec la commande dont vous lisez le manuel.
Exemples :
1. exécution de la commande man crontab
2. l'invite de commande (le prompt) va disparaître et la page man sera affichée
Regardez la partie SEE ALSO et vous remarquerez les pages qui sont conseillées de consulter. Cela veut dire qu'on peut taper :
man 5 crontab
man 8 cron
3. la touche "q" pour quitter la page man et revenir à l'invite de commande (prompt)
Pour obtenir la description succincte d'une commande, on va utiliser l'option "-f"
man -f commande
whatis commande
Pour connaître les rubriques qui contiennent dans leur présentation un mot clé, l'option "-k" :
man -k commande
XV. La structure d'une page de man
COMMAND(1) Manuel de l'utilisateur Linux COMMAND(1)
NAME
commande - résumé de l'action de la commande
SYNOPSYS
<syntaxe complète de la commande>
DESCRIPTION
Des explications concernant l'exécution de la commande
OPTIONS
Liste des options disponibles et ce qu'elles font
FILES
Les fichiers utilisés par la commande
SEE ALSO
commande_cousine(1), commande_frere(5), etc.
BUGS
les bugs existants dans la commande
AUTHOR
Le nom de l'auteur
XVI. Quelques règles pour comprendre SYNOPSYS et/ou OPTIONS
- Tout texte isolé, sans [] (crochet), {} (accolade), <> (chevron), est à taper tel qu'il apparaît
- le texte entre crochets [] est facultatif
- le texte entre accolades {} contient les choix à faire.
les choix sont séparées par | (pipe) ou par une virgule ,
commande -{a|b} veut dire commande -a ou commande -b mais pas commande -ab
- le texte entre chevrons <> doit être remplacé par le texte approprié
- les parenthèses (...), utilisées pour les paramètres tels que les noms de fichiers
- les crochets [] et les chevrons <> peuvent être combinés
[<nom_fichier>] - facultatif mais si vous les utilisez alors il faut écrire le nom du fichier
- les crochets [] et les accolades {} peuvent être combinés
[--option={a|b|c}]
XVII. Commandes de base
cat - Lit (concatène) un ou plusieurs fichier(s), affichage sur la sortie standard
cd - ChangeDirectory, change de répertoire
chmod - CHangeMODe - change le mode d'accès (permissions d'accès) d'un ou plusieurs fichier(s)
chown - CHangeOWNer - change le propriétaire d'un ou de plusieurs fichier(s)
cp - copier des fichiers
crontab - planification de tâches
cut - Retire des parties précises de texte dans chaque ligne d'un fichier
date -Affiche la date selon le format demandé
dd - DevicetoDevice - Recopie octet par octet tout ou partie du contenu d'un périphérique (habituellement de stockage) vers un autre péripherique.
df - affichage de la quantité d'espace libre disponible sur tous les systèmes de fichiers
du - DiksUsage - l'utilisation de disque
echo - Affiche du texte sur la sortie standard (à l'écran)
exit - arrête l'exécution du shell
find - recherche de fichiers
fsck - FileSystemChecK - vérification d'intégralité de système de fichiers
grep - recherche dans un ou plusieurs fichiers les lignes qui correspondent à un motif
groupadd- Ajouter un groupe d'utilisateurs
gunzip - décompression de fichiers
gzip - compression de fichiers
head - affiche les premières lignes (par défaut 10) d'un fichier
help - affiche une aide sur les commandes internes de bash
kill - envoyer un signal à un processus
less - programme d'affichage à l'écran
ln - création de liens
ls - liste le contenu des répertoires
man - affiche les pages de manuel
mkdir - MaKeDIRectory - crée un répertoire
mkfs - MaKeFileSystem - création de systèmes de fichiers
more - programme d'affichage à l'écran
mount - monter un système de fichiers
mv - déplacer, renommer un fichier
ps - affiche les processus en cours d'exécution
pwd - Print name of current/working directory - affiche le chemin complet du repertoire courant
rm - suppression de fichiers
rmdir -Remove empty directories - suppression d'un dossier vide
tail - affiche les 10 dernières lignes d'un fichier
tar - création d'archives
su - Substitute User identity ou Switch User - prendre l'identité d'un utilisateur
uname - Affiche des informations sur le système.
useradd - ajouter un utilisateur
whereis - localiser une commande
XVIII. Exécution d'une commande
Il y a plusieurs façons d'exécuter une commande.
- en utilisant tout simplement son nom
- en utilisant le chemin absolu
- en utilisant le chemin relatif
- utilisation des alias (pratique pour les commandes employées souvent et qui sont longues)
Une commande peut être exécutée en arrière plan en utilisant l'esperluette (&) après le nom de la commande.
L'exécution d'une commande en arrière plan permet de redonner la main au shell après l'exécution.
Exemple: lancement de firefox depuis la ligne de commande
XIX. Changer d'identité (changer d'utilisateur)
Depuis votre shell vous avez la possibilité de prendre l'identité d'un autre utilisateur existant sur votre système, y compris l'utilisateur "root".
Pour faire cela vous avez à votre disposition la commande su ou su -
Regarder utiliser la commande su pour plus de détails.
XX. La racine
Dans les systèmes de la famille Unix, la racine représente le sommet de l'arborescence des répertoires.
Elle est représentée par le caractère / (slash) et signifie "root" (racine en français)
Tous les répertoires de votre système sont liés à la racine de façon directe ou indirecte.
XXI. Les répertoires "." et ".."
- . indique le répertoire courant
- .. indique le répertoire parent
XXII. Où je suis ? (position dans l'arborescence)
Une chose très importante à savoir quand on est connecté dans un shell, c'est de savoir où on se trouve dans l'arborescence
La commande pwd (PrintWorkingDirectory) affiche votre localisation dans l'arborescence.
XXIII. Le chemin absolu
Le chemin absolu représente l'arborescence complète de fichiers, en partant de la racine
Exemple :
Le fichier b.txt se trouve dans /home/user/doc/text
Vous vous trouvez dans /home/user/ascii
Le chemin absolu vers b.txt est /home/user/doc/text/b.txt
Quelque soit votre localisation dans l'arborescence l'utilisation du chemin absolu est le moyen le plus sûr pour accéder au fichier désiré.
XXIV. Le chemin relatif
Le chemin relatif pour accéder à un fichier c'est l'arborescence rapporté à votre localisation dans le shell.
On utilise les notations . et/ou ..
. nous permet de descendre dans l'arborescence du répertoire courant
.. nous permet dans un 1er temps de monter en arborescence dans le but d'atteindre d'autres répertoires
Exemple : le répertoire courant .
Le fichier b.txt se trouve dans /home/user/doc/text
Vous vous trouvez dans /home/user
Le chemin relatif vers b.txt est ./doc/text/b.txt
Exemple : le répertoire parent ..
Le fichier b.txt se trouve dans /home/user/doc/text
Vous vous trouvez dans /home/user/ascii
Le chemin relatif vers b.txt est ../doc/text/b.txt
Le répertoire ascii se trouve dans /home/yogi donc en écrivant .. je vais utiliser le répertoire parent /home/yogi comme point de départ puis ensuite je vais dans doc/text (remarqué que je n'ai pas dit /doc/text - qui aurait lié doc de la racine / )
XXV. Comment se déplacer dans l'arborescence
Pour ce déplacer dans l'arborescence utiliser la commande cd
cd /chemin/vers/répertoire
Avec pwd vous pouvez vérifier votre nouvelle localisation dans la racine
XXVI. Historique
Les commandes exécutées sont enregistrées dans un historique.
La variable HISTSIZE contient le nombre maximal des commandes à enregistrer.
Vous pouvez accéder à l'historique avec la commande history
history [n] | less
- n - l'option n permet d'afficher les n dernières commandes (facultatif)
- less - la commande "less" vous permet de naviguer dans l'historique
- les flêches haut et bas vous permettent de naviguer dans l'historique
- !n - permet d'exécuter la commande correspondant au numéro "n" dans la liste sans avoir à la retaper
XXVII. La complétion des commandes
Tapez une commande dans un terminal n'est pas une chose toujours facile.
Malgré ça, ne vous inquiétez pas trop. Le shell vous permet la complétion des commandes.
Exemple: commande tail en utilisant le chemin absolu
- ça suppose que je dois taper /usr/bin/tail
La complétion nous permet de faire des économies en ce qui concerne l'écriture de la commande et dans le même temps la sûreté de la syntaxe.
La complétion s'obtient en utilisant la touche TAB
Pour ça on va commencer avec le 1er caractère...
- Je tape /u et j'appuie sur TAB
- Le shell va compléter et il va écrire /usr/
- A ce moment j'ajoute un b donc je suis avec /usr/b
- J'appuie de nouveau sur TAB et j'aurai /usr/bin/
- A ce moment j'ajoute ta, donc j'aurai /usr/bin/ta
- J'appuie 2 fois sur TAB
- Le shell sur mon système trouve 4 correspondances
- tac tack tail tasksel
- Je vais continuer et je vais ajouter un i
- donc j'aurai /usr/bin/tai
- J'appuie de nouveau sur TAB
- et j'obtiens /usr/bin/tail
- Le shell sur mon système trouve 4 correspondances
ls /u + TAB + b + TAB + ta + TAB + TAB + i + TAB
C'est vrai qu'en expliquant on a l'impression que c'est long.
Rassurez vous, c'est très rapide, même si vous tapez avec un seul doigt