首页 >>  正文

linux如何替换文件

来源:baiyundou.net   日期:2024-09-24

作者:yasden

本文以Ubuntu这个Linux发行版来说明,CenOS或者其他的Linux发行版与此类似,设置方法大同小异,不一定完全和ubuntu一样,特此说明。

名词解释

Ubuntu发行版:Ubuntu发行版是Linux操作系统的一个发行版。就像国内的麒麟操作系统等等也是以Linux内核为基础制作的操作系统。

vi编辑器(或者vim编辑器):使用Linux操作系统的一个必须使用的编辑器,必学的,必须掌握的软件,修改linux系统文件必须使用,还有修改编辑其他的文件都要使用。vi的使用属于Linux的必须学会的操作。

Ubuntu系统的vi编辑器左下角的insert图标不一定会显示出来,给人感觉就是Ubuntu的vi编辑器和一般的Linux系统的vi编辑器略有差异

vi编辑器使用方法是:打开vi之后,按键盘上的esc键进入“一般命令模式”,按i字母键进入“编辑模式”(在编辑模式下可以通过插入和替换来编辑文件的内容),编辑完成后按esc键进入“一般命令模式”,然后键盘输入:wq!保存退出。

特别注意:要移动光标的话,必须在“一般命令模式”下才能用“上下左右方向键”来移动光标到你想要的位置。在“编辑模式”下,使用“上下左右方向键”会让你非常困扰。

   ctrl+alt+T进入终端(这是Ubuntu打开“终端”的快捷键,其他的Linux发行版不一定是这个快捷键)

打开终端后,会出现类似下图的画面。

输入下面的命令来打开vi编辑器:

vi 文件名

例如下图是用vi编辑器来修改/etc/fstab这个文件:

vi /etc/fstab

   点击esc键,然后再点击i字母键,发现左下角没有insert图标(见下图),说明ubuntu的vi默认是不显示insert这个图标的(见下图)。insert这个图标,可以让你清楚的知道你现在处于vi的哪个模式下,所以我还是希望vi能显示这个insert图标。

让vi左下角显示insert图标的方法

输入下面的命令,编辑/etc/vim/vimrc.tiny文件:

vi /etc/vim/vimrc.tiny

上面的命令回车之后,会出现下图的界面,在下图的界面,先是按esc键进入“一般命令模式”,之后点击方向键,将光标移动到 “set  compatible” 的 “compatible” 的c字母上面:

然后点击键盘上的i字母键,进入“编辑模式”,输入no两个字母,将 “set  compatible” 修改为 “set  nocompatible”(见下图),之后点击esc键,进入“一般命令模式”,在“一般命令模式”下,点击:wq!回车,注意是冒号、wq两个字母再加一个感叹号,然后回车。这样就保存修改并退出vi编辑器了。

假如你进行了上述操作,提示你无法保存这个已经修改好的 /etc/vim/vimrc.tiny文件的话,代表你的权限不足。这时候输入下面的命令,再按照我刚刚上面的方法重新修改一次(sudo代表是使用root权限进行修改):

sudo vi /etc/vim/vimrc.tiny

怎么查看你是否已经修改成功了呢?保存退出之后,输入下面的命令来查看:

cat /etc/vim/vimrc.tiny  

这时候看,set compatible已经被修改成set nocompatible了(见下图),说明你的sudo vi /etc/vim/vimrc.tiny命令已经成功修改了/etc/vim/vimrc.tiny文件:

这样,你在下次使用vi编辑器的时候,左下角熟悉的insert图标又重新出现了:

总结

vi或者vim编辑器是Linux必须掌握的一个编辑器,如果不会使用vi,会让你玩Linux的过程中遇到非常多的麻烦。使用vi编辑器的方法,其实需要注意的就三个按键六个步骤:(1)ESC按键进入“一般命令模式”,(2)“一般命令模式”下,用“上下左右”方向键将光标移动到需要修改或者编辑的地方,(3)在一般命令模式下,按字母i键进入“编辑模式”,(4)在“编辑模式”下修改文件,(5)文件编辑修改完毕后,按ESC按键进入“一般命令模式”,(6)在“一般命令模式”下,点击:wq!保存退出(注意是冒号、wq两个字母加感叹号),如果不想保存的话,就点击:q!退出(注意是冒号、q字母加感叹号)。

如果发现“vi 文件名A”提示你无法修改“文件名A”这个文件的话,就用“sudo vi 文件名A”来修改。

vi 文件名A

sudo vi 文件名A

全文完,谢谢观看。

