为什么我运行“ls”时会得到一列火车?

为什么我运行“ls”时会得到一列火车?

我最近注意到一些我不太喜欢的奇怪的事情:

当我跑步时,我得到了一列火车

那么为什么我在运行时会出现火车ls?我该如何阻止这种情况并使其正常运行?这是我发现的复活节彩蛋吗?我正在运行 Ubuntu GNOME 15.04。

信息更新:

跑步which ls让我感受到同样的感觉,跑步ls -l $(which ls)只是让我感受到另一种感觉。

运行command -v ls什么都不输出。 运行command -v sl什么也不输出。

cow这可能与我最近安装的承诺“让事情变得轻松一点”的软件包(或类似的软件包)有关。

答案1

  1. 尝试通过以下方式删除 funny 包

    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. 将来,不要安装任何在描述中承诺“让事情变得轻松一点”的东西。;)

答案2

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

[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会有所帮助。

相关内容