在 ubuntu 中使用 ack-grep 进行确认

在 ubuntu 中使用 ack-grep 进行确认

我只是想知道,我最近安装了 ack(ubuntu 中的 ack-grep),但我不知道如何只输入 ack 来获取 ack-grep(由于某种原因,ack 被汉字翻译器占用)。

有没有比仅仅在 shell 中对事物进行别名更好的方法(这样它不是全局的,例如不能在 vim 中调用它)。

多谢!

答案1

您链接或复制ack-grep/usr/local/bin以便它在 PATH 中优先:

sudo ln -sf /usr/bin/ack-grep /usr/local/bin/ack

ack或者,像戴维建议的那样,如果不需要它,就删除它:

sudo apt-get remove ack

另一个解决方案是使用来dpkg-divert告诉dpkg您希望所有包/usr/bin/ack在本地重命名,然后链接ack-grepack路​​径中。

答案2

在 Ubuntu/Debian 中你可以“转移” ack-grep

sudo dpkg-divert --local --divert /usr/bin/ack --rename --add /usr/bin/ack-grep

答案3

使用 Debian Alternatives 系统。

$ update-alternatives --install /usr/bin/ack ack /usr/bin/ack-grep 100 \
--slave /usr/share/man/man1/ack.1p.gz ack.1p.gz /usr/share/man/man1/ack-grep.1p.gz

这个命令很难正确执行,但由于以下原因,该解决方案优于 dpkg-divert:

  1. 不强制或覆盖软件包安装
  2. 为手册页设置从属链接

有关 Debian 替代品的更多信息,请访问: http://wiki.debian.org/DebianAlternatives

安装替代方案可以以 ack-grep 的形式调用ack并使用 阅读手册页man ack

答案4

最简单的方法是通过 cpan 安装 ack。它将安装在 /usr/local/bin 中,优先于 /usr/bin。只需运行:

sudo cpan App::Ack

或者如果你没有 cpan 客户端:

curl -L cpanmin.us | perl - --sudo App::Ack

相关内容