Maison > Tutoriel système > Linux > Quelle est la différence entre les chemins absolus et les chemins relatifs sous Linux ?

Quelle est la différence entre les chemins absolus et les chemins relatifs sous Linux ?

WBOY
Libérer: 2024-02-10 20:03:20
avant
829 Les gens l'ont consulté

Le chemin est un concept très important dans le système Linux et chaque utilisateur Linux doit le comprendre.

Il fait référence à l'emplacement des fichiers et des répertoires dans la structure de répertoires Linux, composée de noms et de barres obliques. Grâce aux chemins, nous pouvons trouver rapidement l’emplacement des fichiers ou des répertoires.

/home/abhishek/scripts
Copier après la connexion

En tant qu'utilisateur système, les chemins sont utilisés lorsque vous souhaitez accéder à un fichier ou un répertoire, ou lorsque vous devez spécifier l'emplacement d'un fichier ou d'un répertoire pour une commande ou un script.

cat /home/abhishek/scripts/my_script.sh
Copier après la connexion

N'oubliez pas que si le chemin commence par une barre oblique "/", la première barre oblique représente la racine et les barres obliques restantes du chemin ne sont que des séparateurs. Les débutants confondent souvent la barre oblique racine et la barre oblique séparateur .

Linux 中的绝对路径和相对路径,有什么区别?

Dans l'image ci-dessus, le premier chemin commence par le chemin racine (/) et le deuxième chemin ne commence pas par /. Ces deux manières d’écrire sont correctes, la première est un chemin absolu et la seconde est un chemin relatif.

Chemins absolus et chemins relatifs sous Linux

Les chemins absolus partent toujours du répertoire racine (/), tel que :

/home/abhishek/scripts/my_scripts.sh
Copier après la connexion

Les chemins relatifs partent du répertoire actuel. Par exemple, si vous êtes dans le répertoire /home et que vous souhaitez accéder au fichier my_script.sh, le chemin d'accès doit être :

abhishek/scripts/my_scripts.sh
Copier après la connexion

Comprendre la différence entre les chemins absolus et les chemins relatifs

Nous savons tous que la structure des répertoires sous Linux est une arborescence, commençant par la racine (/) puis générant des branches.

Supposons que nous soyons maintenant dans le répertoire abhishek et que nous souhaitions accéder au fichier my_scripts.sh, comme le montre la figure suivante montrant les deux chemins :

Linux 中的绝对路径和相对路径,有什么区别?

Supposons que nous utilisions la commande ls pour afficher les informations du fichier my_script.sh, puis que nous utilisions le chemin absolu :

ls -l /home/abhishek/scripts/my_script.sh
Copier après la connexion

Ensuite, le chemin relatif :

ls -l scripts/my_script.sh
Copier après la connexion

Ensuite, à l'exception des différents chemins de fichiers, les deux méthodes ci-dessus sont exactement les mêmes :

Linux 中的绝对路径和相对路径,有什么区别?

Remarque : Sous Linux, les noms de fichiers sont sensibles à la casse. Peut contenir des majuscules, des minuscules, des chiffres, des points, des tirets, des soulignements et la plupart des caractères à l'exception de la barre oblique (/). La barre oblique (/) est un caractère réservé utilisé pour le répertoire racine et pour diviser les répertoires dans un chemin.

Utilisez des chemins relatifs avec les répertoires . et ..

**
**

Il existe deux chemins relatifs spéciaux :

  • .**** (un point) : représente le chemin actuel dans le chemin
  • ;
  • ..**** (deux points)  : Indique le répertoire parent, c'est-à-dire le répertoire de niveau supérieur.

Comme indiqué ci-dessous, nous devons passer du répertoire abhishek au répertoire prakash.

Linux 中的绝对路径和相对路径,有什么区别?

Pour changer de répertoire, utilisez la commande cd. Si vous utilisez un chemin absolu, vous pouvez faire ceci :

cd /home/prakash
Copier après la connexion

Si vous utilisez des chemins relatifs, vous devez utiliser des chemins relatifs spéciaux.. :

cd ../prakash
Copier après la connexion

Pourquoi utiliser ..? Puisque le chemin relatif commence à partir du répertoire courant, nous devons dire à la commande cd de monter d'un niveau, nous amenant au répertoire /home et de là au répertoire prakash.

Les chemins absolus commencent toujours par / et sont indépendants de l'emplacement actuel ; les chemins relatifs dépendent de l'emplacement actuel.

Chemin absolu ou chemin relatif, lequel utiliser ?

Honnêtement, il n’y a pas de réponse simple à cette question. Ça dépend.

Si la hiérarchie de répertoires dans laquelle vous vous trouvez actuellement est relativement profonde et que vous devez monter ou descendre d'un niveau, il est plus facile d'utiliser des chemins relatifs.

En supposant que vous résidez à

/home/username/programming/project/interface/src/header et doit accéder à quelque chose dans le répertoire /home/username/programming/project/interface/bin. L'utilisation d'un chemin relatif évite de taper tout ce long nom de répertoire, utilisez simplement .././bin ici.

Cependant, si vous souhaitez accéder à quelque chose dans le répertoire /usr/bin à partir du répertoire /home/username/programming/project/interface/src/header, utilisez ../../../../.. /../usr/bin sera plus gênant. Dans ce cas, il est plus pratique d'utiliser le chemin absolu.

Une autre situation consiste à utiliser des chemins dans des scripts ou des programmes. Si l'emplacement est certain, utilisez un chemin absolu ; s'il existe plusieurs dossiers dans le projet et que vous devez basculer entre eux, utilisez ici un chemin relatif car vous ne savez pas où l'utilisateur final placera le programme.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:lxlinux.net
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal