Gestion des dossiers et des fichiers sous Linux

Quelques commandes

Introduction

Ce qui suit est un complément de cette présentation. N'hésitez pas à la consulter.

Vous êtes habitué à manipuler des dossiers et des fichiers grâce à une interface graphique. Mon objectif est de vous apprendre à faire la même chose en ligne de commande. Ici pas de souris, vous ne disposez que d'un clavier.  Les débuts sont en général douloureux, mais au final vous vous apercevrez que l'on peut aller aussi vite (voire plus) avec un clavier qu'avec une souris. De plus, vous pourrez faire des manipulations impossibles à réaliser avec une interface graphique.

Les tâches les plus courantes sont :

    • Lister le contenu d'un dossier (avec ses options).
    • Se déplacer d'un dossier à un autre (chemin absolu ou relatif).
    • Créer, renommer, copier, déplacer et supprimer des dossiers.
    • Lire et modifier le contenu d'un fichier.
    • Créer, renommer, copier, déplacer et supprimer des fichiers.

A chaque tâche correspond une ou plusieurs commandes avec éventuellement des options !

La seule solution pour s'en sortir est de pratiquer jusqu'à acquérir des réflexes.

Premières commandes

Voici une commande qui n'a rien à voir avec les fichiers mais que vous allez trouver très utile. Elle permet d'effacer le contenu de l'écran (et ainsi cacher le résultat visuel de vos dernières commandes).

user@ubuntu:~$ clear

Où suis-je ? Dans mon répertoire personnel. C'est le ~ qui me l'indique.

Oui mais il est où mon répertoire personnel ?

user@ubuntu:~$ pwd
/home/user

pwd a déjà été vu.

Remarques :

    • La racine de l'arborescence Linux s'appelle '/'. C'est l'équivalent du 'C:\' sous Windows.
    • Tous les utilisateurs (sauf root) ont un dossier personnel dans le dossier '/home' (sous Linux, on écrit toujours le chemin absolu). C'est l'équivalent de 'C:\Users'sous Windows.
    • Le dossier personnel porte le nom de l'utilisateur ici '/home/user'. C'est l'équivalent de 'C:\Users\user' sous Windows.
    • Sous Linux (et MacOS), le séparateur de dossier est le slash '/' alors que sous Windows c'est l'antislash '\'.

Que contient mon dossier personnel ?

user@ubuntu:~$ ls

C'est vide est-ce normal ? Oui car vous n'avez pas encore de fichiers personnels.

N'y-a-t-il pas des fichiers cachés comme avec Windows ? Oui, mais il faut demander à les afficher comme sous Windows.

Quelle commande saisir pour cela ? C'est la même commande mais avec une option.

Comment connaître rapidement la liste des options d'une commande ? Grâce à l'aide en ligne ! (pas besoin d'aller sur Internet pour si peu).

user@ubuntu:~$ man ls

Mais cette aide est en anglais ! Comment l'avoir en français ?

user@ubuntu:~$ apt-get install manpages-fr*

Remarques :

    • apt-get (déjà vu) est l'utilitaire des gestion des paquets Ubuntu.
    • apt-get install est l'option qui installe un paquet.
    • manpages-fr* tous les paquets contenant de l'aide en français (* est un jocker que nous verrons plus bas).

La commande précédente retourne une erreur pourquoi ?

Vous n'avez pas les privilèges (les droits) en tant que simple utilisateur pour installer un paquet.

Solutions :

Soit vous vous déconnectez et vous vous reconnectez en root avant de relancer la commande, soit vous demandez les droits du superutilisateur (root) juste pour exécuter cette commande (solution plus rapide et qu'on a déjà vue).

user@ubuntu:~$ sudo apt-get install manpages-fr*

Et maintenant quelle est la bonne option sachant que les fichiers cachés sous Linux commencent pas un point '.'  ?

Remarque sur l'aide en ligne :

    • Pour naviguer dans l'aide : 'espace' avance d'une page, 'Entrée' avance d'une ligne, 'flèche haut' remonte d'une ligne, 'flèche bas' descend d'une ligne.
    • Pour rechercher un mot dans l'aide : '/mot' puis 'Entrée'. Pour trouver la prochaine occurrence du mot vers le bas 'n' et vers le haut 'u'.

A quoi servent tous ces fichiers cachés ? La plupart sont des scripts (comme du JavaScript ou du php mais en langage shell, très proche du php). Ils sont exécutés soit à la connexion soit à la déconnexion des utilisateurs. Les autres sont des mouchards !

Comment voir leur contenu ?

Plusieurs solutions, la plus simple est d'utiliser la commande 'cat' (catalogue, ou contenu de )

user@ubuntu:~$ cat .bash_history

C'est un mouchard qui contient toutes les commandes que vous avez déjà saisies avant votre dernière déconnexion.
Son rôle est également de vous faciliter la vie :

    • Vous pouvez rappeler les commandes déjà saisies avec la flèche du haut (comme dans Packet Tracer).
    • Vous pouvez afficher directement toutes les commandes déjà saisies (même depuis la dernière connexion) avec la commande history (à tester)
    • Vous pouvez aussi rechercher une commande dans l'historique avec 'CTRL+R' (à tester).