為什麼我運行“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
總計 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會有幫助。

相關內容