Qu'est-ce que cela ~
signifie dans un chemin de fichier absolu?
Je vois ceci dans la sortie de choses comme des scripts de construction mais le chemin n’existe pas.
Qu'est-ce que cela ~
signifie dans un chemin de fichier absolu?
Je vois ceci dans la sortie de choses comme des scripts de construction mais le chemin n’existe pas.
Réponses:
Normalement, cela signifie que le répertoire de base de l'utilisateur, par exemple, ~mike/
serait le répertoire de base de l'utilisateur mike
, ~/
serait votre propre répertoire de base. Cependant, il m'est difficile de savoir si ~/
et ~mike/
doit être considéré comme absolu ou relatif; cela semble dépendre de la définition donnée (si quelqu'un peut trouver une référence faisant autorité, merci de poster un commentaire).
Notez que je parle ici de systèmes basés sur Unix.
/etc/login
fichier. L’expansion est traditionnellement effectuée par le shell, mais tout langage ayant des prétentions de "script" le fera aussi.
~username/
.
~
le synonyme du répertoire de l'utilisateur à la maison.
En fait, les deux réponses d'Adrian Mouat et de studiohack sont vraies.
Dans les systèmes d'exploitation avec convention de dénomination limitée (ancienne version de Windows / DOS, etc.), cela signifie un nom long.
e.g. "c:\program files\" is equivalent to "c:\progra~1\"
Dans certains systèmes d'exploitation (notamment Unix), cela signifie répertoire-répertoire (et peut être considéré comme un chemin absolu mais non canonique).
e.g."/a/vol01/usr/mike/" might be shortened to "~/mike/"
* où 'usr' est le répertoire d'accueil.
Sur de nombreux systèmes de fichiers, un nom de fichier contient un tilde (~) dans chaque composant du nom trop long pour être conforme aux règles de dénomination 8.3.
Source: noms de fichiers, chemins d'accès et espaces de noms - Noms abrégés et noms longs - MSDN
(En bas de page ...)
192.168.1.1
ou somefile.namewithdot
)
Et si vous programmez avec ASP.NET, cela signifie le niveau supérieur du site Web; plutôt que de naviguer avec ../../images/some_image.jpg (et d'obtenir un niveau de nidification erroné!), vous pouvez simplement dire ~ / images / some_image.jpg
/images/some_image.jpg
devrait vous emmener à la racine de tout site Web. Quelles fonctionnalités supplémentaires le tilde fournit-il dans ASP.NET?
Voici quelques astuces qui peuvent vous aider à mieux comprendre:
$ readlink -f ~
$ echo $HOME
Remarque: $
est une convention pour spécifier l'invite de ligne de commande de l'utilisateur, cela ne fait pas partie des commandes.
En savoir plus sur Windows:
Si le nom de fichier caché commence par «~», l'explorateur Windows le traite comme un fichier caché du système. Plus d'informations dans Pourquoi les fichiers cachés avec un tilde de premier plan sont-ils traités comme étant super cachés?
Si le nom de fichier / répertoire court contient '~' (comme "c: \ ololoo ~ 1"), il est possible que le nom long correspondant de ce fichier / répertoire dépasse la longueur maximale (MAX_PATH = 260). Les développeurs doivent contourner ce problème avec le préfixe "\\? \" (Même sous Windows 10 le plus récent en tant qu'utilisateur pouvant désactiver la prise en charge des chemins "> 260" avec le LongPathsEnabled
paramètre de registre ou avec la stratégie de groupe "Activer les chemins longs NTFS"). Vous pouvez trouver un exemple de cette solution de contournement à l'aide de C # dans les sources de la bibliothèque ZetaLongPaths .