首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

linux vi修改只读

在Linux系统中,vi(或vimvi的增强版本)是一个常用的文本编辑器。当你尝试在vi中修改一个只读文件时,通常会遇到权限问题。以下是关于这个问题的基础概念、原因及解决方法:

基础概念

  • 只读文件:文件的权限设置为不允许写入,通常是因为文件所有者或系统设置了这样的权限。
  • 文件权限:Linux系统中的文件权限分为读(r)、写(w)和执行(x)三种,分别对应文件所有者、文件所属组和其他用户的权限。

原因

当你尝试在vi中编辑一个只读文件时,vi会检测到文件的写权限并阻止你进行修改,以防止意外更改重要文件。

解决方法

  1. 使用超级用户权限: 如果你有权限,可以使用sudo命令来获取超级用户权限,然后编辑文件。
  2. 使用超级用户权限: 如果你有权限,可以使用sudo命令来获取超级用户权限,然后编辑文件。
  3. 这将以超级用户身份打开vi,允许你编辑只读文件。
  4. 更改文件权限: 你可以临时更改文件的权限,使其可写,然后再编辑。
  5. 更改文件权限: 你可以临时更改文件的权限,使其可写,然后再编辑。
  6. 编辑完成后,记得将权限改回只读:
  7. 编辑完成后,记得将权限改回只读:
  8. 使用vi的命令模式: 在vi中,你可以使用命令模式来更改文件的权限。
    • 打开文件:vi filename
    • 进入命令模式:按Esc
    • 更改权限并保存::w !sudo tee % 这个命令会尝试以超级用户权限写入文件。

注意事项

  • 使用超级用户权限时要非常小心,因为这可能会导致系统文件被意外修改。
  • 更改文件权限时要确保你知道自己在做什么,以免影响系统的正常运行。

