补充说明
vdir 是 GNU coreutils 提供的命令,行为严格等价于 ls -l -b:使用长格式输出,并把文件名中的不可打印字符转义。它适合在脚本中固定长格式输出,而不必每次都写 ls -l -b。
与 ls 一样,默认只显示当前目录的非隐藏条目,并按字母顺序排序;传入文件参数时则显示这些文件的属性。输出字段依次为权限、硬链接数、所有者、所属组、大小、时间和名称。
-b 的转义形式让异常文件名不会破坏终端显示或后续解析。若需要机器可读输出,建议使用 find -printf、stat 或 ls --quoting-style 等更明确的方式,而不是解析 vdir 的列。
语法
vdir [选项] [文件...]
选项
-a, --all:显示以.开头的隐藏条目。-h, --human-readable:以 K、M、G 等单位显示大小。-t:按修改时间排序,最新在前。-S:按文件大小排序,最大在前。-r, --reverse:反转排序顺序。-R, --recursive:递归列出子目录。-d, --directory:显示目录本身而非其内容。
实例
# 列出当前目录的长格式信息
vdir
# 显示隐藏文件,并用易读单位表示大小
vdir -a -h
# 按大小从大到小排列
vdir -S
# 只查看指定目录本身的信息
vdir -d /var/log
# 递归查看子目录
vdir -R /etc/nginx
# 与等价写法对比
ls -l -b