web-dev-qa-db-ja.com

「ls」を実行すると、なぜ電車に乗るのですか?

私は最近、私があまり好きではない奇妙なことに気づきました:

When running ls I get a train

なぜlsを実行すると電車に乗るのですか?そして、どうすればこれを止めて正常に動作させることができますか?これは私が発見したイースターエッグですか? Ubuntu GNOME 15.04を実行しています。

情報の更新:

which lsを実行すると同じ列車が取得され、ls -l $(which ls)を実行すると別の種類の列車が取得されます。

command -v lsを実行しても何も出力されません。また、command -v slを実行しても何も出力されません。

これはすべて、私が最近インストールしたcow(またはそのようなもの)パッケージと関係があるかもしれません。

28
user364819
  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
    

    ポイント3が成功しない場合。

  5. また、将来的には、説明に「少しだけ明るくする」と約束するものをインストールしないでください。 ;)

33
A.B.

通常、コマンドの先頭に\を追加して、コマンド実行のそのインスタンスのエイリアスのみを無効にすることができます。例えば。、

 [2023] $エイリアスls 
エイリアスls = 'ls -F -Chs --color = tty' 
 [2024] $ ls 
 total 140K 
 4.0K bin/0 Downloads @ 0 prog.git @ 
 ... 
 
 [2025] $\ls 
 bin Downloads doc.git freertos .git prog.git tmp 
 ... 

したがって、先頭に「\」を付けてlsを試すことをお勧めします

次に、フルパスでlsコマンドを直接実行してみてください。

/bin/ls 

次に、コマンド/ bin/ls

また、パスを確認し、

 echo $ PATH 
/binが最初のエントリであることを確認してください。
 $ PATH =/usr/bin:/ usr/local/bin:/ usr/bin:/ bin :/ sbin:/ usr/sbin:usr/local/sbin:/ usr/local/bin 
 

しかし、cowを削除すると役立つと思います。

17
Om Narasimhan