Skip to main content

Deleting the file completely from the hard disk.

Lot of people usually ask this type of question. How do I get rid of my files completely from the storage device(Especially Hard disk).



To answer this question let us know how the hard disk stores your information.


  1. All you data is stored in the magnetic disk rotating at above 5000 rpm(Speeds may vary).
  2. This magnetic disk is called platter.
  3. The platter is made of magnetic material and coated with magnetic particles.
  4. Your data is just the arrangement of particles.
      The platter's complete address is very huge and complex to handle. To solve this the platter is divided into tracks and sectors. On top of this a file system is deployed(A set of algorithm and program to keep track of your data). Which is controlled by Operating System.

     The file system further divides the space into blocks(Usually you see this while formatting disk as Allocation size). The data is stored along the blocks.

The lower the block size the lower performance & efficient storage utilization.
The higher the block size higher the performance & less efficient storage utilization.

  This is all about the basics.


Now lets jump on to the topic.

  1. When ever you copy a file to disk to is stored and the starting & ending file pointer is created and stored.
  2. This helps in retrieval process.
  3. But when you delete a file It takes very less time than copying.
  4. In theory the amount of time required to copy == amount of time required to delete.
  5. But while deletion process only the file pointers are deleted and the blocks in which the files is stored is counted as a free space. 
  6. The disk only performs the overwriting and not exactly deleting.
Now from the Einstein's theory Just kidding....

     To delete your complete HDD(Disk) you need to copy equivalent amount of some useless data.
This can be quite a bit annoying. What if you want to delete a particular file?


We have solution:

    There are software like file shredder. This will help you to destroy your files to the level in which you specify. It is open source and completely free. Link to download file shredder http://www.fileshredder.org/

For any queries comment below.

Comments

Popular posts from this blog

One of the best Torrent caching service.

Hi readers, It's been a long time since I made my last post on this blog. That's due to the migration of the blog to private servers.  Today I found a decent torrent caching service, which I have been looking for years. Initially, when I started, I couldn't find the services are really benefiting me. So I went with my own Virtual Private Server in Digital Ocean. I ran a five dollar per month instance for my torrent caching as well as a multipurpose server.  Of course, It has its pros and cons.  Pros: I was able to do anything I wanted. It served as a good multipurpose server. Relatively inexpensive. Cons: You need to be a computer geek for up and running. Even most of the things are automated, still few manual works have to be performed. It takes usual time for downloading unlike caching services(They can do it instantly). Finally, we have a hassle free torrent caching service  Seedr .  It is a free torrent caching servic...

2-Dimensional Array with Dynamic Rows and Columns.

In Programming many times we have to store and work  with the data. But choosing the right way of storing is important. Array is one of the most simple and effective way of storing list of data.Now we have to multiple array of data. Ohh! that sounds easy we can use 2 Dimensional Array. I agree 2 Dimensional array is suitable but I have arrays of variable lengths. So simply creating 2-D Array will not be efficient because I have to specify the column size as the highest of my arrays. So there will be lot of unused space. The good solution can be Dynamic 2D Array with variable columns. Also Array of vectors can also be used. But we are not discussing about STL. Algorithm: Create a ptr to ptr to ptr with the name of your 2D Array to hold the Array of Pointers. Now create an Array of pointers depending on the no of rows and store the base address on the ptr to ptr. For every Row allocate the required memory and store the address in the array of pointers. You own the 2D...

Merge Sort Implementation in C++

For a Programmer sorting is an easy task after writing the code for couple of pages. But there are many other sorting algorithms.  The question which is not being properly answered is which sorting algorithm you should choose.  This is the most frustrating situation where we feel bad about us. The best sorting algorithm depends only on the scenario in which you are intended to use.  Let us speak about the Merge sort. Merge sort uses the divide and conquer approach. Entirely the merge sort is an easy algorithm (Depends on the way you think). You cannot master merge sort until you think what is happening. It has a good worst case performance (0(N logN)). It uses an additional space to accomplish the goal. The implementation is mainly based on the recursion.  You can get real performance benefit when comparing to bubble,selection sort. That's enough for the quick intro. If you would like you know more do a research on yourself. The algorithm goes like th...