Was bedeutet es, einem ls
Befehl zu folgen ?
ls -l *\:2,*T
ls
= Liste-l
= lang (Liste)*T
bedeutet wohlT
am ende
Aber was ist damit *\:2
und mit dem Komma?
*\:2,*T
ist das Glob-Muster der aufzulistenden Dateien. Um es zu verstehen, müssen wir uns an einige Dinge erinnern:
:
muss in der Schale entkommen, werden \:
So *\:2,*T
würde zB eine aufgerufene Datei passenTranscationNumber:2,EventType:XYT
BEARBEITEN
Aus den Kommentaren :
ergibt sich die Notwendigkeit (oder auch nicht), den Bedürfnissen ein paar Worte zu entkommen : Es ist nicht unbedingt notwendig, dem :
Zeichen zu entkommen , aber Bash selbst schlägt es vor, wenn es automatisch vervollständigt wird.
:
geflohen werden?:
muss nicht entkommen werden. Es ist nur unter bestimmten Umständen (wenn es als Befehl verwendet wird) etwas Besonderes, nicht in Glob-Mustern. Das\:
ist gleichbedeutend mit:
, Flucht macht keinen Unterschied.unset var; : ${var:=x}; echo $var
:
ist Teil der Standardwerte für dieCOMP_WORDBREAKS
Umgebungsvariable. Bei der automatischen Vervollständigung von Bash werden diese Zeichen von der Bibliothek für gelesene Zeilen als Worttrennzeichen verwendet, und ein Dateiname, der einen Doppelpunkt enthält, sollte natürlich ein einzelnes Wort sein. Aus diesem Grund muss bei der automatischen Vervollständigung der Bash der Doppelpunkt mit einemListen Sie alle Dateien auf, die dem Platzhaltermuster entsprechen
*:2,*T
Dort
*
stimmt der Platzhalter mit irgendetwas überein (eine beliebige Anzahl aller möglichen Zeichen). Dies:2,
sind Zeichen, die in den Datei- / Verzeichnisnamen vorhanden sein müssen.Der Doppelpunkt
:
ist ein Sonderzeichen, das maskiert werden muss, daher die Form von\:2,
.Die Datei- / Verzeichnisnamen müssen mit einem enden
T
.Dateinamen, die übereinstimmen würden, wären
quelle
COMP_WORDBREAK
Umgebungswerte enthalten ist, die standardmäßig festgelegt werden. - Es handelt sich also in der Tat nicht um ein Sonderzeichen, aber wenn Sie die automatische Vervollständigung in der Befehlszeile verwenden und Dateinamen mit einem Doppelpunkt abgleichen möchten / müssen, muss es maskiert werden.Wie andere angemerkt haben, enthält diese Liste im Langformat Dateien, die enthalten
:2
und auf endenT
Dies sieht aus wie eine Suche in einem Maildir-Ordner nach Dateien, die gelöscht (in den Papierkorb verschoben) wurden. Aus Gründen der Robustheit hätte es jedoch
*
am Ende eine andere geben müssen . Neue Flags mit einer späteren alphabetischen Position könnten hinzugefügt werden, und Dovecot fügt beispielsweise ein weiteres Feld mit der Dateigröße am Ende hinzu.quelle