{"id":13285,"date":"2019-04-01T11:22:09","date_gmt":"2019-04-01T11:22:09","guid":{"rendered":"http:\/\/www.appservgrid.com\/paw92\/?p=13285"},"modified":"2019-04-01T11:24:08","modified_gmt":"2019-04-01T11:24:08","slug":"progress-a-tiny-tool-to-monitor-progress-for-cp-mv-dd-tar-etc-commands-in-linux","status":"publish","type":"post","link":"https:\/\/www.appservgrid.com\/paw92\/index.php\/2019\/04\/01\/progress-a-tiny-tool-to-monitor-progress-for-cp-mv-dd-tar-etc-commands-in-linux\/","title":{"rendered":"Progress \u2013 A Tiny Tool to Monitor Progress for (cp, mv, dd, tar, etc.) Commands in Linux"},"content":{"rendered":"<p><strong>Progress<\/strong>, formerly known as\u00a0<strong>Coreutils Viewer<\/strong>, is a light\u00a0<strong>C<\/strong>\u00a0command that searches for coreutils basic commands such as\u00a0<strong>cp<\/strong>,\u00a0<strong>mv<\/strong>,\u00a0<a href=\"https:\/\/www.tecmint.com\/18-tar-command-examples-in-linux\/\" target=\"_blank\" rel=\"noopener\">tar<\/a>,\u00a0<strong>dd<\/strong>,\u00a0<strong>gzip\/gunzip<\/strong>,\u00a0<a href=\"https:\/\/www.tecmint.com\/13-basic-cat-command-examples-in-linux\/\" target=\"_blank\" rel=\"noopener\">cat<\/a>,\u00a0<a href=\"https:\/\/www.tecmint.com\/12-practical-examples-of-linux-grep-command\/\" target=\"_blank\" rel=\"noopener\">grep<\/a>\u00a0etc currently being executed on the system and shows the\u00a0<strong>percentage<\/strong>\u00a0of data copied, it only runs on Linux and Mac OS X operating systems.<\/p>\n<p>Additionally, it also displays important aspects such as\u00a0<strong>estimated time<\/strong>\u00a0and\u00a0<strong>throughput<\/strong>, and offers users a \u201ctop-like\u201d mode.<\/p>\n<p><b>Suggested Read:<\/b>\u00a0<a href=\"https:\/\/www.tecmint.com\/monitor-copy-backup-tar-progress-in-linux-using-pv-command\/\" target=\"_blank\" rel=\"noopener\">Monitor Progress of (Copy\/Backup\/Compress) Data using \u2018pv\u2019 Command<\/a><\/p>\n<p>It utterly scans the\u00a0<a href=\"https:\/\/www.tecmint.com\/exploring-proc-file-system-in-linux\/\" target=\"_blank\" rel=\"noopener\">\/proc filesystem<\/a>\u00a0for fascinating commands, and then searches the\u00a0<code>fd<\/code>\u00a0and\u00a0<code>fdinfo<\/code>directories to\u00a0<a href=\"https:\/\/www.tecmint.com\/10-lsof-command-examples-in-linux\/\" target=\"_blank\" rel=\"noopener\">find opened files<\/a>, seeks positions, and reports status for the extensive files. Importantly, it is a very light tool, and compatible with practically any command.<\/p>\n<h3>How to Install Progress Viewer in Linux<\/h3>\n<p><strong>Progress<\/strong>\u00a0requires the\u00a0<strong>ncurses<\/strong>\u00a0library in order to work, therefore install\u00a0<strong>libncurses<\/strong>\u00a0before proceeding to install it, by running the appropriate command below:<\/p>\n<pre>-------------- <strong>On RHEL, CentOS and Fedora<\/strong> -------------- \r\n# yum install ncurses-devel  \r\n\r\n-------------- <strong>On Fedora 22+ Releases<\/strong> --------------         \r\n# dnf install ncurses-devel\r\n\r\n-------------- <strong>On Debian, Ubuntu and Linux Mint<\/strong> -------------- \r\n$ sudo apt-get install libncurses5-dev\r\n<\/pre>\n<p>You can start by cloning or downloading the package files from its Github repo as follows:<\/p>\n<pre># git clone  https:\/\/github.com\/Xfennec\/progress.git\r\n<\/pre>\n<p>Next, move into the progress directory and build it as shown:<\/p>\n<pre>$ cd progress\r\n$ make \r\n$ sudo make install\r\n<\/pre>\n<p>After successfully installing it, simply run this tool from your terminal, below we shall walk through a few examples of using\u00a0<strong>Progress<\/strong>\u00a0on a Linux system.<\/p>\n<p>You can view all the\u00a0<strong>coreutils<\/strong>\u00a0commands that\u00a0<strong>Progress<\/strong>\u00a0works with by running it without any options, provided non of the coreutils commands is being executed on the system:<\/p>\n<pre>$ progress \r\n<\/pre>\n<div id=\"attachment_22873\" class=\"wp-caption aligncenter\">\n<p><a href=\"https:\/\/www.tecmint.com\/wp-content\/uploads\/2016\/09\/Progress-Viewer-Commands.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-22873\" src=\"https:\/\/www.tecmint.com\/wp-content\/uploads\/2016\/09\/Progress-Viewer-Commands.png\" alt=\"Progress Viewer Commands\" width=\"713\" height=\"200\" aria-describedby=\"caption-attachment-22873\" data-lazy-loaded=\"true\" \/><\/a><\/p>\n<p id=\"caption-attachment-22873\" class=\"wp-caption-text\">Progress Viewer Commands<\/p>\n<\/div>\n<p>To display estimated I\/O throughput and estimated remaining time for on going coreutils commands, enable the\u00a0<code>-w<\/code>\u00a0option:<\/p>\n<pre>$ progress -w\r\n<\/pre>\n<div id=\"attachment_22874\" class=\"wp-caption aligncenter\">\n<p><a href=\"https:\/\/www.tecmint.com\/wp-content\/uploads\/2016\/09\/Monitor-Progress-Current-Commands.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-22874\" src=\"https:\/\/www.tecmint.com\/wp-content\/uploads\/2016\/09\/Monitor-Progress-Current-Commands.png\" sizes=\"auto, (max-width: 1027px) 100vw, 1027px\" srcset=\"https:\/\/www.tecmint.com\/wp-content\/uploads\/2016\/09\/Monitor-Progress-Current-Commands.png 1027w, https:\/\/www.tecmint.com\/wp-content\/uploads\/2016\/09\/Monitor-Progress-Current-Commands-768x437.png 768w\" alt=\"Monitor Progress of Running Commands\" width=\"1027\" height=\"584\" aria-describedby=\"caption-attachment-22874\" data-lazy-loaded=\"true\" \/><\/a><\/p>\n<p id=\"caption-attachment-22874\" class=\"wp-caption-text\">Monitor Progress of Running Commands<\/p>\n<\/div>\n<p>Start a heavy command and monitor it using\u00a0<code>-m<\/code>\u00a0option and\u00a0<code>$!<\/code>\u00a0as follows:<\/p>\n<pre>$ tar czf images.tar.gz linuxmint-18-cinnamon-64bit.iso CentOS-7.0-1406-x86_64-DVD.iso CubLinux-1.0RC-amd64.iso | progress  -m  $!\r\n<\/pre>\n<div id=\"attachment_22875\" class=\"wp-caption aligncenter\">\n<p><a href=\"https:\/\/www.tecmint.com\/wp-content\/uploads\/2016\/09\/Monitor-Progress-of-Linux-Commands.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-22875\" src=\"https:\/\/www.tecmint.com\/wp-content\/uploads\/2016\/09\/Monitor-Progress-of-Linux-Commands.png\" alt=\"Monitor Progress of Linux Commands\" width=\"712\" height=\"270\" aria-describedby=\"caption-attachment-22875\" data-lazy-loaded=\"true\" \/><\/a><\/p>\n<p id=\"caption-attachment-22875\" class=\"wp-caption-text\">Monitor Progress of Linux Commands<\/p>\n<\/div>\n<p>In the next example, you can open two or more terminal windows, then run the coreutils commands in one each, and watch their progress using the other terminal window as shown in the image below.<\/p>\n<p>The command below will enable you to monitor all the current and imminent instances of coreutils commands:<\/p>\n<pre>$ watch progress -q\r\n<\/pre>\n<p>For more interesting options, look through the\u00a0<strong>progress<\/strong>\u00a0man pages or visit\u00a0<a href=\"https:\/\/github.com\/Xfennec\/progress\" target=\"_blank\" rel=\"nofollow noopener\">https:\/\/github.com\/Xfennec\/progress\u00a0<\/a>:<\/p>\n<pre>$ man progress\r\n<\/pre>\n<p>As a concluding remark, this is very useful tool for monitoring the progress of coreutils commands, especially when copying or archiving and compressing heavy files, plus so much more.<\/p>\n<p>If you have installed it successfully, use it and share your experience with us via the comment section below. You can as well provide us some great usage examples where you find it helpful for important everyday system administration tasks and more.<\/p>\n<p><a href=\"https:\/\/www.tecmint.com\/progress-monitor-check-progress-of-linux-commands\/\" target=\"_blank\" rel=\"noopener\">Source<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Progress, formerly known as\u00a0Coreutils Viewer, is a light\u00a0C\u00a0command that searches for coreutils basic commands such as\u00a0cp,\u00a0mv,\u00a0tar,\u00a0dd,\u00a0gzip\/gunzip,\u00a0cat,\u00a0grep\u00a0etc currently being executed on the system and shows the\u00a0percentage\u00a0of data copied, it only runs on Linux and Mac OS X operating systems. Additionally, it also displays important aspects such as\u00a0estimated time\u00a0and\u00a0throughput, and offers users a \u201ctop-like\u201d mode. Suggested Read:\u00a0Monitor &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/www.appservgrid.com\/paw92\/index.php\/2019\/04\/01\/progress-a-tiny-tool-to-monitor-progress-for-cp-mv-dd-tar-etc-commands-in-linux\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Progress \u2013 A Tiny Tool to Monitor Progress for (cp, mv, dd, tar, etc.) Commands in Linux&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-13285","post","type-post","status-publish","format-standard","hentry","category-linux"],"_links":{"self":[{"href":"https:\/\/www.appservgrid.com\/paw92\/index.php\/wp-json\/wp\/v2\/posts\/13285","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.appservgrid.com\/paw92\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.appservgrid.com\/paw92\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.appservgrid.com\/paw92\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.appservgrid.com\/paw92\/index.php\/wp-json\/wp\/v2\/comments?post=13285"}],"version-history":[{"count":3,"href":"https:\/\/www.appservgrid.com\/paw92\/index.php\/wp-json\/wp\/v2\/posts\/13285\/revisions"}],"predecessor-version":[{"id":13288,"href":"https:\/\/www.appservgrid.com\/paw92\/index.php\/wp-json\/wp\/v2\/posts\/13285\/revisions\/13288"}],"wp:attachment":[{"href":"https:\/\/www.appservgrid.com\/paw92\/index.php\/wp-json\/wp\/v2\/media?parent=13285"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.appservgrid.com\/paw92\/index.php\/wp-json\/wp\/v2\/categories?post=13285"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.appservgrid.com\/paw92\/index.php\/wp-json\/wp\/v2\/tags?post=13285"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}