It is to my understanding that in /bin
we have some binary executables that are just compiled C programs. Out of curiosity, I decided to play with them and I opened ls
with sudo
privileges using nano
, and added the character 0
at the beginning. I saved the file and, to my amusement, I checked that indeed, executing the ls
command in a terminal does not work.
What I did not expect is that after deleting this character I had added, the ls
command still does not work and segfaults.
If the files contained in /bin
are nothing but machine code with ones and zeros, why does deleting a character that we have previously added not yield a program that works?