","force_purephv":"0","gnid":"9727768e4e76267f8","img_data":[{"flag":2,"img":[{"desc":"","height":"800","title":"","url":"https://p0.ssl.img.360kuai.com/t01863fd1bfcc16892d.jpg","width":"600"},{"desc":"","height":"462","title":"","url":"https://p0.ssl.img.360kuai.com/t01a0166cdc8de20690.jpg","width":"600"},{"desc":"","height":"426","title":"","url":"https://p0.ssl.img.360kuai.com/t01e12e50e0aa4fa7c5.jpg","width":"600"},{"desc":"","height":"426","title":"","url":"https://p0.ssl.img.360kuai.com/t0137dc0c3071ca4129.jpg","width":"600"},{"desc":"","height":"386","title":"","url":"https://p0.ssl.img.360kuai.com/t012694f2896167a263.jpg","width":"600"},{"desc":"","height":"518","title":"","url":"https://p0.ssl.img.360kuai.com/t01e056bda3aba4b47e.jpg","width":"600"},{"desc":"","height":"493","title":"","url":"https://p0.ssl.img.360kuai.com/t013472ce2bf923d375.jpg","width":"600"},{"desc":"","height":"232","title":"","url":"https://p0.ssl.img.360kuai.com/t01114432a003422dd5.jpg","width":"600"},{"desc":"","height":"488","title":"","url":"https://p0.ssl.img.360kuai.com/t017823e7dac711e06d.jpg","width":"600"},{"desc":"","height":"519","title":"","url":"https://p0.ssl.img.360kuai.com/t0197ac2e88c3638341.jpg","width":"600"},{"desc":"","height":"450","title":"","url":"https://p0.ssl.img.360kuai.com/t01f0fc5bffe5e9edc3.jpg","width":"600"}]}],"original":0,"pat":"art_src_1,fts0,sts0","powerby":"cache","pub_time":1678006796000,"pure":"","rawurl":"http://zm.news.so.com/e29e819d7fe72435b63a9ee18e33119e","redirect":0,"rptid":"4c5a2dfba645cd77","rss_ext":[],"s":"t","src":"什么值得买","tag":[{"clk":"ktechnology_1:linux","k":"linux","u":""}],"title":"玩NAS先学Linux(4):vi编辑器使用教程,Ubuntu的vi左下角的insert图标不显示怎么办?

汪柴邓1082linux下有个文件中有几个相同的字符串,我想要用命令替换其中的一个有什么方法,坐等答案 -
姜霞功17640732969 ______ 引用了stablish 写的一个脚本 : 单纯的依靠mv命令做不到,需要脚本来实现 编写脚本 rename 如下 #---------------------------------------------- #!/bin/sh ls -l $1 | grep ^[^d] | awk ''| while read line; do do=`echo $line | grep $2` if [ ! "$do" = "" ]; then ...

汪柴邓1082linux上如何使用sed命令替换xml中内容 -
姜霞功17640732969 ______ [root@11~]# echo "aaa<test>12" aaa<test>12 [root@11 ~]# echo "aaa<test>12" | sed 's/<test>12/0/g' aaa0这样就可以了

汪柴邓1082linux 怎么用一个命令替换掉一个文件中的某一行 请示范 别叫我看教程 -
姜霞功17640732969 ______ 很久以前我本本也有这样的问题. 我本本是12.1 1280*800分辨率的 root运行终端: vim /etc/grub.conf 把 kernel /vmlinuz-2.6.12-1.1447_FC4 ro root=LABEL=/ rhgb改为 kernel /vmlinuz-2.6.12-1.1447_FC4 ro root=LABEL=/ rhgb vga=789 就可以了! 如果您想开机进入的字符界面,那就要改/etc/inittab id:5:initdefault: 为 id:3:initdefault: 就是这样

汪柴邓1082怎么在linux下执行一个文件 -
姜霞功17640732969 ______ Linux下,如果文件是可执行文件,或者是脚本文件,只要有可执行权限就可以直接执行,操作命令如下:./filename以上filename,请使用需要执行的文件名进行替换.

汪柴邓1082LINUX网众5.6破解的文件怎么替换??
姜霞功17640732969 ______ 替换掉专业版下下调 NXPBOOT.EXE 文件 和 nxpbootmgr.exe 文件如果运行不了就现运行命令chmod +x nxpbootmgr.exe chmod +x nxpboot.exe

汪柴邓1082linux里怎么把文件的第一列与第三列以分隔符“ - ”合并,并替换到第二列中去?
姜霞功17640732969 ______ 文件 /tmp/file,1.2G文件,大约3分钟完成替换.cp /tmp/file /tmp/file.bak 先备份sed -i "s/ . /_/g" /tmp/file 将文件中的“ . ”替换为“_”

汪柴邓1082linux中如何用sed 将文件file1里的a - b行的内容替换到文件file2的c - d行? -
姜霞功17640732969 ______ 我是这么实现的,把这个问题分成了以下四步来执行 sed -n '1,c-1p' file2 > newfile sed -n 'a-bp' >> newfile sed -n 'd+1,$p' >> newfile mv newfile file2 也就是将file1和file2中的内容分段地输出到一个新的文件之中,当操作完成之后再将这个新的文件重命名到file2

汪柴邓1082linux下如何批量查找或替换文件中的内容 -
姜霞功17640732969 ______ #!/bin/bash FILE=`ls 你文件所在目录` for i in $FILE do sed -i "s/bb/cc/g" 你文件目录/$i done

汪柴邓1082请问在linux下怎么批处理替换文件的某个共同的字,该用什么命令啊?
姜霞功17640732969 ______ 把当前路径下所有文件(包括子目录下的所有文件)中的old字符串替换为new sed -i 's/old/new/g' $(find ./ -type f)

汪柴邓1082linux中如何用rename命令重命名一个文件 -
姜霞功17640732969 ______ rename的参数 rename命令的格式:rename [ -v ] [ -n ] [ -f ] perlexpr [ files ] 第一个参数:被替换掉的字符串 第二个参数:替换成的字符串 第三个参数:匹配要替换的文件模式 例子:rename main1.c main.c main1.c 将main1.c重命名为main.c ...

(编辑:自媒体)
关于我们 | 客户服务 | 服务条款 | 联系我们 | 免责声明 | 网站地图 @ 白云都 2024