当我运行“ ls”时为什么要坐火车?


27

我最近注意到一些我不太喜欢的怪现象:

跑步时我坐火车

那么,为什么我跑步时要坐火车ls呢?我该如何阻止它并使它正常运行?这是我发现的复活节彩蛋吗?我正在运行Ubuntu GNOME 15.04。

信息更新:

跑步which ls使我获得相同的火车,而跑步ls -l $(which ls)使我获得另一种类型的火车。

运行不command -v ls输出任何内容。运行command -v sl也不会输出任何东西。

这可能与cow我最近安装的(或类似的)软件包有关,该软件包承诺“可以减轻一些负担”。


14
也许有人化名你lssl
steeldriver 2015年


2
现在,我们知道了您为什么要早些时候将MP4转换为动画GIF的原因。sl默认情况下,我安装该工具只是为了使手指发胖时会有些笑声。如果您自己不是为了获得一个很好的笑声而这样做,则可能必须取消别名。
KGIII

Answers:


34
  1. 尝试通过删除有趣的包

    sudo apt-get purge sl 
    
  2. 检查您的别名,ls例如在~/.bashrc或中~/.profile

  3. 检查二进制文件/usr/games/sl并删除

    sudo rm /usr/games/sl
    
  4. 检查输出

    strace sl |& grep execve
    strace ls |& grep execve
    

    如果第三点没有成功。

  5. 而且将来,请勿在说明中安装任何可以“稍微减轻点”的东西。;)


17

通常,您可以在命令前加上\以仅对该命令运行实例禁用别名。例如,

[2023] $别名ls
别名ls ='ls -F -Chs --color = tty'
[2024] $ ls
总计140K
4.0K bin / 0下载@ 0 prog.git @
...

[2025] $ \ ls
bin下载doc.git freertos.git prog.git tmp
...

因此,我建议您在ls前面加一个'\'

接下来,您可以尝试直接使用完整路径运行ls命令。

/ bin / ls

接下来,命令/ bin / ls

另外,检查你的路径,

回声$ PATH
确保/ bin是第一个条目。
$ PATH = / usr / bin:/ usr / local / bin:/ usr / bin:/ bin:/ sbin:/ usr / sbin:usr / local / sbin:/ usr / local / bin

但是,我相信删除cow会有所帮助。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.