ls 版本号排序 Mac OS X

Chr*_*nch 10 ls sorting version macos

ls -v在 Mac OS X 中是否有等效的版本号排序?

在 Mac OS X 中,ls -v不进行版本号排序,但 Finder 似乎可以。

slh*_*hck 11

lsOS X 中的默认设置没有版本排序功能。这是 GNU 的一个特性ls,它随大多数 Linux 一起提供,但不随 OS X 一起提供。您可以ls通过GNU coreutils包安装 GNU 。


在 Mac 上获得它的最简单方法是安装一个包管理器,比如HomebrewMacPorts,然后通过它安装 coreutils。

因此,例如,安装 Homebrew:

/usr/bin/ruby -e "$(curl -fsSL https://raw.github.com/gist/323731)"
Run Code Online (Sandbox Code Playgroud)

稍等,阅读安装说明。然后,安装 coreutils:

brew install coreutils
Run Code Online (Sandbox Code Playgroud)

这将添加所有带有g前缀的 GNU coreutils,例如,您将能够使用gls代替ls,它现在提供版本排序。


要覆盖默认ls行为(以及其他内置程序的行为),您可以将此行添加到您的~/.bash_profile

source /usr/local/Cellar/coreutils/8.12/aliases
Run Code Online (Sandbox Code Playgroud)

请注意,这可能会影响依赖 BSD 版本的其他程序。如果您只想别名ls,请改用以下内容:

alias ls="$brew_prefix/bin/gls"
Run Code Online (Sandbox Code Playgroud)