自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

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

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

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

工具介紹

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

獲取當(dāng)前解壓的偏移量

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

lsof這個(gè)命令可以做到,這個(gè)命令的字面的意思,是列出打開(kāi)的文件。

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

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

了解文件當(dāng)前已被打開(kāi)的大小后,只需將其除以文件的總大小,就可以計(jì)算出解壓的進(jìn)度。

獲取文件總大小

那么如何知道當(dāng)前文件的總大小呢?

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

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

計(jì)算解壓進(jìn)度

現(xiàn)在我們可以構(gòu)造以下的命令進(jìn)行顯示當(dāng)前解壓進(jìn)度:

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

-vS:  定義一個(gè)變量S并賦值為當(dāng)時(shí)解壓文件總大小。

使用dd命令構(gòu)造一個(gè)大文件,用于測(cè)試,具體命令如下:

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

打開(kāi)一個(gè)終端,解壓當(dāng)前目錄下的test.tar.xz文件,如下圖:

tar -xvf test.tar.xz

打開(kāi)另外一個(gè)終端,執(zhí)行如下命令查看當(dāng)前解壓的進(jìn)度:

封裝命令

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

ptar.sh

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

alias ptar='~/ptar.sh'

重新加載配置文件:

source ~/.bashrc

使用別名運(yùn)行腳本:

ptar test.tar.xz

運(yùn)行結(jié)果如下:

總結(jié)

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

責(zé)任編輯:趙寧寧 來(lái)源: 攻城獅成長(zhǎng)日記
相關(guān)推薦

2011-03-23 16:49:17

LAMP技巧linux命令

2009-09-04 10:27:28

Linux實(shí)用技巧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-07-31 18:33:47

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

2009-01-03 09:34:30

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

2011-04-08 15:40:01

Oracle認(rèn)證

2022-10-11 08:00:47

多線程開(kāi)發(fā)技巧

2022-11-03 10:28:59

PandasSAC機(jī)制

2024-05-17 08:52:43

SQL實(shí)用技巧行列轉(zhuǎn)換

2022-04-04 21:33:48

進(jìn)度條Python

2009-08-04 09:53:21

linux創(chuàng)建文件命令tail命令自解壓

2010-09-14 10:41:24

DIV+CSS排版

2009-12-09 11:21:30

Linux實(shí)用技巧

2019-11-25 10:12:59

Python技巧工具

2010-10-08 15:44:17

vim

2019-12-22 23:10:19

LinuxSSH加密

2009-12-23 17:32:35

Linux構(gòu)建軟路由

2019-10-10 16:31:51

PyCharmPythonWindows
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)