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

為L(zhǎng)inux的cp和mv命令添加進(jìn)度條

系統(tǒng) Linux
如果經(jīng)常復(fù)制或移動(dòng)許多大文件和目錄,cp和mv操作中添加進(jìn)度條功能是非常有用的功能。本文中我們介紹了一個(gè)Advanced Copy補(bǔ)丁用來實(shí)現(xiàn)該功能,可以讓我隨時(shí)了解操作的情況,而不是在哪里傻等。

cp和mv可能是大家日常中使用最多的Linux命令之一。但是有一個(gè)突出的問題是這兩個(gè)命令都不會(huì)有任何提示信息,這在操作大文件時(shí)候只能干等??赡艽蠹覍?duì)此已經(jīng)習(xí)以為常,但是其實(shí)上也有解決解決方法,本文我們就介紹一個(gè)Gnu Coreutils(cp和mv的源代碼包)的補(bǔ)丁Advanced Copy,用于給其增加進(jìn)度條的功能。

Advanced Copy是cp和mv 程序mod。它通過給cp和mv添加了一個(gè)進(jìn)度條,在進(jìn)行文件(夾)復(fù)制或移動(dòng)操作時(shí)候提供進(jìn)度條,數(shù)據(jù)傳輸速率,估計(jì)的剩余時(shí)間以及當(dāng)前正在操作文件名等信息。最后,還會(huì)提供一個(gè)操作的信息摘要顯示操作多少個(gè)文件以及操作花費(fèi)多長(zhǎng)時(shí)間。

安裝

下載源碼

cp和mv命令是GNU coreutils的一部分。為了給其添加插件,需要下載器源碼并編譯安裝。

我們可以從GNU的軟件ftp下載 coreutils或者通過源碼Git倉(cāng)庫(kù)cgit,或者鏡像站 gitweb 和GitHub下載,最新版本為8.32。

  1. curl -O  ftp.gnu.org/gnu/coreutils/coreutils-8.32.tar.xz 
為L(zhǎng)inux的cp和mv命令添加進(jìn)度條

使用以下命令解壓源碼包:

  1. tar xvJf coreutils-8.32.tar.xz 

這樣所有源碼都會(huì)解壓到coreutils-8.32文件夾中。

  1. cd coreutils-8.32/ 

給其增加Advanced Copy修補(bǔ)程序(通過github倉(cāng)庫(kù)下載github:jarun/advcpmv):

添加補(bǔ)丁

對(duì)下載的補(bǔ)丁包,使用下面命令來打補(bǔ)?。?/p>

  1. patch -p1 -i ../advcpmv/advcpmv-0.8-8.32.patch 

編譯

運(yùn)行編譯程序,對(duì)打補(bǔ)丁的源碼目錄編譯

  1. ./configure 
  2. make 

編譯完成后在該編譯目錄coreutils-8.32/src的文件夾中會(huì)生成應(yīng)用程序cp和mv。

使用

增加系統(tǒng)路徑

只需將它們復(fù)制到系統(tǒng)的$PATH中,如下所示:

  1. sudo cp src/cp /usr/local/bin/cp 
  2. sudo cp src/mv /usr/local/bin/mv 

這樣cp和mv命令就附帶了進(jìn)度條的功能。在復(fù)制或移動(dòng)文件和目錄時(shí)需要進(jìn)度條,只需添加-g參數(shù)或者--progress-bar標(biāo)志:

  1. cp -g archlinux.iso mydownload/ 
  2. cp --progress-bar archlinux.iso mydownload/ 

就可以顯示進(jìn)度條:

  1. Copying at 25.7 MiB/s (about 0h 0m 1s remaining) 
  2.  
  3. archlinux.iso 568.1 MiB / 646.0 MiB 
  4.  
  5. [=========================================> ] 87.9 % 

在復(fù)制過程結(jié)束時(shí),可以看到復(fù)制了多少文件,復(fù)制文件花費(fèi)了多長(zhǎng)時(shí)間以及每秒的數(shù)據(jù)傳輸速率。

  1. 1 files (305.0 MiB) copied in 1.8 seconds (172.2 MiB/s) 

要遞歸復(fù)制目錄及其子目錄,只需添加-Rflag:

  1. cp -gR directory1/ directory2/ 

同樣,要使用mv命令移動(dòng)文件,請(qǐng)運(yùn)行:

  1. mv -g archlinux.iso mydownload/ 

或者,使用--progress-bar標(biāo)志:

  1. mv --progress-bar archlinux.iso mydownload/ 

要使用mv命令移動(dòng)目錄,同樣使用-g參數(shù):

  1. mv -g directory1/ directory2/ 

添加別名

還可以創(chuàng)建別名以保存一些按鍵。編輯~/.bashrc文件:

  1. vim ~/.bashrc 

末尾添加以下行:

  1. alias cp='/usr/local/bin/cp -gR' 
  2. alias mv='/usr/local/bin/mv -g' 

按Shift+zz保存并關(guān)閉文件。

現(xiàn)在運(yùn)行source命令以使更改立即生效:

  1. source ~/.bashrc 

這樣在cp或mv默認(rèn)就附帶-g(或--progress-bar)標(biāo)志的命令,而無需手動(dòng)增加該標(biāo)志。

要使用默認(rèn)不帶精度條的程序,可以通過/usr/bin/cp或 /usr/bin/mv使用即可。

總結(jié)

如果經(jīng)常復(fù)制或移動(dòng)許多大文件和目錄,cp和mv操作中添加進(jìn)度條功能是非常有用的功能。本文中我們介紹了一個(gè)Advanced Copy補(bǔ)丁用來實(shí)現(xiàn)該功能,可以讓我隨時(shí)了解操作的情況,而不是在哪里傻等。

 

責(zé)任編輯:趙寧寧 來源: 今日頭條
相關(guān)推薦

2020-11-27 10:33:11

Linuxcpmv命令

2022-07-20 09:10:47

Linux

2021-06-15 08:02:27

Python進(jìn)度條Tqdm

2015-07-31 11:19:43

數(shù)字進(jìn)度條源碼

2012-01-17 13:58:17

JavaSwing

2022-04-04 21:33:48

進(jìn)度條Python

2011-07-05 15:16:00

QT 進(jìn)度條

2024-08-06 14:29:37

2020-10-26 10:33:06

Vue進(jìn)度條前端

2015-01-12 12:13:03

Android進(jìn)度條ProgressDia

2013-03-12 10:35:06

CSS 3

2015-08-03 11:39:20

擬物化進(jìn)度條

2024-12-02 09:37:51

2015-01-12 09:30:54

Android進(jìn)度條ProgressDia

2024-07-25 08:55:47

進(jìn)度條水缸進(jìn)度動(dòng)畫效果

2009-06-06 18:54:02

JSP編程進(jìn)度條

2023-12-11 17:15:05

應(yīng)用開發(fā)波紋進(jìn)度條ArkUI

2024-06-13 08:15:00

2022-03-07 15:40:51

Linux軟件代碼

2012-07-31 09:53:33

HTML5進(jìn)度條
點(diǎn)贊
收藏

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