藍森林首頁 | 返回主頁 | 本站地圖 | 站內搜索 | 聯繫信箱 |
 您目前的位置:首頁 > 自由軟件 > 技術交流 > 系統管理


    

藍森林 http://www.lslnet.com 2006年8月18日 15:18


如何在Linux中顯示copy文件的速度和剩餘時間?

在Linux中用什麼命令顯示copy文件的速度和剩餘時間?
我man 了cp 好像沒有這樣的功能

如何在Linux中顯示copy文件的速度和剩餘時間?

windows 用多了吧?

如何在Linux中顯示copy文件的速度和剩餘時間?

很有必要嗎?

比如,cp a b
那就
watch -n 1 ls -l b
吧,可以實時的看到b多大了,就知道靠了多了呀,呵呵!

如何在Linux中顯示copy文件的速度和剩餘時間?

-->

文本模式下能這樣麼??X下開終端應該還可以。

如何在Linux中顯示copy文件的速度和剩餘時間?

-->

那兒都行呀 :em08:
你是不是沒有用過 watch 明令呀 :D

如何在Linux中顯示copy文件的速度和剩餘時間?

呵呵,不是windowns用多了,而是有這樣的需求。想通過這種方式測試磁盤的性能,文件在不同分區的傳輸速度應該可以通過這種方式取得,對性能優化有幫助

如何在Linux中顯示copy文件的速度和剩餘時間?

如何在Linux中顯示copy文件的速度和剩餘時間?

-->

感謝回復。
time mv ./jdk-1_5_0_03-linux-i586.bin /backup/tools/

real    0m7.361s
user    0m0.010s
sys     0m0.390s

如何在Linux中顯示copy文件的速度和剩餘時間?

-->

介個夠用了吧.

如何在Linux中顯示copy文件的速度和剩餘時間?

-->

對,已經很明白,很感謝啊。

從網上找了一些資料,希望也對其他人有些幫助吧。

================================
名稱: time
使用權限: 所有使用者

使用方式: time [options] COMMAND [arguments]

說明: time 指令的用途,在於量測特定指令執行時所需消耗的時間及系統資源等資訊。例如 CPU 時間、記憶體、輸入輸出等等。需要特別注意的是,部分資訊在 Linux 上顯示不出來。這是因為在 Linux 上部分資源的分配函式與 time 指令所預設的方式並不相同,以致於 time 指令無法取得這些資料。

把計

-o or --output=FILE
設定結果輸出檔。這個選項會將 time 的輸出寫入 所指定的檔案中。如果檔案已經存在,系統將覆寫其內容。
-a or --append
配合 -o 使用,會將結果寫到檔案的末端,而不會覆蓋掉原來的內容。
-f FORMAT or --format=FORMAT
以 FORMAT 字串設定顯示方式。當這個選項沒有被設定的時候,會用系統預設的格式。不過你可以用環境變數 time 來設定這個格式,如此一來就不必每次登入系統都要設定一次。
一般設定上,你可以用
\t
表示跳欄,或者是用
\n
表示換行。每一項資料要用 % 做為前導。如果要在字串中使用百分比符號,就用 。(學過 C 語言的人大概會覺得很熟悉)
time 指令可以顯示的資源有四大項,分別是:

Time resources
Memory resources
IO resources
Command info

詳細的內容如下:


Time Resources
E 執行指令所花費的時間,格式是:[hour]:minute:second。請注意這個數字並不代表實際的 CPU 時間。
e 執行指令所花費的時間,單位是秒。請注意這個數字並不代表實際的 CPU 時間。
S 指令執行時在核心模式(kernel mode)所花費的時間,單位是秒。
U 指令執行時在使用者模式(user mode)所花費的時間,單位是秒。
P 執行指令時 CPU 的佔用比例。其實這個數字就是核心模式加上使用者模式的 CPU 時間除以總時間。


Memory Resources
M 執行時所佔用的實體記憶體的最大值。單位是 KB
t 執行時所佔用的實體記憶體的平均值,單位是 KB
K 執行程序所佔用的記憶體總量(stack+data+text)的平均大小,單位是 KB
D 執行程序的自有資料區(unshared data area)的平均大小,單位是 KB
p 執行程序的自有堆疊(unshared stack)的平均大小,單位是 KB
X 執行程序間共享內容(shared text)的平均值,單位是 KB
Z 系統記憶體頁的大小,單位是 byte。對同一個系統來說這是個常數


IO Resources
F 此程序的主要記憶體頁錯誤發生次數。所謂的主要記憶體頁錯誤是指某一記憶體頁已經置換到置換檔(swap file)中,而且已經分配給其他程序。此時該頁的內容必須從置換檔裡再讀出來。
R 此程序的次要記憶體頁錯誤發生次數。所謂的次要記憶體頁錯誤是指某一記憶體頁雖然已經置換到置換檔中,但尚未分配給其他程序。此時該頁的內容並未被破壞,不必從置換檔裡讀出來
W 此程序被交換到置換檔的次數
c 此程序被強迫中斷(像是分配到的 CPU 時間耗盡)的次數
w 此程序自願中斷(像是在等待某一個 I/O 執行完畢,像是磁碟讀取等等)的次數
I 此程序所輸入的檔案數
O 此程序所輸出的檔案數
r 此程序所收到的 Socket Message
s 此程序所送出的 Socket Message
k 此程序所收到的信號 ( Signal )數量


Command Info
C 執行時的參數以及指令名稱
x 指令的結束代碼 ( Exit Status )




-p or --portability
這個選項會自動把顯示格式設定成為:
real %e
user %U
sys %S
這麼做的目的是為了與 POSIX 規格相容。
-v or --verbose
這個選項會把所有程式中用到的資源通通列出來,不但如一般英文語句,還有說明。對不想花時間去熟習格式設定或是剛剛開始接觸這個指令的人相當有用。

範例:
利用下面的指令
time -v ps -aux

我們可以獲得執行 ps -aux 的結果和所花費的系統資源。如下面所列的資料:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.4 1096 472 ? S Apr19 0:04 init
root 2 0.0 0.0 0 0 ? SW Apr19 0:00 [kflushd]
root 3 0.0 0.0 0 0 ? SW Apr19 0:00 [kpiod]
......
root 24269 0.0 1.0 2692 996 pts/3 R 12:16 0:00 ps -aux

Command being timed: "ps -aux"
User time (seconds): 0.05
System time (seconds): 0.06
Percent of CPU this job got: 68%
Elapsed (wall clock) time (h:mm:ss or m:ss): 0:00.16
Average shared text size (kbytes): 0
Average unshared data size (kbytes): 0
Average stack size (kbytes): 0
Average total size (kbytes): 0
Maximum resident set size (kbytes): 0
Average resident set size (kbytes): 0
Major (requiring I/O) page faults: 238
Minor (reclaiming a frame) page faults: 46
Voluntary context switches: 0
Involuntary context switches: 0
Swaps: 0
File system inputs: 0
File system outputs: 0
Socket messages sent: 0
Socket messages received: 0
Signals delivered: 0
Page size (bytes): 4096
Exit status: 0


===========
我測試過,有些對Linux不合適,不是很清楚上面的描述是對那種版本的?

如何在Linux中顯示copy文件的速度和剩餘時間?

謝謝了,賜教了……



Copyright © 1999-2000 LSLNET.COM. All rights reserved. 藍森林網站 版權所有。 E-mail : webmaster@lslnet.com