Contenu | Rechercher | Menus

Annonce

Le forum a une nouvelle maison !
Le forum a été migré sur un nouvel hébergement. Si jamais vous trouvez le moindre problème, n'hésitez pas à nous en faire part !
Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites".

#1 Le 11/03/2010, à 16:09

Mëlaes
Membre

[resulu] Pourquoi * ne comprends pas les dossiers qui commencent par .

Bonjour,

Dans les caractères spéciaux du shell, le caractère * est sensé représenté une chaine quelconque de caractère, y.c. vide.

Pourtant, appliqué dans un commande sur un dossier il ne comprend pas les dossiers cachés

par ex, s'il existe le dossier /tmp/.dossier :

find /tmp -name "*"

Ne le verra pas !

Sauriez-vous pourquoi ?

Dernière modification par Mëlaes (Le 11/03/2010, à 18:54)

Hors ligne

#2 Le 11/03/2010, à 16:45

Ras'
Master of Doudou !

Re : [resulu] Pourquoi * ne comprends pas les dossiers qui commencent par .

Je n'ai pas le problème chez moi...

ras@ras:~$ cd amsn_received/
ras@ras:~/amsn_received$ ls
ras@ras:~/amsn_received$ ls -A
.test  .tests
ras@ras:~/amsn_received$ find . -name "*"
.
./.test
./.tests
./.tests/42

Va t'faire shampouiner par nany en GMT-4 !
http://blag.xserver-x.org/
 
Les types awesome n'ont rien à prouver. À personne.

Hors ligne

#3 Le 11/03/2010, à 18:35

Mëlaes
Membre

Re : [resulu] Pourquoi * ne comprends pas les dossiers qui commencent par .

Pardon, effectivement cette forme marche.

Par contre, je maintiens ma question avec ces exemples :

find /tmp/*
ls /tmp/*
rm -R /tmp/*

Dernière modification par Mëlaes (Le 11/03/2010, à 18:35)

Hors ligne

#4 Le 11/03/2010, à 18:48

Totor
Membre

Re : [resulu] Pourquoi * ne comprends pas les dossiers qui commencent par .

Bonsoir,

Les noms de fichier / dossier commençant par un "." sont considérés comme des fichiers / dossiers cachés.
Par défaut, le bash (car je suppose que tu utilises le bash) ne les affiche effectivement pas.
Il est possible de changer ce comportement en activant l'option "dotglob" : shopt -s dotglob
Dès lors, le pattern * inclura les fichiers cachés.
Pour revenir au comportement par défaut : shopt -u dotglob


-- Lucid Lynx --

Hors ligne

#5 Le 11/03/2010, à 18:53

Mëlaes
Membre

Re : [resulu] Pourquoi * ne comprends pas les dossiers qui commencent par .

Effectivement,

Merci beaucoup pour cet éclaircissement !

Hors ligne

#6 Le 12/03/2010, à 10:26

serged
Membre

Re : [resulu] Pourquoi * ne comprends pas les dossiers qui commencent par .

... et pour ls utiliser l'option -a :

ls -a /tmp/

Linux-Mint Rosa 64 (Cinnamon) sur ASUS F2A55/AMD A8-5600K APU

Hors ligne