看板 Linux 關於我們 聯絡資訊
各位好 今天小弟在CentOS上使用了virt-machine 建立了一個image (有勾選一個選項 是不allocate全部的file size) 這個image size的大小使用du和ls看的並不相同 ls 的大小是在建立image的時候 所設定的,如設定20GB, ls所出現的size會約20GB 但是使用du看的話,真正的size是約6~7GB 不過真正在傳輸檔案的時候,仍然會是20GB的這個size (所以傳送的時間還是很久…) 不知道有沒有什麼辦法可以把真正有使用到的那些資料取出來呢 (雖然ls是20GB的檔案,取出來的是6GB的檔案這樣) 不過小弟也想偷偷問一下 du和ls為什麼顯示出來的size會不相同… 謝謝各位版大 <(_ _)> -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.96.29.140
antontw:du 是 disk usage of each FILE 05/24 19:43
antontw:ls 可以用 --block-size 或 -k 來看 05/24 19:45
bitlife:應該是 image 中的 / 和 swap 兩個partition的hole造成 05/24 19:49
bitlife:google lseek hole 05/24 19:49
bitlife:忘了第1個問題.先gzip傳檔後gunzip,或許可以快一點. 05/24 20:00
antontw:哦~ 原來不是我想的那麼簡單啊~ sorry ~ 05/24 20:09
Samuel77:今天我有試過要壓縮這個file,不過是使用tar 壓了半個多 05/24 22:53
Samuel77:小時 就放棄了 QQ 05/24 22:53
bitlife:你傳檔用什麼協定? LAN or Internet? 05/24 23:19
kdjf:rsync好像有compress 05/24 23:35
Samuel77:傳檔是使用WinSCP 直接連到那台機器上抓下來 是LAN 05/24 23:36
kdjf:ssh就算是0000000000也是要加密的啊~ 05/24 23:54
Samuel77:目前我有找到好像是 sparse file的關係 明天我再來解看看 05/25 00:11
Samuel77:如果有找到原因和解法的話,再向大家回報 <(_ _)> 05/25 00:11
kdjf:是sparse file沒錯啊, 都是0的地方實際上沒存起來 05/25 06:24
bitlife:以下方法我自己沒試過,假設你Windows是用NTFS,可以下載 05/25 08:41
bitlife:(sourceforge的) win32 rsync, 用 -S 參數, 或許有效 05/25 08:42