GNU/Linux >> Tutoriels Linux >  >> Linux

Quand dois-je utiliser une barre oblique finale sur un répertoire ? ?

Cette question a déjà des réponses ici :le slash (/) après un nom de répertoire sur les commandes shell

(2 réponses)
Fermé il y a 3 ans.

Duplication possible :
Comment Linux gère plusieurs séparateurs de chemin (/home////username///file)

La plupart des commandes que j'utilise sous Linux se comportent exactement de la même manière, que j'inclue la barre oblique finale / caractère à la fin d'un nom de répertoire ou non.

Par exemple :

ls /home/cklein
ls /home/cklein/

cp foo bar
cp foo/ bar/

Quand cette barre oblique finale est-elle importante ? Quelle est la signification sémantique de la barre oblique finale ?

Réponse acceptée :

Un bon exemple est de déplacer un fichier dans un répertoire :

mv some_file foo

contre

mv some_file foo/

Si foo n'existe pas, le premier renommera some_file à foo , plutôt que le foo/some_file prévu; le second se plaindra, c'est ce que vous voulez.

Si foo existe mais n'est pas un répertoire, le premier peut encombrer le foo dossier; encore une fois, le second se plaindra.

cp présente des problèmes similaires.

En travaillant sur certaines anciennes versions de SunOS, j'ai pris l'habitude d'ajouter /. , car le système a en fait ignoré un / de fin sur un nom de fichier ; par exemple, /etc/motd/ ferait référence au fichier plutôt que d'être une erreur. Les versions ultérieures de SunOS / Solaris ne semblent pas avoir ce problème.


Linux
  1. Linux - Quand ne devrais-je pas tuer -9 Un processus ?

  2. Quand utiliser Nohup ?

  3. Quand et pourquoi devrais-je utiliser Apt-get Update ?

  4. Quand dois-je utiliser TCP_NODELAY et quand TCP_CORK ?

  5. Comment utiliser CMAKE_INSTALL_PREFIX

Comment utiliser Rsync

Est-ce que Rsync ~/foo Target/foo est identique à Rsync ~/foo/ Target/foo/?

Utiliser Sed pour remplacer une chaîne par une chaîne contenant un nom de répertoire (c'est-à-dire une barre oblique "/") ?

Quel pilote graphique dois-je utiliser sur un Asus N43 ?

Quand utiliser un serveur dédié

Quand dois-je utiliser /dev/shm/ et quand dois-je utiliser /tmp/?