<span id="vexk9"><table id="vexk9"></table></span>

      pv

      顯示當前在命令行執行的命令的進度信息,管道查看器

      補充說明

      pv命令 Pipe Viewer 的簡稱,由Andrew Wood 開發。意思是通過管道顯示數據處理進度的信息。這些信息包括已經耗費的時間,完成的百分比(通過進度條顯示),當前的速度,全部傳輸的數據,以及估計剩余的時間。

      下載安裝

      # Debian 系的操作系統,如 Ubuntu
      sudo apt-get install pv
      
      # RedHat系的則這樣:
      yum install pv
      

      語法

      pv(選項)(參數)
      pv [OPTION] [FILE]...
      

      選項

      -p, --progress           顯示進度條
      -t, --timer              顯示已用時間
      -e, --eta                顯示預計到達時間 (完成)
      -I, --fineta             顯示絕對估計到達時間
                               (完成)
      -r, --rate               顯示數據傳輸速率計數器
      -a, --average-rate       顯示數據傳輸平均速率計數器
      -b, --bytes              顯示傳輸的字節數
      -T, --buffer-percent     顯示正在使用的傳輸緩沖區百分比
      -A, --last-written NUM   顯示上次寫入的字節數
      -F, --format FORMAT      將輸出格式設置為FORMAT
      -n, --numeric            輸出百分比
      -q, --quiet              不輸出任何信息
      
      -W, --wait               在傳輸第一個字節之前不顯示任何內容
      -D, --delay-start SEC    在SEC秒過去之前不顯示任何內容
      -s, --size SIZE          將估算的數據大小設置為SIZE字節
      -l, --line-mode          計算行數而不是字節數 
      -0, --null               行以零結尾
      -i, --interval SEC       每SEC秒更新一次
      -w, --width WIDTH        假設終端的寬度為WIDTH個字符 
      -H, --height HEIGHT      假設終端高度為HEIGHT行
      -N, --name NAME          在可視信息前面加上名稱
      -f, --force              將標準錯誤輸出到終端
      -c, --cursor             使用光標定位轉義序列
      
      -L, --rate-limit RATE    將傳輸限制為每秒RATE字節
      -B, --buffer-size BYTES  使用BYTES的緩沖區大小
      -C, --no-splice          從不使用splice(),始終使用讀/寫
      -E, --skip-errors        跳過輸入中的讀取錯誤
      -S, --stop-at-size       傳輸--size字節后停止
      -R, --remote PID         更新過程PID的設置
      
      -P, --pidfile FILE       將進程ID保存在FILE中 
      
      -d, --watchfd PID[:FD]   監視進程PID,打開的文件FD
      
      -h, --help               顯示幫助
      -V, --version            顯示版本信息
      

      實例

      我們(在 linux 上使用命令行的用戶)的大多數使用場景都會用到的命令是從一個 USB 驅動器拷貝電影文件到你的電腦。如果你使用 cp 來完成上面的任務,你會什么情況都不清楚,直到整個復制過程結束或者出錯。

      # 復制文件會有進度
      linux [master●] % pv ~/Downloads/CentOS-7-x86_64-Minimal-1511.iso > ~/Desktop/CentOS-7-x86_64-Minimal-1511.iso
      # 下面輸入信息
      552MiB 0:00:02 [ 212MiB/s] [==================>           ] 91% ETA 0:00:00
      
      # -L 可以讓你修改 pv 命令的傳輸速率。
      # 使用 -L 選項來限制傳輸速率為2MB/s。
      pv -L 2m /media/himanshu/1AC2-A8E3/fNf.mkv > ./Desktop/fnf.mkv 
      
      # 字符一個個勻速在命令行中顯示出來
      echo "Tecmint[dot]com is a community of Linux Nerds and Geeks" | pv -qL 10
      
      # 壓縮文件展示進度信息
      pv /media/himanshu/1AC2-A8E3/fnf.mkv | gzip > ./Desktop/fnf.log.gz 
      
      
      # 用 dd 命令將 iso 寫入磁盤,pv來實現進度條的顯示
      sudo pv -cN source < /Users/kacperwang/Downloads/CentOS-7-x86_64-Everything-1511.iso | sudo dd of=/dev/disk2 bs=4m
      ## 顯示下面進度
      source:  5.2GiB 5:11:41 [ 503KiB/s] [=====================>       ] 71% ETA 2:01:56
      

      在linux上, 如果執行的一些命令或者一些腳本需要花費很長時間, 但又不能拿出更多的精力反復盯著有沒有執行結束, 這時候可以用pv監聽PID, 任務完成后通過網絡通知到微信或者釘釘, 這樣就可以騰出來精力做其他的事, 是不是很棒

      $ pv -d $(ps -ef | grep -v grep | grep "<腳本或命令的關鍵字>" | awk '{print $2}') && <這里執行發通知腳本或者命令,腳本或命令需要提前調試好>
      

      注意

      1. 選項"-d, --watchfd PID[:FD]", 是在1.6.6版本中才有的參數,如果使用需要pv升級到大于等于1.6.6的版本
      2. CentOS7的Yum倉庫里pv最新的是1.4.6版本,1.6.6版本是發布在CentOS8里面的,如果需要,可以將CentOS8里的pv下載到本地電腦上或者本地的Yum私服里, 這個是下載地址, 可以根據自己不同的架構下載, 1.6.6的安裝: rpm -ivh pv-1.6.6-7.el8.x86_64.rpm -U
      主站蜘蛛池模板: 久久精品国产91久久综合麻豆自制| 亚洲国产亚洲综合在线尤物| 天天影视色香欲综合免费| 久久婷婷五月综合色国产香蕉| 天天爽天天狠久久久综合麻豆| 99久久国产综合精品女图图等你| 亚洲a无码综合a国产av中文| 国产综合色产在线精品| 亚洲AV综合色区无码一区爱AV| 亚洲人成人伊人成综合网无码| 伊人久久大香线蕉综合影| 色综合视频一区中文字幕| 久久综合久久久久| 自拍三级综合影视| 国产成人综合亚洲| 亚洲综合无码一区二区痴汉| 国产成人精品综合久久久久| 成人综合久久综合| 天天爱天天做色综合| 开心五月激情综合婷婷| 中文自拍日本综合| 中文字幕久久综合| 丁香五月亚洲综合深深爱| 久久综合久久久久88| 色青青草原桃花久久综合| 色噜噜成人综合网站| 综合无码一区二区三区四区五区| 激情伊人五月天久久综合| 99久久综合狠狠综合久久aⅴ | 国产综合精品久久亚洲| 色噜噜狠狠色综合免费视频| 亚洲AV综合色区无码一二三区| 亚洲婷婷综合色高清在线| 久久综合丝袜长腿丝袜| 色综合久久中文综合网| 亚洲欧美综合精品成人导航| 色婷婷99综合久久久精品| 国产精品亚洲综合一区在线观看| 精品综合久久久久久88小说| 亚洲综合日韩久久成人AV| 久久久久青草线蕉综合超碰|