I accidently overwrote a linux shell program and would like to fix it

4

1

I accidentally overwrote one of the programs in the /bin directory, and would like to fix it. I am using Ubuntu 11.10, and would like some way to re-install just this file, without having to re-install the whole distribution.

Specifically, I accidently typed in the following command:

ls > less

I meant to pipe the output of of ls into the less program for easy viewing, which should have been:

ls | less

The command worked because I was (shame on me) logged in as a super user. I opened up the less file in the /bin directory, and sure enough it is now a text file with the output of my ls command. Is there anyway to fix this? It is especially annoying because I can't view the manual pages for any commands. Thanks for your help, I am just learning Linux.

jdg

Posted 2012-02-04T02:21:42.943

Reputation: 213

what linux distribution are you on? – Ben – 2012-02-04T02:23:56.833

8if ubuntu, you would do: sudo apt-get install --reinstall less – None – 2012-02-04T02:27:54.420

Especially if you're just learning Linux, don't do it while logged in as a super user. Bad things (like this) will be bound to happen. ;) Running as root is generally discouraged for all but only the specific cases where it's absolutely necessary. – Ben Richards – 2012-02-04T04:02:03.673

Thanks clime, I ran your command and it worked perfectly! I can once again read the manual pages! – jdg – 2012-02-04T04:39:39.510

5@clime - You should make your comment an answer. – Nifle – 2012-02-04T08:34:30.460

Answers

1

the following works on Debian and grudgingly Ubuntu:

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

Dan D.

Posted 2012-02-04T02:21:42.943

Reputation: 5 138

-1

A more fundamental solution to this problem would be to make backups of your system to another drive using something like rsync. That way you can restore any file that has problems. You'll need to do this to protect your data files anyway.

There is a bewildering array of backup systems available for Linux, but just a simple rsync will do what you want. If possible, one copy of everything should be on an external drive - preferably stored at a remote location so it will not be physically vulnerable to problems where your computer is located.

While on the subject, check out most. It does what less does and includes horizontal scrolling as well as many other features.

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

Joe

Posted 2012-02-04T02:21:42.943

Reputation: 533