[轉]如何整理Linux磁碟片段,竟與Windows的方式大不同 返回作業系統首頁

來源:互聯網
上載者:User

標籤:

Linux 系統永遠不需要整理磁碟片段的神話相信很多人都聽說過。由於 Linux 採用了優秀的記錄檔系統(ext2、ext3、ext4, btrfs等),在絕大多數情況下確實是不需要進行磁碟磁碟重組的。

什麼是磁碟片段檔案?

當檔案系統在磁碟的扇區上讀寫檔案時會形成不連續的整體,這樣就會產生磁碟片段檔案。這種情況在 FAT 和 FAT 32 檔案系統來說尤為突出,NTFS 檔案系統對該現象進行了一些緩解。那為什麼這種情況幾乎不發生在 Linux 作業系統 (extX) 中呢?

在 FAT 和 FAT32 檔案系統中,檔案會在彼此相鄰的磁碟右側進行寫入,並沒有為檔案增長或更新留出空間。

NTFS 為相鄰檔案留出了部分間隔,讓檔案有一定的增長和更新空間。但這個間隔是有限的,隨時使用時間增長一樣會產生磁碟片段。

Linux 的記錄檔系統採用完全不同的儲存方式,直接將每個檔案分散在磁碟上進行儲存,為每個檔案之間留下了自由的空間,因此很少產生磁碟片段檔案。

此外,如何磁碟片段開始產生,大多數 Linux 檔案系統將自動嘗試將檔案和塊進行重組,以使得儲存變得連續起來。

整理Linux磁碟片段檔案

除非你使用了一個空間較小的磁碟或頻繁讀寫的空間,磁碟片段檔案在 Linux 系統中很少發生。一些可能會導致 Linux 磁碟片段產生的情況如下:

  • 在有限的磁碟空間下編輯大型視頻檔案或 RAW 圖片
  • 在較老舊的裝置上使用空間很小的磁碟
  • 磁碟空間使用率超過85%
  • 儲存過多體積很小的檔案

當然,最好的解決辦法就是換一塊空間較大的硬碟,或者進行手動整理。

如何檢查是否有磁碟片段

我們可以使用 fsck 命令對磁碟進行檢測。切記,在檢測時一定要 unmount 被檢測分區,不然有可能損壞資料。因此,建議大家從 Live CD 來執行 fsck 命令,並在之前對重要檔案做好備份。

一切準備就緒之後,我們執行如下命令:

  1. fsck -fn [/path/to/your/partition] 

其中[/path/to/your/partition]為我們要檢測的路徑,檢測時會有大量的資訊輸出,最終將會報告給我們一個磁碟片段的相關資訊:

注意:如果磁碟片段在 20% 以上,我們就需要進行整理。20% 以內的話,可以暫時不進行。

簡單方式整理Linux檔案系統

與其說是整理磁碟其實不如說是刪了重來,Linux 的操作方式與 Windows 下的磁碟整理完全不同。由於 Linux 是基於檔案的系統,我們只需將磁碟中的檔案全部複製到另一個地方,將其格式化之後再將備份好的檔案複製回來即可。複製回來的同時,Liunx 會自動將檔案進行連續分布排列。

1. 使用如下命令備份源磁碟檔案

  1. cp -afv [/path/to/來源硬碟]/* [/path/to/備份檔案夾] 

注意:很多朋友會認為大批量複製檔案用 dd 檔案比較好,但 dd 的操作層面更低,會複製很多垃圾資訊。而我們的目的是要整理磁碟,所以使用 cp 命令。

2. 現在我們使用如下命令刪除源檔案

  1. sudo rm -rf [/path/to/來源硬碟]/* 

可選項:當然,你也可以直接通過以下命令直接為來源硬碟填充 0 以達到清空的目的。

  1. sudo dd if=/dev/zero of=[/path/to/來源硬碟]/temp-zero.txt 

3. 你可以使用 pv 命令來監控 dd 命令的執行過程:

  1. sudo apt-get install pvsudo pv -tpreb | of=of=[/path/to/來源硬碟]/temp-zero.txt 

4. 執行完成後,我們刪除這個臨時檔案

  1. sudo rm [/path/to/來源硬碟]/temp-zero.txt 

5. 磁碟清零(可靠)後我們將備份好的檔案複製回來即可

  1. cp -afv [/path/to/備份檔案夾]/* [/path/to/來源硬碟] 

使用e4defrag

如果你覺得以上步驟太麻煩了,還可以使用 e2fsprogs 命令

1. 安裝e2fsprogs

  1. sudo apt-get install e2fsprogs 

2. 執行整理

  1. sudo e4defrag / 

注意:以上命令雖然方便,但不是所有系統上都可以執行成功。

[轉]如何整理Linux磁碟片段,竟與Windows的方式大不同 返回作業系統首頁

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.