On Sat, Feb 10, 2024 at 07:10:54PM -0500, Greg Wooledge wrote: > On Sat, Feb 10, 2024 at 04:05:21PM -0800, David Christensen wrote: > > 2024-02-10 16:03:50 dpchrist@laalaa ~ > > $ shred -s 1K - | wc -c > > shred: -: invalid file type > > 0 > > > > > > It looks like a shred(1) needs a bug report. > > I'm confused what you expected this command to do. You wanted to > "destroy" (by overwriting with random data) a pipe to wc? What > would that even look like?
What Thomas was trying to do is to get a cheap, fast random number generator. Shred seems to have such. > The basic premise of shred is that it determines the size of the file, > then writes data over it, rewinds it, and repeats this a few times. > A pipe to a process has no size, and can't be rewound. That's right: stdout is a (potentially) infinite file, so only one pass (-n 1, as Thomas put in the command line) really makes sense. Unless you are into transfinite numbers, that is :-) > Declaring a pipe to be an "invalid file type" for shredding sounds > pretty reasonable to me. This is one of those cases of the toolmaker knowing better than the tool user. One of the things I like UNIX is that this attitude isn't that widespread (it is slowly spreading, alas). I much prefer those tool makers who say "surprise me". Of course, helping people to not shoot themselves in the foot is also a honourable endeavour. So "you are trying to shred a pipe. Use option -f for that (see the manual page" would be fully OK in my book. I don't like opinionated software. It's messy enough as it is when people have opinions :-) Cheers -- t
signature.asc
Description: PGP signature