Die Zeichen * und ? sind Wildcards, sie stehen für beliebige Zeichen in einem Datei- oder Verzeichnisnamen. Ein Beispiel: in deinem unixeinfuehrung Verzeichnis, tippe
ls list*
Das zeigt dir alle Dateien im aktuellen Verzeichnis, deren Name mit list.... beginnen.
Versuche
ls *list
Das gibt dir alle Dateien im Verzeichnis, die auf ....list enden
Das Fragezeichen (?) steht für genau ein Zeichen.
ls ?ouse würde also Dateien wie house oder mouse finden,
nicht aber grouse.
Was zeigt dir
ls ?list
Für das Verständnis dieses Abschnittes, solltest du dich daran erinnern, dass ein Verzeichnis in Unix bloss eine spezielle Datei ist. Die folgenden Regeln und Konventionen für Dateinamen gelten also auch für Verzeichnisse.
Zeichen mit spezieller Bedeutung (wie / * & %) solltest du Dateinamen möglichst vermeiden. Vermeide auch Leerzeichen in Namen. Am Besten verwendest du nur alphanumerische Zeichen (Zahlen und Buchstaben sowie _ (Underscore), - (Minus) und . (Punkt).
Dateinamen enden meist mit einem Punkt gefolgt von einer Buchstabengruppe, die den Inhalt der Datei beschreibt. So enden Textdateien oft auf .txt und du kennst sicher auch die Endung .pdf. Mit dieser Konvention kannst du also einfach alle pdf-Dateien in einem Verzeichnis finden: ls *.pdf
Eine weitere Konvention die ich selbst sehr nützlich finde ist, alle Dateinamen mit einem Kleinbuchstaben zu beginnen. So kann ich beim tippen auf [Shift] verzichten.
* |
findet eine beliebige Anzahl von Zeichen |
? |
findet genau ein Zeichen |