sync
用於強制被改變的內容立刻寫入磁盤
補充說明
sync命令 用於強制被改變的內容立刻寫入磁盤,更新超塊信息。
在Linux/Unix系統中,在文件或數據處理過程中一般先放到內存緩衝區中,等到適當的時候再寫入磁盤,以提高系統的運行效率。sync命令則可用來強制將內存緩衝區中的數據立即寫入磁盤中。用戶通常不需執行sync命令,系統會自動執行update或bdflush操作,將緩衝區的數據寫 入磁盤。只有在update或bdflush無法執行或用戶需要非正常關機時,才需手動執行sync命令。
語法
1sync(選項)
選項
1-d, --data 只同步文件數據,不同步不必要的元數據
2-f, --file-system 同步包含這些文件的文件系統
3--help:顯示幫助;
4--version:顯示版本信息。
buffer與cache
- buffer:爲了解決寫磁盤的效率
- cache:爲了解決讀磁盤的效率
linux系統爲了提高讀寫磁盤的效率,會先將數據放在一塊buffer中。在寫磁盤時並不是立即將數據寫到磁盤中,而是先寫入這塊buffer中了。此時如果重啓系統,就可能造成數據丟失。
sync命令用來flush文件系統buffer,這樣數據纔會真正的寫到磁盤中,並且buffer才能夠釋放出來,flush就是用來清空buffer。sync命令會強制將數據寫入磁盤中,並釋放該數據對應的buffer,所以常常會在寫磁盤後輸入sync命令來將數據真正的寫入磁盤。
如果不去手動的輸入sync命令來真正的去寫磁盤,linux系統也會週期性的去sync數據。
來源:https://github.com/jaywcjlove/linux-command
最後修改於: Wednesday, January 31, 2024
版權申明:
- 未標註來源的內容皆為原創,未經授權請勿轉載(因轉載後排版往往錯亂、內容不可控、無法持續更新等);
- 非營利為目的,演繹本博客任何內容,請以'原文出處'或者'參考鏈接'等方式給出本站相關網頁地址(方便讀者)。