Open In App

Viewing Progress of Commands Using Pipe Viewer Tool in Linux

Last Updated : 17 Oct, 2024
Comments
Improve
Suggest changes
Like Article
Like
Report

The Pipe Viewer (pv) tool is a command-line application that allows Operators to monitor the progress of information along the pipeline. It provides important information such as the amount of arsenic information transferred and the order in which the previous sentences are modified partly at the end. This tool is handy for methods that do not have built-in progress indicators because it allows administrators to monitor progress visually.

Why do we require it?

Some processes have inbuilt functionality or via parameterized to show the progress of the process, but some processes don’t have this, so we externally pass this from the Pipe Viewer tool and track the progress.

Pipe Viewer (pv): a CLI tool to track the progress of the process. 

Options for the Pipe Viewer tool

  • -s, --size <size>: Assume the total amount of data to be transferred is SIZE. You can provide the size in bytes or using units (b, kb, mb, gb, tb).
  • -N, --name <name>: Prefix the output information with NAME. 

Installation Process: It uses the npm (node package manager) and to install this run the following command. 

$ npm install -g pv
Pipe Viewer A Tool to View Progress of Commands in Linux

Here providing some examples to better understanding and to learn the use of this tool. 

Practical Examples of Using Pipe Viewer (pv)

Example 1: Display a dd copy progression

Here we can see the progression of the copying file using dd command.

$ dd if=code_1.46.1-1592428892_amd64.deb | pv | dd of=gfg/code_2
Pipe Viewer A Tool to View Progress of Commands in Linux

Explanation: here in this screenshot we can see the file which contains by current directory, and we will copy the code_1.46.1-1592428892_amd64.deb file in 'gfg/' directory with the name of 'code'

Example 2: A cat command progression

We can use the pv to visualize the progress of the content seeing using cat command. Here we will see the content of the sample.txt file.

$ cat gfg/sample.txt | pv
Pipe Viewer A Tool to View Progress of Commands in Linux

Example 3: Display the progression while compressing

To better ensuring we can see the live compression( track compression)  using pipe viewer.

$ tar -cf - gfg/* | pv | tar -C . -x
Pipe Viewer A Tool to View Progress of Commands in Linux

Here it above screenshots show all file content in the specified directory

Pipe Viewer A Tool to View Progress of Commands in Linux

Explanation: This command is compressing all files which are in gfg/ directory where all flag like -c, -x, etc has a meaning as specified below.

Flags that used in command 

  • -c: Creates archive
  • -x : Extracts the archive

Example 4: Visualize a live ssh network

Using ssh we can connect the host and can see the live connection speed. Here for simplicity, we will direct transfer data to /dev/null.

$ yes | pv | ssh kira@localhost "cat > /dev/null"
Pipe Viewer A Tool to View Progress of Commands in Linux

Explanation: command can be break in following part to understand

  1. yes → it gives the permission to connect with the server and can save fingerprint
  2. pv → for pipe viewer
  3. ssh kira@localhost  → connecting with localhost server
  4. "cat > /dev/null" → command processing for track progress

Conclusion

The Pipe Viewer (pv) tool is an important utility for Linux Operators who want to handle the progress of long running commands or Information transfers. it provides real-time feedback to help Operators proctor the status of their trading operations Inch Amp Obtuse and Prompt Room. Using pv with common commands like dd cat tar and ssh allows you to visualize the flow of Information between Paths.


Next Article

Similar Reads