Stations de travail en ligne OnWorks Linux et Windows

Logo

Hébergement gratuit en ligne pour les postes de travail

<Précédent | Table des matières | Suivant>

Extension de nom de chemin

Le mécanisme par lequel les caractères génériques fonctionnent est appelé extension du nom de chemin. Si nous essayons certaines des techniques que nous avons employées dans nos chapitres précédents, nous verrons qu'il s'agit en réalité d'extensions. Étant donné un répertoire personnel qui ressemble à ceci :



[moi@linuxbox ~]$ ls

Bureau ls-output.txt

PHOTOS

Gabarits

Documents Musique

public

Vidéos


nous pourrions réaliser les extensions suivantes :



[moi@linuxbox ~]$ écho D*

Documents de bureau

[moi@linuxbox ~]$ écho D*

Documents de bureau


et :



[moi@linuxbox ~]$ écho *s

Documents Images Modèles Vidéos

[moi@linuxbox ~]$ écho *s

Documents Images Modèles Vidéos


ou même:



[moi@linuxbox ~]$ echo [[:supérieur:]]*

Documents de bureau Musique Images Modèles publics Vidéos

[moi@linuxbox ~]$ echo [[:supérieur:]]*

Documents de bureau Musique Images Modèles publics Vidéos


et en regardant au-delà de notre répertoire personnel :



[moi@linuxbox ~]$ écho /usr/*/share

/usr/kerberos/share /usr/local/share

[moi@linuxbox ~]$ écho /usr/*/share

/usr/kerberos/share /usr/local/share


image

Extension de nom de chemin de fichiers cachés

Comme nous le savons, les noms de fichiers commençant par un point sont masqués. L'expansion du nom de chemin respecte également ce comportement. Une extension telle que :

écho *

ne révèle pas les fichiers cachés.

Il peut sembler à première vue que nous pourrions inclure des fichiers cachés dans une extension en commençant le modèle par un point de début, comme ceci :

écho .*

Cela fonctionne presque. Cependant, si nous examinons les résultats de près, nous verrons que les noms "." et « . » apparaîtront également dans les résultats. Étant donné que ces noms font référence au répertoire de travail actuel et à son répertoire parent, l'utilisation de ce modèle produira probablement un résultat incorrect. Nous pouvons le voir si nous essayons la commande :

ls -d .* | moins

Pour mieux effectuer l'expansion du nom de chemin dans cette situation, nous devons utiliser un modèle plus spécifique :

écho .[!.]*

Ce modèle s'étend à chaque nom de fichier qui commence par un point, n'inclut pas de deuxième point et suivi de tout autre caractère. Cela fonctionnera correctement avec la plupart des fichiers cachés (bien qu'il n'inclue toujours pas les noms de fichiers avec plusieurs points de début). Les ls commande avec le -A L'option ("presque tous") fournira une liste correcte des fichiers cachés :

ls-A


Meilleur système d'exploitation Cloud Computing chez OnWorks :