4 ms·
Nice, but I wonder why the actual tools don't already include this. I even recall cp having been patched with a progress bar maybe a decade back in Gentoo, but
by dale_glass 3y ago
Nice, but I wonder why the actual tools don't already include this.
I even recall cp having been patched with a progress bar maybe a decade back in Gentoo, but for some reason that didn't stick.
- w0m 3y ago`alias cpProgress='rsync --progress -ravz'` has been in my ~/.bashrc for the majority of my career for large file transfers.
- freedomben 3y ago`rsync` interprets paths a little differently than cp (such as trailing / or no trailing / on directories). Do you have a convention you normally call this with to avoid differences in behavior?
- geraldhh 3y agogood question since shell's completion behaves differently in adding trailing slashes
- manuelabeledo 3y agoI’m going to go on a limb here, but I would say that coreutils main users aren’t human, but scripts. GUIs have had progress bars for ages as well.
- JdeBP 3y agoIt's more likely that this is the entire "upstream downstream" development model in action again. There are vast numbers of improvements to softwares that never get sent to the places where they will do the most good (or at least have a proper record of why they were rejected by their authors). A quick perusal of the bug trackers of Debian or Ubuntu will reveal tonnes of local patches that the original authors of the softwares often never even hear about. Things don't "stick" often times simply because they get lost. I was looking at something like that just the other day. Here's a bug report that describes a problem with "doas" not opening the controlling terminal to do its authentication dialogue. This is actually a problem with a package named LinuxPAM, and doesn't occur when "doas" uses OpenPAM or BSD Auth. It's LinuxPAM that's where the code in question is. Fixing LinuxPAM would improve the lives of everyone that uses LinuxPAM, because the behaviour of not allowing standard input through in a command pipeline is not confined to "doas" but affects everything that uses LinuxPAM to do login authentication. But time and again stuff like this languishes in the wrong place, for years and decades. * https://github.com/slicer69/doas/issues/17 https://github.com/slicer69/doas/issues/17
- JdeBP 3y agoI went looking and I found this: * https://github.com/jarun/advcpmv https://github.com/jarun/advcpmv This one got lost because the original author's WWW site just vanished, according to the doco.
- reddit_clone 3y agoMy thoughts as well. I think commands could have progress but only as explicit option. I wish curl and 'docker pull' didnt spew so much text by default, filling up so many jenkins server's disks.
- j33zusjuice 3y agoI know you said “by default” so I’m assuming you know some ways around this, but in case you don’t, or for anyone who might find this useful … you can be really specific with curl outputs. It’s pretty sick. curl -sS -w '%{http_code} %{http_version}' https://www.goog https://www.goog le.com -o /dev/null https://everything.curl.dev/usingcurl/verbose/writeout https://everything.curl.dev/usingcurl/verbose/writeout I’ve only recently had to use curl’s features more in-depth, so I’m still fascinated by its potential.
- xp84 3y agoThanks! This sounds like a great tool for simple scripts where something like a quick response code (etc) would be useful to know. I'm imagining something like: Creating ticket... (200 OK)
- coxley 3y ago"Make each program do one thing well" The philosophy surrounding these tools wouldn't lend well to each implementing that. Fortunately `pv` exists, is perfect for this use-case, and included in many distributions. :)
- simula67 3y agoI think it is probably because of the UNIX philosophy of the virtue of silence: 'The program should say nothing if it has nothing interesting to say'. It is an open question whether progress is 'interesting' or not. My own opinion is that it is not interesting if the operation is nearly instantaneous. If any operation can take more than 5 seconds, it should have a progress bar and an estimated time of completion. Earlier versions of Windows did this very well. Often these progress bars were a joke, but sometimes they were useful. It gave us valuable input on whether there is enough time to go get a cup of coffee, which as we all know, is the most important question for us all.
- ElectricalUnion 3y agoEarlier OSes and applications with only cooperative multitasking had to do this well; if a misbehaving application/operation was running it could just monopolize the system-wide event loop and stall the entire system.
- hulitu 3y ago> Earlier versions of Windows did this very well. Almost. For some reason the Win95 and Win98 installer needed 75% of the time to go to 99% and 25% of the time to go from 99% to 100%.
- Yizahi 3y agoFor example Linux scp has progress bar and prints success results by default. I wish more tools did this.
- Yizahi 3y agoBy the way, regarding Windows progressbars - even if a particular implementation is garbage, like for example passing to 50% instantly, then sitting there for a minute, then passing again to 75% and staying there and son on, they are still useful if your are using the same tool or operation repeatedly. My VPN progress indicator is junk, but I can roughly guess where is the problem based on where it got stuck now, simply because I've already saw multiple failure modes of it. Or if I'm installing some CPP distributives repeatedly, I can guess how long remains. If an operation is silent and hogging my prompt without any indication what is going on, is stuck, is the speed too slow etc. it is simply frustrating.
- rurban 3y agoI do maintain the mv cp progress patches, but they recently broke, when they added another feature. coreutils refused the patches as saying they are feature complete, whilst they dont have progress support, nor Unicode support. Stubborn https://github.com/rurban/coreutils/ https://github.com/rurban/coreutils/