Why doesn't delete mean delete?

Delete works the way it does because that’s the way most computer users want it to work.

In the early days of home computers, delete worked more closely to the way you wanted it to work. If you deleted a file, as far as the operating system was concerned, it was gone. All information about the file in the directory structure was removed, and the blocks on the disk were marked as free. Using the normal operating system, there was no way to get the file back. It was gone. The data was actually still on the disk, because it was kinda silly and pointless to bother to go block by block and erase it all. That would take a lot of time (back then computers did not multitask - you would have had to wait for a slow computer to go block by block and delete each section of data) to erase data that the operating system no longer had a meaningful way to access anyway.

This was the way it worked, and people complained about it, but not because the data was still intact… They complained because it was too easy to accidentally delete the wrong file, and then it was gone forever. So people, realizing that the data was still there, started making undelete utilities. These became very popular, so much so that the folks who made operating systems (like Microsoft) started including undelete utilities with their operating systems. To make this all work a bit more smoothly, the recycle bin was created.

Most folks are quite happy with that. If you really want to permanently delete a file, you can press shift and delete instead of just delete, and it won’t go to the recycle bin.

The fact that the data is still physically on the disk isn’t a concern for most folks. If you are the rare type of person who is involved in illegal activities or you suffer from paranoia about anyone else looking for your data, then you can get third party tools to do a better job of erasing your data. There is no need for the computer to obliterate the data for most folks, though. Just emptying the recycle bin is good enough for the vast majority of computer users. Then, as far as the operating system is concerned, the file is “deleted” or completely wiped from the computer.

It sort of does. Once you have deleted the files you don’t want from the recycle bin you can open a command prompt, and enter the command “cipher /w:Windows”.* This will then overwrite the free space on the drive, including that occupied by files deleted from the recycle bin, three times, with zeros, ones, and then with random numbers. It is a bit slow, but it does the job. Three overwrites should be plenty enough to prevent even the most advanced equipment from recovering any of the original data most of the time, but if you are really paranoid, you could just run it again to get six overwrites.

*Assuming you are trying to arrange stuff on your C drive, and your Windows directory is in the root directory of your C drive (which it almost always is). For different disks, or with Windows set up in certain non-standard ways, the command parameters might have to be a bit different. Actually, even in teh straightforward case, it does not have to be “Windows” after the colon, it can be the name of any directory in the relevant disk’s root.

Incidentally, am I right in thinking that, on a solid-state drive, overwriting deleted files just once would be sufficient to make them completely irrecoverable?

See earlier. Yes and no. Yes writing to a physical block will erase that block. No, writing to the logical block made visible by the flash drive controller does not necessarily write to the same physical block that the data to be overwritten resides upon. Wear levelling results in remapping of blocks, and you can’t easily know what it is doing. You need access to the physical blocks to be able to be sure. This may not be available, depending upon the interface the controller provides.

Should be. The difficulty is knowing whether you’ve actually over-written the files or not. The storage system is usually more complicated than a disk. But given physical control of the device, an over-write should work. There are different technologies in use though, so maybe there are exceptions.

For business requirements, my entire hard and all backups are encrypted. So without my private key, nobody but the NSA has a chance at reading files even if they aren’t deleted. And I can make a key so large even they can’t do it in any practical timeframe.

Missed edit window: “erase”, not “arrange”.:smack:

I guess I can only speak for myself. To me, delete means to eliminate or destroy, and not just “the logical presence from a logical system.” But, if that means I’m confused then I guess I’m confused. I’ll bet there are a whole lot of equally confused folks out there.

If you were writing with a pen, and drew a line through a word, or scribbled over it, would you not consider yourself to have deleted it?

[DEL]Text deleted with the delete tag.[/DEL]

Every new technology or science trys to explain itself in terms or what came before. You are basically demanding a detailed description for every action that is on the menu. What do you want the command or menu to say.
Delete

make_the_space_on_the_drive_available_but_don’t_actually_remove_the_data_but_wait_it_sort_of_depends_on_the_actual_phsyical_mechanism_that_the_data_is_stored_on_please_refer_to_pages_1023_to_1054_of_manual_number_7_for_a_more_detailed_explaination_of_everything_this_command_does

No, I would consider myself to have crossed it out. If you had deleted the text in your example it wouldn’t be there.

I agree in principle. But there are far worse cases of confusing name adaptation. And now we have the problem that every word and TLA* has been redefined for computers and they’re being used over to mean different things. This is a minor one, and changing it is not practical.

Delete works in the way most people want it to most of the time. Consider the various cases:

First you have Delete as it works now, simply ‘relocating’ it in the recycle bin. You can still get it back.

Then you have the mode where the space used is reallocated for re-use, but it’s still on the drive until the space is needed.

Then you have the mode where you want the data over-written so the original data can’t be read without special equipment. And that takes more time.

Then you have the mode where you over-write the data repeatedly so that even special equipment can’t detect what you’ve done.

All of those modes have variations as well, and there has to be a means of using each of them without accidently picking the wrong one. And computer users just don’t like that idea. They want fewer options not more. I’m an old timer in this field and prefer text commands to point and click, and wouldn’t mind entering commands like “nuke -fs -uig fname”** or “trash/expire=3/reuse=1”*** to get rid of a file. But most people just point and click, and want to use as little computerese as possible, which is why common words get re-used, and conf-used.

