ls -al .functions*
-rw-r--r-- 1 root root 471040 Mar 2 10:01 .functions.php.swo
-rw-r--r-- 1 root root 438272 Mar 2 09:57 .functions.php.swp
*
kann übereinstimmen .php.swo
und .php.swp
warum *
kann nicht übereinstimmen .functions.php
?
ls -al *.swo
ls: cannot access '*.swo': No such file or directory
ls -al *swo
ls: cannot access '*swo': No such file or directory
*
es.
(das aktuelle Verzeichnis) und..
(das übergeordnete Verzeichnis des aktuellen Verzeichnisses) enthält. Versuchen Sie dann, dotglob einzustellenls *
. Sie nicht versuchenrm -R *
.zsh
Dotglob tatsächlich auf eine Weise implementieren, die weder.
noch..
- meiner Meinung nach ein viel nützlicheres Verhalten-f
.Als Erweiterung von Shaidos Antwort möchte ich eine Erklärung geben, warum die
-a
Option hier nicht funktioniert:Der
ls
Befehl wird nicht verarbeiten Platzhalter. Der Befehlszeileninterpreter führt diesen Schritt aus:Wenn Sie die Befehlszeile "
mycommand *.c
" eingeben, ersetzt der Befehlszeileninterpreter zuerst die Platzhalterzeichenfolge "*.c
" durch die Liste der übereinstimmenden Dateien und führt dann die resultierende Befehlszeile aus:Der Befehlszeileninterpreter funktioniert für alle Befehle auf die gleiche Weise, sodass er nicht wissen kann, dass
-a
dies im Fall desls
Befehls "versteckte Dateien einschließen" bedeutet (während er-a
für andere Befehle eine völlig andere Bedeutung hat) ...quelle