Retrouvez cet article dans : Linux Pratique 35
Votre gestionnaire de fichiers favori vous permet d'effectuer des opérations simples sur les fichiers comme les déplacer, les renommer, les supprimer, et même les ouvrir. Tout cela est également possible en commandes en ligne et nous allons voir comment y arriver. La façon d'aborder le sujet est un peu originale car au lieu de partir d'une liste de commandes, nous nous baserons sur les opérations courantes effectuées avec le gestionnaire de fichiers, qu'il soit Nautilus sur Gnome, Konqueror sur KDE ou un autre.
La fenêtre principale du gestionnaire de fichiers
Lorsque vous ouvrez votre gestionnaire de fichiers, vous pouvez lire une liste des fichiers et répertoires. Lorsque vous ouvrez un terminal, le peu que vous pouvez y lire n'a rien à voir avec une liste de fichiers. Pour l'obtenir, vous devez apprendre une première commande : ls. Sans options, elle vous donne la liste des fichiers contenus dans le répertoire courant.

Pour obtenir les mêmes informations que votre gestionnaire de fichiers lorsqu'il est en mode liste (et non en mode icônes), vous pouvez exécuter ls -l. Cette option vous indique entre autres la taille et la date de dernière modification de chaque fichier. Certains gestionnaires de fichiers vous proposent également le type de chaque fichier. En commande en ligne, vous avez le même résultat avec file *. Mais en général, ce besoin ne s'exprime que pour un seul fichier à la fois, et vous pouvez exécuter file <nom d'un fichier>.
Pour classer vos fichiers par date, du plus ancien au plus récent, cliquez sur l'en-tête de colonne Date de modification de votre gestionnaire de fichiers. Dans le terminal, vous combinez les deux options t (tri par date) et r (inverser l'ordre de tri) ce qui donne ls -ltr.
Enfin, si vous souhaitez aussi afficher les fichiers cachés, cherchez l'option adéquate dans le menu Afficher. En commande en ligne, ajoutez l'option a, ce qui donne ls -a, ou plus détaillé, ls -la, ou encore en triant par date, ls -latr.

Clic gauche sur un fichier
Si vous cliquez sur un fichier, en fonction de son type, vous allez soit l'éditer, soit lancer une application qui va le lire. En réalité, si l'on considère que l'éditeur de texte (Gedit sur Gnome, kedit sur KDE, mais vous pouvez prendre aussi vi, emacs, nedit...) est une application, cela revient au même. En ligne de commande, cela revient à exécuter l'application en lui donnant le nom du fichier en premier argument. Soit un fichier f.html. Si vous cliquez dessus, vous allez voir son contenu via Firefox. En commande en ligne, vous aboutissez au même résultat avec firefox f.html.
Si vous cliquez sur un répertoire, vous allez voir son contenu. En ligne de commande, c'est comme si vous exécutiez cd <nom du répertoire> suivi d'un ls comme nous avons vu plus haut.
Puisque nous en sommes à parler d'aller dans un répertoire, certains gestionnaires de fichiers vous proposent des boutons pour aller dans des répertoires spéciaux. L'un d'eux est le poste de travail. Celui-ci n'a pas d'existence parmi les fichiers. Mais il propose par contre des icônes qui représentent de vrais répertoires. Celui du système de fichiers, ou de la racine, correspond au répertoire /. En ligne de commande, c'est comme exécuter cd /. Pour votre dossier personnel, il est généralement dans /home/<votre identifiant>/. Mais il est plus simple d'exécuter cd sans aucun argument pour y aller en ligne de commande. Si vous souhaitiez vous diriger vers un sous-répertoire tel que /home/<votre identifiant/Desktop, sachez qu'il existe deux autres façons de désigner votre dossier personnel, à savoir $HOME (ou si cela ne marche pas ${HOME}) et ~. Ainsi, pour aller dans le répertoire précédent, qui correspond au passage à votre bureau sur de nombreuses distributions, exécutez cd $HOME/Desktop ou plus simplement cd ~/Desktop.

