如何使用 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 -a
,ls -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"
输出如下:
另外,如果你想显示文件图标,你可以简单地安装以下插件,豪华版, 从这里。很多用颜色, 但豪华版是用 Rust 编写的,速度明显更快。
我在 my 中添加了这个别名,.zshrc
这样每当我运行时ls
我都会运行lsd
.
alias ls='lsd'