通过上述方法,你应该能够在vi中成功编辑只读文件。如果遇到其他问题,可以查看vi的帮助文档或搜索具体的错误信息来找到解决方案。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • linux怎么修改命令行怎么退出,linux vi保存退出命令(如何退出vi)

    有很多方法: 退出Vi 当编辑完文件,准备退出Vi返回到shell时,可以使用以下几种方法之一。...在命令模式中,连按两次大写字母Z,若当前编辑的文件曾被修改过,则Vi保存该文件后退出,返回到shell;若当前编辑的文件没被修改过,则Vi直接退出, 返回到shell。...若在用此命令退出Vi时,编辑文件没有被保存,则Vi在显示窗口的最末行显示如下信息: No write since last change (use !...to overrides) 提示用户该文件被修改后没有保存,然后Vi并不退出,继续等待用户命令。若用户就是不想保存被修改后的文件而要强行退出Vi时,可使用命令 :q!...Vi放弃所作修改而直接退到shell下。 在末行模式下,输入命令 :wq Vi将先保存文件,然后退出Vi返回到shell。 在末行模式下,输入命令 :x 该命令的功能同命令模式下的ZZ命令功能相同。

    20.4K40

    合法修改只读数据

    1.开场白 环境: 处理器架构:arm64 内核源码:linux-5.11 ubuntu版本:20.04.1 代码阅读工具:vim+ctags+cscope 对于Linux程序员来说,我们都知道一个事实...合法修改只读数据 上面几节我们详细分析了,修改只读数据为何发生段错误的过程和原因,那么下面我们就想合法修改只读数据怎么办,我们直观上知道需要修改只读数据的页表属性为可写,但是需要在改写页表之前需要保证页表已经存在...那么我们下面的代码通过两种方式来修改只读数据的页表,一种是我们通过访问一个字符设备来修改页表(字符设备驱动程序所作的工作就是遍历各级页表,然后将相关的叶子表项修改为可写),一种是通过mprotect来实现...修改完之后,我们再来写访问。 我们看到现在只读数据已经变为:Hi, The read-only data has been modified! 我们修改只读数据成功!...大家也可以打开不同的宏开关,体验下:1.不修改页表属性为可写,直接写访问。2. 修改可写属性之后,再次修改为只读属性,然后写访问。3.使用mprotect方式来修改页表属性。

    1.2K20

    linux vi命令 退出不保存,linux vi保存退出命令(如何退出vi)

    Vi放弃所作修改而直接退到shell下,则Vi在显示窗口的状态行给出提示信息: File exists (use ! to override) 此时, 在末行模式下,。...在末行模式下,若在用此命令退出Vi时,返回到shell;若当前编辑的文件没被修改过,输入命令 :wq Vi将先保存文件,输入命令 :w Vi保存当前编辑文件,输入命令 :x 该命令的功能同命令模式下的ZZ...命令功能相同,连按两次大写字母Z,编辑文件没有被保存,然后Vi并不退出, 在命令模式中,则Vi保存该文件后退出。...newfile 否则可选择另外的文件名来保存当前文件,若当前编辑的文件曾被修改过,但并不退出,若用户就是不想保存被修改后的文件而要强行退出Vi时, 在末行模式下,则Vi直接退出, 返回到shell,若newfile...to overrides) 提示用户该文件被修改后没有保存,可以再给编辑文件起一个新的文件名,输入命令 :q 系统退出Vi返回到shell,继续等待用户命令。

    27.3K20

    Linux——vi命令详解

    vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令。...由于对Unix及Linux系统的任何版本,vi编辑器是完全相同的,因此您可以在其他任何介绍vi的地方进一步了解它。...Vi也是Linux中最基本的文本编辑器,学会它后,您将在Linux的世界里畅行无阻。...所以在使用修改命令后,vi进入到文本输入模式下,当输入完新的内容后,一定要再按回到命令模式,否则Vi会一直认为是在文本输入模式下,此时输入的任何内容都被认为是修改的新内容。...Vi提供了三种修改命令,分别是c、C和cc。它们修改文本的范围是由光标位置和光标移动命令二者限定的。下面分别介绍这三种修改命令。

    16.1K22

    linux之vi,vim命令

    vim 是对 vi 的扩展,文中的很多操作是 vi 通用的 vi 是区分大小写的命令的,也就是说 g与G 是不同的命令 在不同模式下,快捷键是不一样的 模式分 一般模式 编辑模式 指令模式 一般模式用于文件内部操作...O 在当前行上新开一行 r 替换当前字符 R 替换当前行及后面的字符,直到按 esc 为止 s 从当前行开始,以输入的文本替代指定数目的字符 S 删除指定数目的行,并以输入的文本替代 ncw,nCW 修改指定数目...n 的字符 nCC 修改指定数目 n 的行 删除命令 按键 效果 ndw,nDW 删除光标开始及其后 n-1 个字符 dw 删除这个单词后面的内容 dd 删除光标当前行 dG 删除光标后的全部文字...通过它们可以和其他程序进行数据交换 若寄存器列表里无 * 或 + 寄存器,则可能是由于没有安装 vim 的图形界面所致 sudo apt-get install vim-gnome 设置 vim 永远显示行号 修改...vim 的配置文件加入 set nu vi ~/.vimrc 然后输入 set nu 当然也可以输入其他配置类似 set nonu syntax on vimrc 常用配置 设置行号 set nu

    21.7K20

    linux的vi命令详解_centos7 vi命令

    Linux命令 – vi命令   vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器.由于 对Unix及Linux系统的任何版本,vi编辑器是完全相同的,Vi是...Linux中最基本的文本编辑器。...若文件属性为『只读』时,强制写入该档案。不过,到底能不能写入, 还是跟你对该档案的档案权限有关啊! :q 离开 vi (常用) :q! 若曾修改过档案,又不想储存,使用 ! 为强制离开不储存档案。...如果修改过,保存当前文件,然后退出!效果等同于(保存并退出) ZQ 不保存,强制退出。效果等同于 :q!。...6.常用范例: 例一:进入一般模式 命令:vi log1.txt   vi 后面一定要加文件名,不管该文件存在与否。   按下 ESC 按钮回到一般模式。

    10.5K10

    Linux-vi和vim

    文章目录 vi和vim 模式 一般模式 编辑模式 命令模式 快捷键 vi和vim ---- Vi是unix/linux操作系统中最经典的文本编辑器,只能是编辑字符,不能对字体、段落进行排版;它既可以新建文件...,也可以编辑文件;它没有菜单,只有命令,且命令繁多,vi适用于文本编辑。...Vim是从 Vi 发展出来的一个文本编辑器,可以看做是 Vi 的增强版本,可以主动的以字体颜色辨别语法的正确性,方便程序设计代码补全、编译及错误跳转等方便编程的功能特别丰富,vim适用于coding。...若文件属性为『只读』时,强制写入该档案 :q 退出 vi :q! 若曾修改过档案,又不想储存,使用 ! 为强制离开不储存档案。 :wq 保存并退出,若为 :wq!...command 暂时离开 vi 到指令行模式下执行 command 的显示结果 :!

    7.9K20

    Linux vi最少必备掌握命令

    有,并且你一定会收藏因为这里你能学到AI永远也教不到的知识一、这才是你要掌握的知识思维别嫌啰嗦,因为你必须要具备有这个思维有没有想过,百度上的各大文章、博客关于vi的知识点,它是从哪里来的?...难不成他们都是vi底层开发人员?不,不,不,绝对不可能,他们也只是vi编辑器的使用人员,既然他们也是使用人员,那他们是如何知道怎么使用的呢?...、初次认识vivi是一个文本编辑器,在Linux系统很常见,它有三种常见模式,流程如下,这三种模式也是非常非常常用的,但你不需要死记硬背(当你忘记了可以翻出这个笔记、即使笔记没了,你有上面的思维也可以从官方文档里查到...命令行模式在正常模式下按:键即可进入命令行模式退出vi(当没有内容修改时可以正常退出)q不保存强制退出viq!...如果你需要这个份笔记的pdf文件及vi官方文档pdf,可以找放牛娃学编程

    8620

    Linux 学习VI编辑器

    vi + file 打开文件到最后一行 vi +n file vi +/hehe file 到第一次hehe的地方 vi -R file 只读 vi -r xx 恢复到奔溃的 image.png...:强制退出,不保存 vi(vim)可以说是linux中用得最多的工具了,不管你配置服务也好,写脚本也好,总会用到它。...Esc健 │ ├───┼───────────┤ │cw  │修改下一个词      │ ├───┼───────────┤ │cnw  │修改接下来的n个词   │ └───┴───────...│不保存文件,直接退出      │ ├───────────┼───────────────┤ │:q          │退出vi            │ VI常用技巧VI命令可以说是Unix/Linux...---- vi file ---- :w /tmp/1 保存所做的所有修改,也可以将其中的某一部分修改保存到临时文件,例如仅仅把第20~59行之间的内容存盘成文件/tmp/1,我们可以键入如下命令。

    7.6K30
    领券