日前,筆者遇到一個奇怪且讓人蛋疼的問題,借用別人的話"大家在linux上編輯文件的時候,明明是使用的root登錄的,可是這種至高無上的權限在按下i的時候被那串紅色錯誤褻瀆了W10: Warning: Changing a readonly file".
筆者也是百思不得解,困擾兩天后,終於靈光一閃,奇跡的解決了這個問題,那就是:
修改完成后使用:wq! 強制保存退出!!!!
還有誰?嗯?還有誰?
尼瑪,被自己蠢哭了好嗎?T_T
另外推薦倆相關命令:
1. lsattr [-adlRvV][文件或目錄...]
參數:
- -a 顯示所有文件和目錄,包括以"."為名稱開頭字符的額外內建,現行目錄"."與上層目錄".."。
- -d 顯示,目錄名稱,而非其內容。
- -l 此參數目前沒有任何作用。
- -R 遞歸處理,將指定目錄下的所有文件及子目錄一並處理。
- -v 顯示文件或目錄版本。
- -V 顯示版本信息。
2. chattr命令
語法:#chattr [+-=][ASacdistu] [檔案或目錄名稱]
參數說明:
+-= :分別為 [+ 增加] [- 減少] [= 設定] 屬性的意思
A :當設定了 A 這個屬性時,這個檔案(或目錄)的存取時間
atime (access) 將不可被修改, 可避免例如手提式計算機容易有磁盤 I/O 錯誤的情況發生!
S :這個功能有點類似 sync 的功能!就是會將數據同步寫入磁盤當中!可以有效的避免數據流失!
a :當設定 a 之后,這個檔案將只能增加數據,而不能刪除,只有 root 才能設定這個屬性。
c :這個屬性設定之后,將會自動的將此檔案『壓縮』,在讀取的時候將會自動解壓縮出來,但是在儲存的時候,將會先進行壓縮之后再儲存(看來對於大檔案似乎蠻有用的!)
d :當 dump (備份)程序被執行的時候,設定 d 屬性將可使該檔案(或目錄)具有 dump 功效!
i :這個 i 可就很厲害了!他可以讓一個檔案『不能被刪除、改名、設定連結也無法寫入或新增數據!對於系統安全性有相當大的幫助!
j :當使用 ext3 這個檔案系統格式時,設定 j 屬性將會使檔案在寫入時先記錄在 journal 中! 但是當 filesystem 設定參數為 data=journalled 時,由於已經設定了日志了,所以這個屬性無效!
s :當檔案設定了 s 參數時,他將會被完全的移除出這個硬盤空間。
u :與 s 相反的,當使用 u 來設定檔案時,則數據內容其實還存在磁盤中,可以使用來 undeletion.