Glisser-déposer (drag'n drop)
Cliquez sur un fichier (ou un répertoire), restez appuyé sur le bouton de la souris, déplacez-la et relâchez. Cette opération s'appelle un glisser-déposer et peut amener à plusieurs actions possibles qui sont : déplacer le fichier, le copier ou créer un lien pointant dessus selon que vous appuyiez en même temps sur la touche [SHIFT], [CONTROL] ou [ALT]. En général, le pointeur de la souris change pour indiquer l'opération qui va être effectuée.
En ligne de commande, voici les opérations équivalentes. Pour copier un fichier, utilisez cp <source> <destination> (CoPie). Pour le déplacer, c'est mv <source> <destination> (MouVement ou, en anglais, MoVe). Quant à la création d'un lien, sauf bonne raison, choisissez toujours un lien symbolique que vous créez ainsi : ln -s <fichier> <lien>.
La copie d'un répertoire ne se passe pas de la même façon que celle d'un fichier. En effet, elle doit être récursive. Il existe plusieurs méthodes pour y arriver. Celle qui vous donnera généralement satisfaction est cp -r <source> <destination> ou, mieux, cp -a <source> <destination> pour préserver les informations de permissions, propriétaire et dates. Pour ceux qui voudraient un peu frimer avec des lignes de commandes à rallonge, la commande suivante fait à peu près la même chose que cp –a :
tar cvf - <fichier source 1> <fichier source 2> ... | tar x -C <répertoire destination>
Cette commande a également l'avantage de permettre d'indiquer plusieurs noms de fichiers sources, que ce soit des fichiers ou des répertoires. Nous vous laissons l'explication de cette commande en exercice.

Clic droit sur un fichier
Effectuez un clic droit sur un fichier ou un répertoire, un menu déroulant devrait apparaître. Dans ce menu, certaines opérations ont été expliquées ci-dessus car elles correspondent à un glisser-déposer. Il s'agit d'un "couper" enchaîné à un "coller" qui correspond à un déplacement (commande mv), d'un "copier" également suivi d'un "coller" pour une copie (commandes à base de cp) ou de créer un lien (commande ln -s).

Vous y trouvez également "renommer" dont nous avons déjà parlé sans que vous vous en rendiez compte. En effet, renommer un fichier revient à le déplacer en lui indiquant en destination son nouveau nom. Vous ne serez pas surpris d'apprendre que la commande correspondante est mv <nom actuel> <nouveau nom>.
L'item "mettre dans la corbeille" ou, mieux, "déplacer dans la corbeille" est une opération qui ne supprime pas réellement le fichier. Elle se contente de déplacer (commande mv vue juste ci-dessus) le fichier dans un répertoire qui peut varier selon votre environnement. Sur un Ubuntu/Gnome, sachez que ce répertoire est ~/.Trash. Déplacer un fichier f.txt dans la corbeille revient donc à faire mv f.txt ~/.Trash.
Lorsque vous souhaitez véritablement effacer un fichier du disque, soit l'option "supprimer" lorsqu'elle est présente, vous devez utiliser la commande rm <fichier>. Lorsqu'il s'agit d'un répertoire vide, vous pouvez utiliser rmdir <répertoire vide>. S'il ne l'est pas, vous pouvez soit le vider fichier par fichier avec rm, soit simplement utiliser rm -rf <répertoire>. L'intérêt de rmdir est de vous empêcher de faire une bêtise si vous croyez un répertoire vide et qu'il ne l'est pas. Au contraire, rm -rf fait le nettoyage silencieusement et efficacement et toute bêtise est irrécupérable. Pour illustration, vider la corbeille revient à exécuter rm -f sur tous les fichiers du répertoire ~/.Trash (pas seulement rm -rf ~/.Trash : n'oubliez pas les fichiers cachés !).

La fenêtre des propriétés d'un fichier
Dans le paragraphe précédent, nous avons omis la possibilité de voir les propriétés d'un fichier. La plupart des propriétés sont propres à la caractéristique graphique des gestionnaires de fichiers. En effet, en ligne de commande, vous n'avez aucun intérêt à utiliser des icônes ou d'associer une application à un fichier pour l'exécuter. Ce qui nous intéresse se limite aux permissions des fichiers et à leur propriétaire et, pour les répertoires, la taille des fichiers qu'ils contiennent. Cette taille s'obtient avec du -s <répertoire>. En ajoutant l'option --si (anciennement -H), vous la lirez dans un format un peu plus humain que par dizaines de milliers d'octets.
Connaître les permissions d'un fichier s'effectue avec ls -l que nous avons vu plus haut. Nous nous intéressons ici à la première colonne. Le premier caractère, généralement un tiret pour un fichier, ou un d pour un répertoire, indique le type. Les neuf autres caractères sont groupés par trois pour indiquer s'il y a permission de lire (r), écrire (w) ou exécuter (x). Le premier groupe, c'est vous, le propriétaire, comme indiqué dans la colonne suivante. Le deuxième, c'est votre groupe, indiqué colonne après. Enfin, le troisième, c'est tous les autres.

Créer un nouveau...
Il existe toujours un menu, dans votre gestionnaire de fichiers, qui vous permet de créer un nouveau dossier. En ligne de commande, vous lancez simplement mkdir <nouveau dossier>.
Certains gestionnaires de fichiers vous proposent également de créer un nouveau fichier en vous laissant le choix parmi quelques types bien connus comme un fichier texte, HTML... Ici, les comportements des gestionnaires de fichiers varient. Pour certains, cela revient à créer un fichier vide avec la bonne extension. En ligne de commande, cela est possible mais ne présente pas grand intérêt : autant lancer l'application souhaitée en lui donnant le nom du fichier – même s'il n'existe pas – en argument.
Si vous tenez à créer un fichier vide, une façon de faire est touch <nom du fichier>. Ce que cette fonction permet, par contre, le gestionnaire de fichiers ne le propose généralement pas : changer la date de modification du fichier. Changer cette date pour un fichier qui n'existe pas revient donc à le créer !

Périphériques amovibles
Certains gestionnaires de fichiers vous proposent de visualiser des périphériques amovibles tel qu'un CD, un disque externe ou une clé USB. Sur les systèmes Linux récents, les choses se font automatiquement et vous n'avez plus qu'à aller dans le bon répertoire.
Ce que fait le système dans votre dos, c'est détecter le périphérique, créer un nouveau répertoire et monter le périphérique sur ce répertoire. "Monter", cela signifie associer un répertoire au périphérique afin que vous puissiez accéder à son contenu en allant dans ce fameux répertoire. Pour cela, le système utilise la commande mount avec les bons arguments. Si vous lancez cette commande sans aucun argument, vous pourrez connaître tous les périphériques actuellement montés. Lorsque, via votre gestionnaire de fichiers, vous démontez le volume, vous ne faites rien d'autre que de lancer umount <répertoire de montage> où le répertoire de montage est celui qui vous permettait d'accéder au périphérique.
Cette étape de démontage est essentielle. En effet, les modifications sur un fichier ne sont pas écrites physiquement au moment ou vous le demandez, mais au moment où le système le juge opportun pour améliorer les accès disque. Lorsque vous souhaitez débrancher votre disque amovible, vous devez donc forcer l'écriture physique de toutes vos modifications. C'est fait avec la commande umount.
Les répertoires où sont montés les périphériques varient d'une distribution à l'autre. Ainsi, sur un système Mandriva, vous chercherez dans /mnt. Ubuntu a choisi /media. Dans toutes les distributions, branchez votre périphérique puis regardez le fichier /etc/fstab : vous devriez y trouver le répertoire de montage.

Conclusion
Cet article vous a montré quelques façons de manipuler les fichiers. En avez-vous plus appris sur les commandes en ligne ou sur votre gestionnaire de fichiers ? N'oubliez pas qu'en tapant man <le nom d'une commande>, vous avez accès au manuel de cette commande.

