Maison >Tutoriel système >Linux >Quelle est la différence entre les chemins absolus et les chemins relatifs sous Linux ?
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
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
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 .
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.
Les chemins absolus partent toujours du répertoire racine (/), tel que :
/home/abhishek/scripts/my_scripts.sh
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
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 :
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
Ensuite, le chemin relatif :
ls -l scripts/my_script.sh
Ensuite, à l'exception des différents chemins de fichiers, les deux méthodes ci-dessus sont exactement les mêmes :
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 :
Comme indiqué ci-dessous, nous devons passer du répertoire abhishek au répertoire prakash.
Pour changer de répertoire, utilisez la commande cd. Si vous utilisez un chemin absolu, vous pouvez faire ceci :
cd /home/prakash
Si vous utilisez des chemins relatifs, vous devez utiliser des chemins relatifs spéciaux.. :
cd ../prakash
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.
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!