L'étoile de la mort

Portrait de aad

Maintenant que l'on sait copier et supprimer des fichiers on va s'intéresser au méta-caractères. "Mais qu'est ce que c'est ?" Ce sont des caractères spéciaux qui représentent plusieurs autres caractères. Pour mieux voir leur utilité je vais les tester sur le dossier suivant :

user@ordi:~$ ls
test1  test2  test3  testA  testF  testAZ

Ces caractères sont les suivants :

  • [] : Les crochets permettent de dire que le caractère à la place des crochet doit être dans la liste des caractères entre les crochets. Exemple :
    user@ordi:~$  ls test[12]
    test1  test2

    Pour désigner tous les caractères entre a et q par exemple on utilise le tiret :

    user@ordi:~$ ls test[A-Q] #équivalent à ls test[a-q]
    testA  testF
  • ? : Le point d'interrogation représente n'importe quel caractère. Il ne représente cependant pas le caractère vide. Exemple :
    user@ordi:~$ ls test?    #On cherche les fichier du nom de test suivi d`un seul caractère
    test1  test2  test3  testA  testF
    user@ordi:~$ ls test??   #Ici suivi de deux caractères
    testAZ
    user@ordi:~$ ls test???  #Ici de trois
    ls: test???: Aucun fichier ou répertoire de ce type
  • * : L'étoile. Le caractère le plus dangereux car il représente toutes les chaînes de caractères, y compris la chaîne vide "". Exemple :
    user@ordi:~$ ls test*    #tous les fichiers dont le nom commence par test.
    test1  test2  test3  testA  testAZ  testF
    user@ordi:~$ ls t*       #tous les fichiers dont le nom commence par t.
    test1  test2  test3  testA  testAZ  testF
    user@ordi:~$ rm *        #Attention : On supprime tous les fichiers sans demande de confirmation
    user@ordi:~$ ls          #On vérifie et le dossier est vide
    user@ordi:~$

    Comme on le voit l'étoile est dangereuse car sans faire attention on peut lancer $ rm -r * qui supprime tous les fichiers du répertoire courant sans confirmation. Alors, on ne le répétera jamais assez, faites attention avec l'étoile.