*TLA >>> Three letter acronym/abbreviation

**-fs -uig >>> -fromspace - untilitglows

***/expire=3/reuse=1 >>> keep for 3 days, reuse if space needed

obviously the last two are for fictitious OSs, but similar commands have been used.

Well, the problem, obviously, comes from the fact that the majority of regular people don’t know all the distinctions, nor should they be expected to. Maybe this means that early programmers should’ve come up with a command that didn’t leave the impression that a file was gone forever. To most people, I believe, delete is akin to shredding, or at least tearing up and throwing away, and data recovery amounts to piecing together those shredded pieces to reform the document. What they’re not thinking is that delete actually means to hide the document in a different drawer and maybe throw some white-out on it when you get around to it. It’s why so many average users are surprised if their deleted personal information is resurrected by crooks or the authorities. Many have come to learn that delete doesn’t really mean destroy only because they’ve seen stories about good people being damaged or bad people getting caught for making the same logical assumptions. I only last year got my parents to understand they have to delete their deleteds.

Why couldn’t they just give us the “Nuke it from space until it glows” button? Now that leaves no room for confusion.

It used to, until Microsoft invented the Recycle Bin to help the poor souls who have itchy trigger fingers.

You are confused. That is what the OP might seem to be demanding. I, like you, am saying that it is silly.

Then you have failed to grasp the standard, accepted meaning of the word “delete”:

There’s glory for you!

It is really quite rare for “delete” to be used as a synonym for “destroy”.

Well, the trend in programming languges and command-line interfaces does seem to move steadily in that direction.

This could well be the name of a Java function or a some command line parameter in Windows Server. I prefer camelCase myself.

Okay, back on-topic: I’d like at least a “casual secure default option”, plenty sufficient for things like deleting that kiddie porn than you accidentally stumbled upon, from your browser cache. One to three random overwrites should be fine, but it has to be configurable to happen automatically on all deletes, not just when I explicitly ask for it, so it will get all those temp files and behind-the-scenes files like browser cache. When I tell my browser to delete cache, cookies, and everything, that’s what I would like to have happen.

In modern multi-tasking systems, it doesn’t have to be instant. It’s fine if the freed blocks can simply be put into a queue to be deleted during idle time by a background process.

For modern complex disk systems, as Francis Vaughan discussed in detail above, there should be a “secure delete” option at the controller level, so that the system-level software can get more direct access to disk sectors, bypassing all the shuffling and optimizing that the controller does. Do you (Mr. Vaughan) mean to say that modern controllers don’t have such a function?

There’s just not enough buttons to handle everybody’s individual preferences. And programmable preferences seem to to just confuse the casual users.

I spent a little time with a UofP professor in the 70s who was working on a post graduate program for those who needed computer literacy. Primary computer literacy in those days meant programming in BASIC and learning that computers are full of a 1s and 0s. His students were past grads then getting their first introduction to the brave new world of computers. He found that it was easier to teach them APL (a cryptic symbolic language that required a special terminal for the characters) than BASIC, which was intended to be based on natural language. The common terms in BASIC like INPUT and PRINT were confusing them because of their preconceived notion of what those words meant. I think he really just transferred the confusion from one place to another though. Very few people ever learned to use APL, and I found most of them to be somewhat confused about something.

But can’t you configure disk arrays in (for example) various RAID configurations that require the knowledge of the controllers to know where the data lives? If you’re using RAID 10 won’t you’ll have multiple disks to access multiple times to delete a single file. I don’t see how you can bypass all that in any meaningful way. All storage devices would have to implement these new features, and all would have to implement them in similar ways.

One of the points of an OS is to make the hardware logically independent. So at different levels, like say a driver, there needs to be similarity of implementation, but from there down things can change greatly. But on disk devices, generally, if you can write to the file, you’d do that before the logical delete and returning the sectors to the free list. For solid state drives it doesn’t always work that way. New data written may not be stored in the same place as the older data. Some disks systems do this also, so the hardware manufacturer has to provide the functionality to guarantee nuking data from space until it glows.

Oh yeah, wait til you guys start using the cloud! It only gets worse from here on out!

You’re kidding, right? Read your own definitions. “Erase”, “remove”… others can be found that say expunge, etc. Those imply gone, disappeared, not crossed out for removal in future versions. See, you’re using it in the sense of marking up text on a manuscript. I promise you that when deleting something, NOBODY expects the computer to draw a friggin’ line through it.

Here’s a simple test. Go to any program or website that allows you to type text. (Even this site will do.) Type a sentence. Any series of letters or numbers will do. Then highlight those words and letters. Then hit the delete button. What happens next? Does a line appear horizontally through the text or does it disappear?

I’m pleased to have learned that the secure delete function on Macs pretty much accomplish that. But, I don’t get the argument that there are so many preferences out there that it would confuse users. The confusion comes from all the reasons delete doesn’t really mean a permanent delete (just look at this thread.) The personals preferences should come into play for those who don’t want delete to actually mean delete.