Originally Posted by Logomachist
Yeah, I have mixed feelings about Linux's design philosophy. I LIKE that commands can be chained together in original ways. But you know that 80/20 rule, right? I think they could have anticipated that users would have wanted to specify filenames and span images across multiple files and included these features accordingly.
We could argue about what's better forever, the truth is that there's as many different views as there are users. I say that there's a command for that, so why bother coding that feature again and again and again in every single program? Obviously it's not the only way to look at the issue, and everyone is free to disagree. I don't claim to have the truth on my hands. Everyone has his/her own truth.
Besides that, if that truly bothers you, just use split directly and be happy with it:
split /dev/hda1 -b 700m
Actually, somebody did... I found a utility called dcfldd that's like dd but can split files. This has happened before; I've found enhanced versions of grep and ls online that do things I found lacking from the originals. But for some reason these enhanced versions aren't included by default in Linux distros.
There are also ways, as said, no one can say if it's better to have programs with lots of features, or lots of programs with just one feature. No one can say either when is a good time to stop. You say that dd should be able to split files, some other person will think that it should compress the files in bz2, some others will want 7z support, some others will want ghost image supports, some others will want dd to be able to change the internal fs format of an image, some others will want a graphical frontend, and where do we stop? Who decides what feature is ok and what isn't?
Well, that person is the author of the program. If you don't agree, you can always fork it, that's why "improved" versions of typical gnu tools do exist.