GNU/Linux >> Tutoriels Linux >  >> Linux

Naviguer dans le système de fichiers avec des chemins relatifs sur la ligne de commande

Si vous êtes sur le chemin du travail, mais que vous vous arrêtez d'abord chez un traiteur pour le petit-déjeuner, vous ne rentrez pas chez vous après le petit-déjeuner afin de pouvoir reprendre votre voyage. Au lieu de cela, vous continuez à partir de là où vous êtes parce que vous comprenez où se trouve votre bureau par rapport à votre emplacement actuel. La navigation sur votre ordinateur se fait de la même manière. Si vous modifiez votre répertoire de travail dans un terminal vers un sous-répertoire, tel que Images , vous n'avez pas nécessairement besoin de rentrer chez vous juste pour accéder à Documents . Au lieu de cela, vous utilisez un parent chemin.

Le Terminal Linux

  • Les 7 meilleurs émulateurs de terminaux pour Linux
  • 10 outils de ligne de commande pour l'analyse de données sous Linux
  • Télécharger maintenant :Aide-mémoire SSH
  • Aide-mémoire des commandes Linux avancées
  • Tutoriels de ligne de commande Linux

Inversement, les chemins absolus commencent toujours au début de votre disque dur. Vous savez que vous avez atteint le début par une seule barre oblique (/ ) sans rien à sa gauche, car le niveau racine de votre lecteur est le plus grand conteneur, contenant tous vos dossiers et fichiers. Pour cette raison, le chemin /home/seth (et sa version abrégée ~ , bien que ce soit moins clair, car il manque la barre oblique la plus à gauche) est considéré comme un chemin absolu. Il représente le niveau de base de votre disque dur, qui contient le home répertoire, qui à son tour contient seth (mon nom d'utilisateur).

Tout ce qui commence par une barre oblique est un chemin absolu, qui équivaut numériquement à ce que vous retourniez à 12 pâtés de maisons juste pour atteindre un emplacement situé à deux pâtés de maisons de l'endroit où vous vous trouvez actuellement. Ce fait ne signifie pas pour autant que les chemins absolus sont mauvais. Il existe de nombreuses raisons valables d'utiliser des chemins absolus, dont la clarté n'est pas la moindre. Si vous pouvez naviguer sur votre lecteur à partir de chemins absolus, utilisez-le comme guide. Avec la saisie semi-automatique, la saisie d'un chemin complet peut être aussi rapide que l'utilisation d'un chemin relatif, en particulier avec la saisie semi-automatique.

Cela dit, les chemins relatifs peuvent être pratiques et, dans certains cas, vitaux. Par exemple, vous ne pouvez jamais être sûr du chemin absolu d'un serveur Web. Si un concepteur Web sait qu'il conserve les polices Web dans un répertoire local et qu'il établit un lien vers ces polices sur son ordinateur portable de développement en utilisant le chemin absolu /home/webdev/Public/www.example.com/fonts , alors tous leurs liens se cassent lorsque le code est poussé vers /var/www/example.com/fonts sur le serveur.

En plus de cela, il est parfois plus rapide et plus facile de taper cd ../Documents au lieu de cd /home/seth/Documents .

Les chemins relatifs utilisent deux séquences de contrôle :l'unique (. ) et le double (.. ) point. Un seul point signifie ne bougez pas . Le double point signifie reculer d'un pas . Ces points fonctionnent mieux lorsque vous connaissez un peu le contenu de votre lecteur et à condition que vous puissiez visualiser les chemins correspondants.

Il peut être utile de visualiser chaque répertoire comme une pièce dans une maison. Par exemple, sachant que vous avez un répertoire personnel qui contient à la fois une Images et un Documents dossier, vous pouvez visualiser chaque sous-répertoire comme un pas en avant depuis l'accueil :

Pour passer d'une pièce à l'autre, vous devez revenir dans l'espace commun en utilisant le marche arrière séquence de contrôle, puis avancez dans l'autre. Vous pouvez obtenir votre position actuelle à tout moment avec le pwd Commande (répertoire de travail d'impression) :

$ pwd
/home/seth/Pictures
$ cd ../Documents
$ pwd
/home/seth/Documents

N'oubliez pas qu'un seul point signifie ne bougez pas , et c'est exactement ce qu'il fait :

$ pwd
/home/seth
$ cd .
$ pwd
/home/seth

Il peut sembler étrange d'avoir une commande spéciale représentant un état sans changement, mais c'est une directive utilement explicite. Par exemple, si vous deviez créer une application personnalisée pour répertorier le contenu d'un répertoire et l'enregistrer dans votre répertoire personnel, en nommant bêtement l'application reboot , alors chaque fois que vous utiliserez cette application personnalisée, vous voudrez faire attention à ce que votre ordinateur sache exactement qui redémarre commande à exécuter.

Une façon de spécifier la version consiste à fournir un chemin d'accès explicite à votre application personnalisée et mal nommée. Le point unique renforce votre désir de ne pas vous écarter de votre chemin prévu lorsque vous êtes déjà dans le répertoire :

$ pwd
/home/seth
$ ./reboot
Documents/     Downloads/
Music/         Pictures/
Public/        Spheniscidae/
Videos/        Yugolothae/

Une autre fois où vous pourriez avoir besoin d'un spécificateur à un seul point, c'est lorsqu'un outil ne recherche pas dans le répertoire courant un argument par défaut. Par exemple, le dnf La commande suppose que tout package que vous lui demandez d'installer est un package que vous devez télécharger à partir d'un référentiel. Lorsque vous souhaitez effectuer une installation locale de quelque chose que vous avez déjà téléchargé, vous pouvez le faire pointer vers un package dans le répertoire courant avec un seul point donc dnf fonctionne avec au lieu d'essayer de le trouver dans un référentiel :

$ sudo dnf install ./example.rpm

Parfois, le point unique peut être utile comme caractère de remplissage dans les chemins qui devraient contenir plusieurs niveaux. Prenons l'exemple d'un développeur Web qui a utilisé plusieurs liens vers une police. répertoire qui était autrefois trois pas en arrière. Récemment, cependant, ce développeur a déplacé la police répertoire dans le même répertoire que leur code HTML. Si le développeur ne remplace pas toutes les instances de ../../../fonts avec ./././fonts , leur site tombera en panne.

Remarque : Dans le cas de cet exemple, changer ../../../fonts à ./fonts fonctionnerait, mais supposons pour les besoins de cet exemple que cela casserait un script qui s'attend à voir trois niveaux avant les fonts répertoire.

Les chemins relatifs peuvent être déroutants au début, alors tenez-vous en aux chemins absolus lorsque vous naviguez sur votre ordinateur jusqu'à ce que vous soyez à l'aise avec le concept de relativité. Beaucoup de gens les trouvent utiles, tandis que d'autres ne les utilisent pas. Tout est relatif.


Linux
  1. Soyez trié avec sort en ligne de commande

  2. Copiez et collez sur la ligne de commande Linux avec xclip

  3. Travailler avec des flux de données sur la ligne de commande Linux

  4. Une petite astuce :sélectionnez un fichier ou une ligne au hasard dans le fichier avec shuf

  5. Surveillance du niveau du microphone avec un outil de ligne de commande sous Linux

Comment vérifier l'orthographe sur la ligne de commande Linux avec Aspell

Maîtrisez la ligne de commande Linux

Manipuler du texte en ligne de commande avec grep

Un guide du débutant pour naviguer dans le système de fichiers Linux

Suivi du temps avec Timewarrior en ligne de commande

Comment contrôler la version avec Git sur la ligne de commande