centos執行cp後檔案大小變少

2021-09-09 06:04:28 字數 642 閱讀 1322

前段時間進行檔案的遷移,執行拷貝命令:cp -r /home/ftpfiles /test/

檔案拷貝完後發現檔案少了乙個g,怎麼辦呢?

首先用tree命名把資料夾結構輸出到檔案中(如果沒有需要先安裝tree,命令:yum -y install tree )

tree /home/ftpfiles >> ftpfilespath.txt;

再輸出test資料夾 tree /test >> testpath.txt;

然後再用差分工具比較有哪一些檔案未拷貝。

找到檔案再去執行拷貝,遺憾的是報failed: too many links錯誤。

仔細分析後原來是test掛載在ext3資料夾上,而/home/ftpfiles掛載在ext4上,有檔案 乙個檔案下檔案數達到了ext3的上限32000個,

為什麼顯示的是31998個呢?這是因為mkdir建立乙個目錄時,目錄下預設就會建立兩個子目錄的,乙個是.目錄(代表當前目錄),另乙個是..目錄(代表上級目錄)。這兩個子目錄是刪除不掉的,「 rm . 」 會得到「rm: cannot remove `.' or `..'」的提示。所以32000-2=31998。

解決sqlite刪除資料後,檔案大小不變問題

說了這麼多,沒進主題,我的主題是給 sqlite 在刪除資料後擦屁股。大家或許發現了,當你在 sqlite 中刪除了大量資料後,資料庫檔案的大小還是那樣,沒有變。就用我的專案來說,3m的資料刪除後,sqlite 的.db 檔案依然是 3m,而我要的結果實際上只有 35k,在壓縮一下也就10幾 k了。...

解決sqlite刪除資料後,檔案大小不變問題

說了這麼多,沒進主題,我的主題是給sqlite在刪除資料後擦屁股。大家或許發現了,當你在sqlite中刪除了大量資料後,資料庫檔案的大小還是那樣,沒有變。就用我的專案來說,3m的資料刪除後,sqlite的.db檔案依然是3m,而我要的結果實際上只有35k,在壓縮一下也就10幾k了。為什麼會出現這個問...

檔案大小換算

1千吉位元組 tb,terabyte 1024吉位元組 2的40次方位元組 1tb 1024gb 1吉位元組 gb,gigabyte 1024兆位元組 2的30次方位元組 1gb 1024mb 1兆位元組 mb,megabyte 1024千位元組 2的20次方位元組 1mb 1024kb 1千位元組...