使用 zsh 列出当前目录中的所有点文件

使用 zsh 列出当前目录中的所有点文件

如何使用 zsh 列出目录中的所有点文件?

答案1

不仅:

printf '%s\n' .*

(但请注意,除 之外的某些 shell会在该列表中zsh包含.和)..

使用 zsh 语法,限制为常规的仅文件:

printf '%s\n' .*(.)

列出所有文件包括隐藏的:

printf '%s\n' *(D)

D为了(隐藏)文件。

答案2

我们过去常用的经典方法是:

ls .??*

这将列出所有点文件,但不包括....当然,无论是谁提出这个,都假设所有点文件都将在..

另一个弱点是,如果您有以 开头的目录,.那么该命令将列出它的内容。这个方面可以通过使用-d标志来修复ls。这告诉ls我们只显示命令行上指定的任何目录,而不深入研究它们。

如今,大多数版本都ls包含一个-A标志,该标志将列出目录中的所有点文件,但不包括...。而且您不必担心-d在那里放置旗帜。

答案3

zsh 是附带的ls -als -A这很有帮助!

ls -a列出目录中的所有项目(文件和目录) ls -A具有相同的作用,但是不是列表....

您可以转到.zshrc配置文件并创建别名以使这些命令更易于运行。我这样命名我的:

alias l='ls -l'         # ls with items and directory details
alias la='ls -a'        # ls all items and directories within cd
alias lA='ls -A'        # ls all items and directories within cd, EXCEPT "." and ".."
alias lla='ls -la'      # combines "ls -l" and "ls -a"
alias llA='ls -lA'      # combines "ls -l" and "ls -A"

输出如下:

函数中的 la 和 lA 别名


另外,如果你想显示文件图标,你可以简单地安装以下插件,豪华版, 从这里。很多用颜色, 但豪华版是用 Rust 编写的,速度明显更快。

我在 my 中添加了这个别名,.zshrc这样每当我运行时ls我都会运行lsd.

alias ls='lsd'

相关内容