偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

實用技巧,用lsof命令監(jiān)控tar文件解壓進度,簡單有效!

系統(tǒng) Linux
雖然tar?命令本身不提供直接的解壓進度顯示,但我們可以巧妙地使用lsof?命令監(jiān)控tar?進程打開的文件,從而間接判斷解壓進度。

在Linux系統(tǒng)中,tar命令是一個非常常用的工具,用于創(chuàng)建和解壓縮歸檔文件。盡管tar命令本身沒有提供直接查看解壓進度的功能,但我們可以借助lsof(List Open Files)命令來間接監(jiān)控解壓進度。本文將詳細介紹如何使用lsof命令來查看tar包的解壓進度。

工具介紹

  • lsof: List Open Files是一個強大的工具,用于列出系統(tǒng)中所有打開的文件及其相關信息。
  • stat:命令用于顯示文件或文件系統(tǒng)的狀態(tài)信息,包括大小、權限、修改時間等。

獲取當前解壓的偏移量

tar 包已經(jīng)在解壓中如何知道解壓進度?

lsof這個命令可以做到,這個命令的字面的意思,是列出打開的文件。

root@ubuntu:~# lsof -o0 -oFo test.tar.xz
p1113
o0t771962880
  • o: 設置偏移量從0開始
  • oFo: 格式化輸出為易于解析的形式

關注結果的最后一列,其中字母o表示文件的偏移量,0表示偏移量從零開始,t表示偏移量類型為十進制。數(shù)值 771962880表示文件已經(jīng)被打開并處理的數(shù)據(jù)偏移量,單位為字節(jié)。

了解文件當前已被打開的大小后,只需將其除以文件的總大小,就可以計算出解壓的進度。

獲取文件總大小

那么如何知道當前文件的總大小呢?

可以使用stat命令打印文件的總大小,并可以字節(jié)為單位顯示。

root@ubuntu:~# stat -c %s test.tar.xz
4194314240

計算解壓進度

現(xiàn)在我們可以構造以下的命令進行顯示當前解壓進度:

lsof -o0 -oFo test.tar.xz  \
| awk -Ft -vS=$(stat -c %s test.tar.xz) \
'/^o/{printf( "%d%%\n", 100*$2/S)}'

-vS:  定義一個變量S并賦值為當時解壓文件總大小。

使用dd命令構造一個大文件,用于測試,具體命令如下:

dd if=/dev/urandom of=test bs=4M count=1000  #構造一個4G的大文件
tar -cvf test.tar.xz test  # 把當前目錄下的test文件壓縮成test.tar.xz

打開一個終端,解壓當前目錄下的test.tar.xz文件,如下圖:

tar -xvf test.tar.xz

打開另外一個終端,執(zhí)行如下命令查看當前解壓的進度:

封裝命令

為了簡化操作,我們可以將這些步驟集成到一個腳本中。保存以下腳本為 ptar.sh,具體的內容如下:

ptar.sh

使用別名的方式,創(chuàng)建一個別名,方便后續(xù)對該腳本的調用。編輯 ~/.bashrc  ,添加以下行:

alias ptar='~/ptar.sh'

重新加載配置文件:

source ~/.bashrc

使用別名運行腳本:

ptar test.tar.xz

運行結果如下:

總結

雖然tar命令本身不提供直接的解壓進度顯示,但我們可以巧妙地使用lsof命令監(jiān)控tar進程打開的文件,從而間接判斷解壓進度。這種方法特別適用于處理大型tar包或包含大量文件的歸檔文件,在系統(tǒng)運維和日常管理中非常實用。通過掌握lsof命令的使用技巧,可以大大提高我們的工作效率和系統(tǒng)監(jiān)控能力。

責任編輯:趙寧寧 來源: 攻城獅成長日記
相關推薦

2011-03-23 16:49:17

LAMP技巧linux命令

2009-09-04 10:27:28

Linux實用技巧linux操作系統(tǒng)linux

2022-03-23 09:18:10

Git技巧Linux

2009-12-21 15:50:39

2017-04-10 18:45:47

2009-01-03 09:34:30

ASP.NET.NET性能優(yōu)化

2011-04-08 15:40:01

Oracle認證

2022-10-11 08:00:47

多線程開發(fā)技巧

2022-11-03 10:28:59

PandasSAC機制

2024-05-17 08:52:43

SQL實用技巧行列轉換

2009-07-31 18:33:47

linux vi命令linux vi命令詳快捷鍵

2022-04-04 21:33:48

進度條Python

2010-10-08 15:44:17

vim

2019-12-22 23:10:19

LinuxSSH加密

2019-11-25 10:12:59

Python技巧工具

2009-12-09 11:21:30

Linux實用技巧

2010-09-14 10:41:24

DIV+CSS排版

2009-12-23 17:32:35

Linux構建軟路由

2019-10-10 16:31:51

PyCharmPythonWindows

2024-03-14 09:19:49

點贊
收藏

51CTO技術棧公眾號