¿Cuál es la diferencia entre 'ls * .py “y” ls * py "?

1

Esto sucede en cygwin (CYGWIN_NT-5.1 MYPC 1.7.5 (0.225 / 5/3) 2010-04-12 19:07 i686 Cygwin)

Primer comando, ls *.pyno muestra nada

$ ls *.py
ls: cannot access *.py: No such file or directory

Primer comando, se ls *.pyejecuta en la misma ubicación, muestra lo siguiente

$ ls *py
LICENSE.txt    _cpchecker.pyc   _cperror.pyc    _cpserver.py          _cptree.pyc         favicon.ico
__init__.py    _cpconfig.py     _cplogging.py   _cpserver.pyc         _cpwsgi.py          lib
__init__.pyc   _cpconfig.pyc    _cplogging.pyc  _cpthreadinglocal.py  _cpwsgi.pyc         process
_cpcgifs.py    _cpdispatch.py   _cpmodpy.py     _cptools.py           _cpwsgi_server.py   scaffold
_cpcgifs.pyc   _cpdispatch.pyc  _cprequest.py   _cptools.pyc          _cpwsgi_server.pyc  wsgiserver
_cpchecker.py  _cperror.py      _cprequest.pyc  _cptree.py            cherryd

Estos son archivos en un subdirectorio cherrypy

No alias lsde ninguna manera (correr /usr/bin/lsda los mismos resultados)

Entonces, la pregunta, ¿por qué la diferencia? No espero lscorrer recursivamente sin la -Rbandera

Anthony Kong
fuente

Respuestas:

6

Esto se debe a que la ejecución lscon un nombre de carpeta enumerará el contenido de las carpetas que coinciden con su argumento.

Utilizándolo *como comodín, cualquier carpeta que termine pytendrá sus contenidos listados, como cherrypy, crappy, bumpyetc.

Si varias carpetas coinciden con los criterios, también le mostrará los nombres de las carpetas:

[~ / ex] $ touch desigual / 1
[~ / ex] $ touch descuidado / 2
[~ / ex] $ touch cherrypy / 3 cherrypy / 4 cherrypy / 5
[~ / ex] $ ls * py
desigual:
1

cherrypy:
3 4 5

poco riguroso:
2
[~ / ex] $

No tenía ninguna carpeta o archivo directamente en su carpeta actual que terminara .pycuando ejecutó el primer comando, de ahí el resultado.

John T
fuente