1. 程式人生 > >sync---強制將被改變的內容立刻寫入磁碟

sync---強制將被改變的內容立刻寫入磁碟

sync命令用於強制被改變的內容立刻寫入磁碟,更新超塊資訊。

在Linux/Unix系統中,在檔案或資料處理過程中一般先放到記憶體緩衝區中,等到適當的時候再寫入磁碟,以提高系統的執行效率。sync命令則可用來強制將記憶體緩衝區中的資料立即寫入磁碟中。使用者通常不需執行sync命令,系統會自動執行update或bdflush操作,將緩衝區的資料寫 入磁碟。只有在update或bdflush無法執行或使用者需要非正常關機時,才需手動執行sync命令。

語法

sync(選項)

選項

--help:顯示幫助;
 --version:顯示版本資訊。

buffer與cache

  • buffer:為了解決寫磁碟的效率
  • cache:為了解決讀磁碟的效率

linux系統為了提高讀寫磁碟的效率,會先將資料放在一塊buffer中。在寫磁碟時並不是立即將資料寫到磁碟中,而是先寫入這塊buffer中了。此時如果重啟系統,就可能造成資料丟失。

sync命令用來flush檔案系統buffer,這樣資料才會真正的寫到磁碟中,並且buffer才能夠釋放出來,flush就是用來清空buffer。sync命令會強制將資料寫入磁碟中,並釋放該資料對應的buffer,所以常常會在寫磁碟後輸入sync命令來將資料真正的寫入磁碟。

如果不去手動的輸入sync命令來真正的去寫磁碟,linux系統也會週期性的去sync資料。