Почему при вводе «ls» появляется поезд?

Почему при вводе «ls» появляется поезд?

Недавно я заметил кое-что странное, что мне не очень нравится:

При запуске ls я получаю поезд

Так почему же я получаю поезд при запуске ls? И как мне остановить это и заставить его вести себя нормально? Это пасхальное яйцо, которое я обнаружил? Я использую Ubuntu GNOME 15.04.

Обновление информации:

Бег which lsдает мне тот же поезд, а бег ls -l $(which ls)просто дает мне другой поезд.

Бег command -v lsничего не выводит. И бег command -v slтоже ничего не выводит.

Возможно, все это как-то связано с cowпакетом (или чем-то подобным), который я недавно установил и который обещал «немного облегчить ситуацию».

решение1

  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. И в будущем НЕ устанавливайте ничего, что в описании обещает «немного облегчить ситуацию».;)

решение2

Обычно вы можете добавить \ к команде, чтобы отключить псевдонимы только для этого экземпляра запущенной команды. Например,

[2023]$ псевдоним ls
псевдоним ls='ls -F -Chs --color=tty'
[2024]$ ls
всего 140К
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помогло бы.

Связанный контент