在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