Une fois le principe du terminal intégré, nous allons pouvoir passer à un peu de pratique.
Nous allons juste voir les bases, de quoi se débrouiller, et s'amuser !
Fini la théorie, on va maintenant passer aux choses sérieuses !
Pour vous mettre l'eau à la bouche et vous convaincre que l'utilisation du terminal est une bonne chose, on commence par les inconvénients et les avantages.
Sur les systèmes Unix et Linux, la « racine » du système est le slash : « / ». C'est l'équivalent de « C:\ » sur Windows.
Le répertoire personnel est dans « /home », et portera par défaut le nom du compte utilisateur, par exemple « /home/sebastien ».
Ce répertoire personnel contient les configurations, les images, les musiques, les téléchargements, le bureau, etc...
Un tilde (« ~ ») permet de raccourcir la syntaxe du répertoire personnel de l'utilisateur courant. C'est à dire que « /home/sebastien » peut être raccourci en « ~ ».
Deux autres raccourcis existent, un pour désigner le répertoire courant « . » et un pour désigner le répertoire parent « .. ».
Petit exemple pour éclaircir tout ça:
Un utilisateur nommé sebastien est dans le répertoire : « /home/sebastien/Images ».
S'il regarde ce qu'il y a dans le répertoire « . », il verra toutes ses images, alors que dans « ~ » il verra le contenu de son répertoire personnel « /home/sebastien ».
De la même manière, s'il regarde ce qu'il y a dans le répertoire « .. », il verra le contenu de son répertoire personnel « /home/sebastien ».
Dans ce cas, on appelle le chemin « ./wallpapers » le chemin relatif et le chemin « /home/sebastien/Images/wallpapers » le chemin absolu.
Étant donné que Unix et Linux sont des systèmes multi-utilisateurs, il existe des droits permettant de séparer les données de chacun.
Ainsi, l'utilisateur « toto » ne peut pas aller voir ce qu'il y a dans le répertoire personnel de « tata » et inversement.
Par défaut, les utilisateurs n'ont pas accès aux informations sensibles du système réservé à l'administrateur.
Pour obtenir l'accès, il faut que l'utilisateur élève ses droits pour passer super-utilisateur (su, root, ou sudo).
Pour ceux qui veulent aller plus loin, sachez qu'il est possible d'envoyer le résultat d'une commande vers une autre commande avec le pipe « | ».
Il est également possible de rediriger la sortie avec « > » et l'entrée avec « < ».
Enfin, vous avez la possibilité de gérer les droits de vos fichiers et dossier (commande chmod).
Par défaut, le prompt est une série d'informations finissant pas un signe dollar « $ » :
kazenojiyu@kazenojiyu-Laptop:~$
La première partie (jusqu'à l'arobase « @ ») est le nom de l'utilisateur courant, ici « kazenojiyu ».
La deuxième partie (jusqu'aux deux points « : ») est le nom de l'hôte, ici « kazenojiyu-Laptop », le nom de la machine.
Et enfin la dernière partie (jusqu'au dollar « $ ») est le répertoire courant. Donc si je me déplace à la racine, le répertoire courant deviendra « / ».
Pour information, le signe dollar « $ » à la fin du prompt devient un dièse « # » si l'utilisateur a les droits super-utilisateur.
root@kazenojiyu-Laptop:~#
Ce prompt est suivit par un curseur clignotant qui indique que l'on peut saisir des commandes.
Il est possible de personnaliser totalement le prompt, pour cela, rendez-vous dans l'article personnalisation.
Par convention, les exemples de commande sont précédé d'un dollar « $ » ou d'un dièse « # » pour indiquer les droits nécessaire à cette commande (simple utilisateur ou super-utilisateur) entre autres.
La majorité des commandes (si ce n'est pas toutes) disposent d'options et de paramètres.
Les options permettent de spécifier à la commande ce que l'on veut faire (exemple : compresser ou décompresser une archive). Elles sont précédées d'un tiret « - » et peuvent être groupées ( exemple : « -xvzf » ).
Les paramètres sont les informations complémentaires permettant d'effectuer les actions (exemple: le chemin de l'archive à décompresser).
$ commande -option paramètre1 paramètre2 ...
Voici un exemple de commande :
$ ls -l ~/Images/
La commande « ls » permet de lister un répertoire, l'option « -l » affiche les détails (date de modification, auteur, droits, etc..) et « ~/Images/ » est le répertoire à lister (ici le répertoire Images dans mon répertoire personnel).
Je vais lister ici une série de commandes de base, utiles pour débuter, avec un exemple d'utilisation à chaque fois.
C'est loin d'être exhaustif, mais permettra au débutant de faire déjà par mal de chose.
La liste des options par commande étant assez importante, je laisse le soin à chacun d'aller les découvrir.
$ help cd
$ man man
$ apropos ls
$ cd /home/kazenojiyu
$ ls ~/Images
$ pwd
$ cp fichier.txt nouveau_fichier.txt
$ mv fichier.txt nouveau_fichier.txt
$ rm vieille_sauvegarde.tar
$ mkdir nouveau_dossier
$ rmdir vieux_dossier/
$ tar -xvzf archive.tar.gz
$ unzip archive.zip
$ gzip -9 fichier
$ head fichier.txt
$ tail fichier.txt
$ cat fichier.txt
$ more fichier.txt
$ top
$ ps -e
# kill 25684
# apt-get update
$ apt-cache search htop
# dpkg -i nouveau_logiciel.deb
Pour ceux qui veulent aller plus loin, il est possible de trouver beaucoup de ressources avec les commandes d'aides, mais aussi sur internet.
Il est intéressant de savoir que sur de nombreux systèmes, l'auto-complétion est activé.
Si vous commencez à taper une commande, ou un nom de répertoire dans une commande, si vous appuyez sur la touche « Tab » de votre clavier, le terminal va compléter ce qu'il manque.
S'il y a plusieurs possibilités, appuyez deux fois sur « Tab » pour qu'il affiche toutes les possibilités.
C'est super efficace !
Essayez avec par exemple :
$ cd /home/
Si toutefois l'auto-complétion n'est pas activé pour votre compte ou le compte super-utilisateur, vous pouvez modifier le fichier ~/.bashrc et dé-commenter les lignes :
#if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
# . /etc/bash_completion
#fi
Il est possible de définir des alias pour ne pas avoir à taper les commandes qui peuvent être longues.
L'exemple le plus courant concerne la mise à jour des paquets :
$ sudo apt-get update && sudo apt-get upgrade -y
Une commande très longue qui est souvent utilisée.
On peut donc définir deux alias que l'on placera dans le fichier ~/.bashrc pour y avoir accès à chaque session de terminal :
alias update="sudo apt-get update"
alias upgrade="sudo apt-get upgrade -y"
La commande deviendra donc :
$ update && upgrade
Il est possible de définir autant d'alias que notre imagination le permet !
Un autre alias qui nous servira par la personnalisation du terminal :
alias ls="ls --color"
Il y a deux types de raccourcis clavier, ceux liés à la console/terminal et ceux liés à l'émulateur de terminal.
C'est important de différencier les deux uniquement pour les copier/coller, car le presse-papier n'est pas le même.
Je présente ici les raccourcis clavier liés à la console/terminal.
Pour retrouver ceux liés à l'émulateur de terminal, il vous suffit d'aller dans les préférences de celui-ci.
Avec ces bases vous allez être déjà beaucoup plus à l'aise.
Créez vous un dossier dans lequel vous faites vos tests et supprimez le une fois terminé.
Et surtout ne tapez jamais une commande que vous ne comprenez pas. En quelques caractères il est possible de faire planter un ordinateur, c'est très puissant !
N'hésitez pas à me poser toutes vos questions en commentaires.
Cet article est le deuxième d'une série de 3 articles pour présenter le terminal et son utilisation. Vous pouvez consulter les autres : Terminal, c'est quoi cette bête là, Terminal, personnalisation
http://tldp.org/HOWTO/Text-Terminal-HOWTO.html
https://wiki.archlinux.org/index.php/Keyboard_shortcuts
https://doc.ubuntu-fr.org/tutoriel/console_commandes_de_base
http://wiki.linux-france.org/wiki/Les_commandes_fondamentales_de_Linux : un petit topo sur une belle liste de commandes de bases
http://www.linux-france.org/article/dalox/unix04.htm : donne un peu plus d'information sur les commandes et leur syntaxe
https://fr.wikipedia.org/wiki/Commandes_Unix : une autre petite liste de commandes
http://www.math-linux.com/linux-2/tutoriels-linux/article/droit-et-permission-d-acces-aux-fichiers : article sur les droits des fichiers
http://explainshell.com : vous entrez une commande que vous ne connaissez pas, et il vous l'explique
http://www.commandlinefu.com/commands/browse : site répertoriant des commandes très utiles
http://www.shell-fu.org/index.php : site répertoriant des commandes très utiles