title: How does rm work? What does rm do?
body: <p>My understanding is that 'files' are effectively just pointers to the memory location corresponding to the files content.  If you 'rm' a file, you certainly must be deleting that pointer.  If <code>rm</code> actually 'erases' the data, I would guess each bit is written over (set to <code>0</code> or something).  But I know that there are special procedures/programs (i.e. <code>srm</code>) to make sure that data isn't 'recoverable' --- which suggests that nothing is actually being overwritten...</p>
  
  <p>So, is deleting the pointer to a memory address the only thing <code>rm</code> does?  Is the data still sitting there in a contiguous block like it was before?</p>