【问题标题】:Why can't I save a VI file after entering data? [closed]为什么输入数据后无法保存VI文件? [关闭]
【发布时间】:2014-06-16 05:29:33
【问题描述】:

我是 linux 新手,当我输入“vi FILE1”时,我能够打开 VI 编辑器。我添加了一些数据,我想保存文件并尝试了 :w 但它给了我一个错误。

"file1" E212: 无法打开文件进行写入 按 ENTER 或输入命令继续

为什么我无法保存它?

我在其中创建文件的目录具有以下权限:

drwxr-xr-x 4 pentaho pentaho 4096 Mar 12  2013 master

我正在使用 root 用户和密码登录。

mount 命令的输出:

/dev/sda1 on / type ext4 (rw)

    proc on /proc type proc (rw)
    sysfs on /sys type sysfs (rw)
    devpts on /dev/pts type devpts (rw,gid=5,mode=620)
    tmpfs on /dev/shm type tmpfs (rw)
    /dev/sdb1 on /etl type ext4 (rw)
    /dev/sdc1 on /oracle type ext4 (rw)
    /dev/sdd1 on /export type ext4 (rw)
    none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
    sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)

【问题讨论】:

  • 检查您的文件权限。
  • 我已经更新了这个问题。请帮助我。我正在创建具有上述权限的主目录中的文件。
  • 有几种可能性。您位于只读挂载文件系统上的目录中。该文件属于 root 以外的用户,并且位于 gvfs 目录中,该文件位于 nfs 挂载的文件系统上,并且 root_squash 已打开,该文件没有设置写权限...列表去不断...
  • 如何检查所有这些。请帮我解决这个问题。
  • 文件系统已满? df 怎么说?

标签: linux file vi


【解决方案1】:

如果您尝试保存的目录不存在,您也会收到此错误。即使是 root 用户也会收到此错误。

【讨论】:

  • 不保存到临时文件怎么解决这个问题?
  • 例如,如果您当前的工作目录在您切换到该目录后被删除并重新创建,则您需要先cd .. ; cd myWorkingDir,然后才能再次使用vi newFile
【解决方案2】:

当你用你的普通用户登录linux时,你是用你创建的用户登录的,但你不是超级用户(你没有所有的权限)。要执行具有 root 权限的程序(因此具有所有权限),您必须添加命令 sudo。所以你应该运行:$> sudo vi FILE1。这将要求您输入密码,然后您可以正常使用 vi

【讨论】:

  • "我正在使用 root 用户和密码登录。"
  • 你可以使用$>touch FILE1 来检查你是否有创建文件的权限吗?
  • 我可以在主目录以外的其他目录中创建文件
  • 试试$>sudo chattr -i DIRECTORY_PATH,因为目录可能设置为不可变
  • 触摸测试触摸:无法触摸`test':只读文件系统
【解决方案3】:

如果您在 vi 中遇到问题,请尝试手动创建目录并编辑文件。可能是您无权创建目录/文件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-09
    • 2019-08-04
    • 1970-01-01
    • 2022-11-16
    • 1970-01-01
    相关资源
    最近更新 更多