在Linux上使用vi命令修改一個檔案內容的時候,發現無法儲存,每次寫完使用“:q!”命令可以正常退出但是使用":wq!"命令儲存檔案並退出時出現一下資訊提示:
E212: Can't open file for writing Press ENTER or type command to continue
出現這個錯誤的原因可能有兩個:
1.當前使用者的許可權不足
2.此檔案可能正被其他程式或使用者使用。
一般錯誤原因都是前者,解決方案是在使用vi命令開啟檔案時,前面加上sudo來臨時提供管理員許可權,比如使用命令“sudo vi hosts”開啟編輯檔案。
我們很多時候都可以在命令前面加上sudo來解決許可權不足問題。
:q! 強制退出
:wq! 強制退出並儲存
sudo chmod 777 xxx 給xxx檔案賦許可權
755 代表使用者對該檔案擁有讀,寫,執行的許可權,同組其他人員擁有執行和讀的許可權,沒有寫的許可權,其他使用者的許可權和同組人員許可權一樣。。。
777 代表,user,group ,others ,都有讀寫和可執行許可權。。
vi +/aaa xxx 編輯xxx檔案,並將游標置於aaa處
ls -al
sudo chown userId xxx.pl
sudo chgrp 'domain users' xxx.pl
sudo chmod 777 xxx.pl
chown [-cfhvR] [--help] [--version] user[:group] file...
user : 新的檔案擁有者的使用者 ID group : 新的檔案擁有者的使用者群體(group) -c : 若該檔案擁有者確實已經更改,才顯示其更改動作 -f : 若該檔案擁有者無法被更改也不要顯示錯誤訊息 -h : 只對於連結(link)進行變更,而非該 link 真正指向的檔案 -v : 顯示擁有者變更的詳細資料 -R : 對目前目錄下的所有檔案與子目錄進行相同的擁有者變更(即以遞迴的方式逐個變更) --help : 顯示輔助說明 --version : 顯示版本
chgrp命令:變更檔案或目錄所屬群組
chmod :檔案/目錄許可權設定命令
sudo cp xx.html ../../var/manage copy命令
sudo cp genImeiRe.pl ../../dev/util/
ls -al
sudo chown xp003330 retireMutipleImeis.pl
sudo chgrp 'domain users' retireMutipleImeis.pl
sudo chmod 755 retireMutipleImeis.pl
sudo cp imeiMultipleRetire.html ../../dev/uti
sudo cp ../../dev/manage/imeiMultipleRetire.html
sudo cp imeiMultipleRetire.html ../../prod/manage