我不小心覆蓋了一個 linux shell 程式並想修復它

我不小心覆蓋了一個 linux shell 程式並想修復它

我不小心覆蓋了 /bin 目錄中的一個程序,並且想修復它。我正在使用 Ubuntu 11.10,並且想要某種方式來重新安裝這個文件,而不必重新安裝整個發行版。

具體來說,我不小心輸入了以下命令:

ls > less

我的意思是將 ls 的輸出透過管道傳輸到 less 程式中以便於查看,它應該是:

ls | less

該命令之所以有效,是因為我(對我來說很遺憾)以超級用戶身份登入。我打開 /bin 目錄中的 less 文件,果然它現在是一個文字文件,其中包含 ls 命令的輸出。有沒有辦法解決這問題?這特別煩人,因為我無法查看任何命令的手冊頁。感謝您的幫助,我正在學習Linux。

答案1

以下內容適用於 Debian 和 Ubuntu:

sudo apt-get install --reinstall $(dpkg -S /usr/bin/less | cut -d: -f 1)

答案2

解決此問題的一個更根本的解決方案是使用 rsync 之類的工具將系統備份到另一個磁碟機。這樣您就可以恢復任何有問題的檔案。無論如何,您都需要執行此操作來保護您的資料檔案。

Linux 上有一系列令人眼花撩亂的備份系統,但只需一個簡單的 rsync 就可以滿足您的需求。如果可能,所有內容的副本都應保存在外部磁碟機上 - 最好儲存在遠端位置,這樣它就不會在物理上容易受到電腦所在位置問題的影響。

在討論這個主題時,請查看大多數內容。它具有 less 的功能,包括水平滾動以及許多其他功能。

http://linux.die.net/man/1/most

相關內容