1. 程式人生 > >使用vim儲存沒有編輯許可權的檔案

使用vim儲存沒有編輯許可權的檔案

直接貼出解決方案,輸入命令

			w !sudo tee % >dev/null

然後會提示檔案以經被改變,要求再次提載入,同意就可以。關掉vim,再用合適的許可權的開啟,繼續工作。

下面貼出這樣做的原因,分兩步理解:
1.明確知識點,vim在, 利用命令

							w !<cmd>

可以直接執行linux相關命令,然後把當前緩衝區內容做為標準輸入傳參。則此種方法是執行命令,並且以當前的緩衝區中的內容做為標準輸入。

				sudo tee % >/dev/null

2.搞清tee命令的作用,將前一個命名的標準輸出(即輸出到螢幕)作為標準輸入,然後再輸出到標準輸出,同時儲存為對應檔案。舉例說明

		ls | tee > out.txt

ls 輸出當前目錄下的所有檔案,做為標輸出,利用管道符號傳入tee,tee將ls輸出的內容做為標準輸入,再次輸出並備份在out.txt。
那麼我們再分析上面的的命令 “tee % > /dev/null”,首先將vim中的內容輸出到%中,再把螢幕回顯內容扔入黑洞dev/null中,完成。其中%代表當前的編輯的檔案。最後因為許可權不足,加sudo。完#