我刚刚了解到 ls 无法处理通配符(ls '*'
不起作用),因此 shell 在 ls 被调用之前会这样做。因此,对于使用 unix 工作了 20 年的人来说,ls 的行为可能被认为是合乎逻辑的,对我来说不是,我也不会与 ls 保持一致。
我想要一个目录命令来扫描文件和目录,然后应用通配符过滤器。这样 als cr*
就不会列出目录“cron.daily”中的文件。
我知道有ls -d
,我做了一个alias lx=ls -lartd
. 但后来我意识到,ls -d
出于某种秘密原因,没有任何争论是行不通的。
有没有我可以安装的替代品?
您可以使用find
, 它(在许多平台上)有一个-ls
选项。所以你可以这样做
find . -maxdepth 1 -name '*' -ls
Run Code Online (Sandbox Code Playgroud)
但如果很难记住ls -d
,你可能找不到find
改进。