Voici un article qui servira de « bible » des commandes utiles sous Linux, et de programmation de scripts bash.
Bien entendu, la liste des commandes et des scripts réalisables est infinie (ou presque), et c’est pourquoi je ferais un répertoire non-exhaustif , en essayant de couvrir un large panel d’utilités.
Comme il faut bien commencer quelque part, allons-y !
I- Les commandes dites « classiques » :
Sous différentes distributions UNIX/Linux, certaines commandes peuvent varier en fonction de la base du noyau, des packages natifs, etc … ( voyez un package comme un logiciel que l’on peut ajouter/supprimer de son système, qui permet d’ajouter des fonctionnalités).
Dans ce chapitre, je parlerais principalement des généralités, comme naviguer en lignes de commande dans votre disque dur, copier et modifier des fichiers, les supprimer, changer les droits d’accès, …
La commande qui obtient la place numéro 1 de fréquence d’utilisation est probablement :
ls
Cela permet d’afficher le contenu du répertoire dans lequel on se trouve. On peut ajouter plusieurs arguments derrière, comme par exemple :
- -l : affiche les résultats sous forme de liste
- -h : affiche les résultats de forme plus « lisible »
- -i : affiche l’index de chaque entrée trouvée
- -a : affiche même les fichiers et dossier avec le préfixe « . »
- -t : trie par date de modification
Ci-dessus sont listés les arguments les plus utilisés, mais il en existe d’autres, et pour les voir, on peut entrer :
ls --help /* ou alors */ man ls
Il faut savoir que les arguments pour les commandes bash sont stackables (cumulables), et que dès lors que l’on a mis un « – » derrière la commande, on peut y ajouter autant de lettres que l’on veut. Exemple :
ls -ail // ici on va afficher toutes les entrées, sous forme de liste et numérotées
Maintenant voyons pour faire plus de tri. Admettons que notre résultat nous affiche ceci :
Afin de chercher parmi ces résultats un mot clé, il suffit de rajouter derrière notre commande un :
| grep motclef
Je m’explique : ici la barre verticale avant le grep est nommée un tube (ou un « pipe » en anglais), c’est un opérateur de redirection de la sortie d’une commande, le mot « grep » lui, signifie que l’on veut ne garder que les résultats qui comportent le mot « motclef » dedans. Voici le résultat à l’écran :
Bien, alors admettons que j’ai trouvé le dossier dans lequel je veux aller, pour m’y rendre, rien de plus simple, il suffit d’entrer ceci :
cd mondossier
Il faut savoir que dans beaucoup de systèmes d’exploitation, des caractères spéciaux peuvent être utilisés pour faciliter la navigation dans une arborescence.
- « .. » représente le dossier parent dans l’arborescence
- « / » représente un chemin relatif, sous Linux, le « / » seul, représente la racine du disque dur. (le premier répertoire)
- « \ » ceci à la même signification que le « / » mais est utilisé sous un système Windows
Vous pourrez à nouveau faire un « ls » ou autre pour visualiser le contenu de ce dossier. Voila les commandes de navigation dans le disque dur sous Linux.
Maintenant, admettons que l’on veuille afficher le contenu d’un fichier, par exemple « liste.txt » :
cat liste.txt
S’affiche alors le contenu du fichier en question dans le terminal
Astuce : Si le fichier contient beaucoup trop d’informations et que vous voulez l’afficher petit à petit dans votre terminal, vous pouvez ajouter un opérateur de redirection vers l’instruction « more », qui permet d’afficher à chaque fois une partie de votre fichier, égale à la taille de votre terminal. Appuyez sur Entrée pour afficher une ligne en plus, ou Espace pour afficher le bloc de ligne suivant. Ex :cat liste.txt | more
Ensuite pour éditer ce texte sans avoir besoin d’ouvrir un éditeur de texte graphique, on peut utiliser des éditeurs intégrés en mode console, comme vi, vim ou nano. On les utilise simplement avec la syntaxe suivante :
vi liste.txt
Par exemple sous vim ou vi, il suffit de passer en mode insertion, avec la touche « a » pour effectuer des modifications sur le texte. On déplace le curseur avec les touches fléchées, et on peut supprimer et ajouter du texte comme avec n’importe quel éditeur de texte. Lorsqu’on a terminé, si on veut quitter le mode insertion, on appuie sur Echap puis, on a plusieurs choix de fermeture de l’éditeur, je citerais les 2 les plus utilisés :
- Quitter sans sauvegarder : « :q! » puis Entrée
- Sauvegarder et quitter : « :wq » puis Entrée
On peut également copier, créer ou supprimer des répertoires et des fichiers assez simplement, avec les commandes « cp », « mkdir » et « rm ».
L’instruction cp
, pour copier, attend 2 paramètres :
cp <chemin_source> <chemin_destination>
Je veux copier le fichier « liste.txt » qui se trouve initialement dans /share dans /home/documents . Ceci est assez simple, soit on se place dans /share en faisant cd /share
puis on fait cp liste.txt /home/documents
, soit on fait cp /share/liste.txt /home/documents
.
Pour créer un répertoire, on se place dans le répertoire parent, puis on saisit :
mkdir nom_du_dossier
Quant à l’instruction pour supprimer, rm
, attend un seul paramètre : rm <chemin_dossier_ou_fichier >
Avec toutefois une petite option supplémentaire permettant de préciser, pour les répertoires, que l’on veut bien supprimer son contenu :
rm -r <nom_dossier_ou_fichier>
Avec aussi la possibilité de « forcer » la suppression, grâce à l’argument supplémentaire « f » :
rm -rf home/documents/liste.txt
Et un conseil, ne faites jamais de rm *
dans un répertoire contenant des fichiers systèmes :P, vous risquez de tout effacer.
Pages: 1 2