PV does everything.
root@mlll2664:~# pv -tpreb /dev/sdc | dd of=/dev/sdd bs=512M 27.5GB 0:03:28 [ 130MB/s] [========> ] 12% ETA 0:24:39
You can also funnel this into the dialog tool and make it visual:
See here for more details.
PV does everything.
root@mlll2664:~# pv -tpreb /dev/sdc | dd of=/dev/sdd bs=512M 27.5GB 0:03:28 [ 130MB/s] [========> ] 12% ETA 0:24:39
You can also funnel this into the dialog tool and make it visual:
See here for more details.
dialog is a great command-line-based dialog tool that let’s you construct twenty-three types of dialog screens, that resemble the best of any available dialog utilities.
It’s as simple as running the following from the command-line:
dialog --yesno "Yes or no, please." 6 30
Very few of the users of dialog probably know that it can be statically linked to provide the same functionality in a C application. It doesn’t help that there is almost no documentation on the subject.
This is an example of how to create a “yesno” dialog:
#include <curses.h> #include <dialog.h> int main() { int rc; init_dialog(stdin, stderr); rc = dialog_yesno("title", "message", 0, 0); end_dialog(); return rc; }
I explicitly pre-include curses.h so dialog.h won’t go looking in the wrong place. It might be different in your situation.
To build:
gcc -o example example.c -L dialogpath -I dialogpath -ldialog -lncurses -lm
Just configure and build your dialog sources, and then use that path in the make line, above.
This program will return an integer representing which button was pressed (true/0, false/1), or whether the dialog was cancelled with ESC (255).