新聞中心
在Linux中,Vi是一個(gè)功能強(qiáng)大的文本編輯器,被廣泛使用。然而,當(dāng)我們嘗試編輯一個(gè)只讀文件時(shí),Vi會(huì)拒絕保存我們所做的更改,這是因?yàn)閂i保護(hù)只讀文件的完整性,防止用戶(hù)不小心更改文件。但有時(shí)我們可能需要修改這些只讀文件,例如配置文件等,因此需要了解一些方法來(lái)繞過(guò)Vi的限制。在本文中,我們將討論如何在Linux中使用Vi編輯只讀文件,并繞過(guò)Vi的限制來(lái)保存修改。

1.使用root權(quán)限
當(dāng)我們需要編輯一個(gè)只讀文件時(shí),可以使用root權(quán)限打開(kāi)Vi。這樣就可以繞過(guò)Vi的限制并保存修改。要以root權(quán)限打開(kāi)Vi,請(qǐng)打開(kāi)終端,并使用以下命令:
sudo vi filename
這將會(huì)請(qǐng)求您的管理員密碼以獲取root權(quán)限。一旦您提供了密碼,Vi就會(huì)以root權(quán)限打開(kāi),并允許您編輯并保存只讀文件。
2.復(fù)制文件并保存
另一個(gè)簡(jiǎn)單的方法是復(fù)制只讀文件并將其保存為新文件。這個(gè)新文件可以編輯并保存,我們可以將其重命名為原始文件。要執(zhí)行此操作,請(qǐng)打開(kāi)終端并使用以下命令:
cp filename new_filename
其中,filename是只讀文件的名稱(chēng),new_filename是保存新文件的名稱(chēng)。現(xiàn)在,您可以使用Vi編輯并保存新文件。一旦您完成了編輯并保存,您可以將new_filename重命名為原始文件名,這將覆蓋原始文件,并將您所做的更改應(yīng)用到它上面。
3.使用chattr
Linux中的chattr命令可用于更改文件屬性,其中包括只讀屬性。要使用chattr命令更改文件屬性,請(qǐng)打開(kāi)終端并使用以下命令:
sudo chattr -i filename
這會(huì)將文件標(biāo)記為不可變,可以編輯并保存。一旦您完成了編輯并保存,您可以使用以下命令將文件屬性更改回只讀:
sudo chattr +i filename
這將重新標(biāo)記文件為只讀,并保護(hù)其不受修改。請(qǐng)注意,使用chattr命令更改文件屬性需要root權(quán)限。
4.使用sed命令
如果您只需要更改文件中的幾個(gè)特定字符串,那么可以使用sed命令來(lái)實(shí)現(xiàn)。sed命令可用于搜索和替換文件中的字符串。要使用sed命令,請(qǐng)打開(kāi)終端并使用以下命令:
sed -i ‘s/old_string/new_string/g’ filename
其中,old_string是要替換的原始字符串,new_string是要替換為的新字符串,filename是要編輯的只讀文件的名稱(chēng)。此命令將在文件中搜索并替換所有匹配的字符串,并將更改保存回原始文件。
在Linux中,Vi是一個(gè)非常有用的文本編輯器。但是,當(dāng)編輯只讀文件時(shí),Vi會(huì)阻止用戶(hù)保存更改,以保護(hù)文件的完整性。然而,我們可以使用root權(quán)限,復(fù)制文件并保存,chattr命令或sed命令來(lái)繞過(guò)Vi的限制,并成功編輯只讀文件。這些方法非常有用,并且可以根據(jù)您的需求選擇最適合您的方法。
成都網(wǎng)站建設(shè)公司-創(chuàng)新互聯(lián),建站經(jīng)驗(yàn)豐富以策略為先導(dǎo)10多年以來(lái)專(zhuān)注數(shù)字化網(wǎng)站建設(shè),提供企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計(jì),響應(yīng)式網(wǎng)站制作,設(shè)計(jì)師量身打造品牌風(fēng)格,熱線(xiàn):028-86922220如何在linux下編輯和修改文件
如何在linux下編輯和修改文件
vi filename :打開(kāi)或新建文件,并將光標(biāo)置于之一行首
vi n filename :打開(kāi)文件,并將光標(biāo)置于第n行首
vi filename :打開(kāi)文件,并將光標(biāo)置于一老察伏行首
vi /pattern filename:打開(kāi)文件,并將光標(biāo)置于之一個(gè)與pattern匹配的串處侍攜
vi -r filename :在上次正用vi編輯時(shí)發(fā)生系統(tǒng)崩潰,恢復(fù)filename
vi filename….filename :打開(kāi)多個(gè)文件,依次進(jìn)行編輯
移動(dòng)光標(biāo)類(lèi)命令
h :光標(biāo)左移一個(gè)字符
l :光標(biāo)右移一個(gè)字符
space:光標(biāo)右移一個(gè)字符
Backspace:光標(biāo)左移一個(gè)字符
k或Ctrl p:光標(biāo)上移一行
j或Ctrl n :光標(biāo)下移一行
Enter :光標(biāo)下移一行
w或W :光標(biāo)右移一個(gè)字至字首
b或B :光標(biāo)左移一個(gè)字至字首
e或E :光標(biāo)右移一個(gè)字至字尾
) :光標(biāo)移至句尾
( :光標(biāo)移至句首
}:光標(biāo)移至段落開(kāi)頭
{:光標(biāo)移至段落結(jié)尾
nG:光標(biāo)移至第n行首
n :光標(biāo)下移n行
n-:光標(biāo)上移n行
n$:光標(biāo)移至第n行尾
H :光標(biāo)移至屏幕頂行
M :光標(biāo)移至沒(méi)衡屏幕中間行
L :光標(biāo)移至屏幕行
0:(注意是數(shù)字零)光標(biāo)移至當(dāng)前行首
$:光標(biāo)移至當(dāng)前行尾
vi filename :打開(kāi)或新建文件,并將光標(biāo)置于之一行首
vi n filename :打開(kāi)文件,并將光標(biāo)置于第n行首
vi filename :打開(kāi)文件,并將光標(biāo)置于一行首
vi /pattern filename:打開(kāi)文件,并將光標(biāo)置于之一個(gè)與pattern匹配的串處
vi -r filename :在上次正用vi編輯時(shí)發(fā)生系統(tǒng)崩潰,恢復(fù)filename
vi filename….filename :打開(kāi)多個(gè)文件,依次進(jìn)行編輯
移動(dòng)光標(biāo)類(lèi)命令
h :光標(biāo)左移一個(gè)字符
l :光標(biāo)右移一個(gè)字符
space:光標(biāo)右移一個(gè)字符
Backspace:光標(biāo)左移一個(gè)字符
k或Ctrl p:光標(biāo)上移一行
j或Ctrl n :光標(biāo)下移一行
Enter :光標(biāo)下移一行
w或W :光標(biāo)右移一個(gè)字至字首
b或B :光標(biāo)左移一個(gè)字至字首
e或E :光標(biāo)右移一個(gè)字至字尾
) :光標(biāo)移至句尾
( :光標(biāo)移至句首
}:光標(biāo)移至段落開(kāi)頭
{:光標(biāo)移至段落結(jié)尾
nG:光標(biāo)移至第n行首
n :光標(biāo)下移n行
n-:光標(biāo)上移n行
n$:光標(biāo)移至第n行尾
H :光標(biāo)移至屏幕頂行
M :光標(biāo)移至屏幕中間行
L :光標(biāo)移至屏幕行
0:(注意是數(shù)字零)光標(biāo)移至當(dāng)前行首
$:光標(biāo)移至當(dāng)前行尾
屏幕翻滾類(lèi)命令
Ctrl u:向文件首翻半屏
Ctrl d:向文件尾翻半屏
Ctrl f:向文件尾翻一屏
Ctrl+b;向文件首翻一屏
nz:將第n行滾至屏幕頂部,不指定n時(shí)將當(dāng)前行滾至屏幕頂部.
插入文本類(lèi)命令
i :在光標(biāo)前
I :在當(dāng)前行首
a:光標(biāo)后
A:在當(dāng)前行尾
o:在余握當(dāng)前行之下新開(kāi)一行
O:在當(dāng)前行之上新開(kāi)一行
r:替換當(dāng)前字符
R:替換當(dāng)前字符及其后的字符,直至按ESC鍵
s:從當(dāng)前光標(biāo)位置處開(kāi)始,以輸入的文本替代指定數(shù)目的字符
保存命令
按ESC鍵 跳到命令模式,然后:
:w 保存文件但不退出vi
:w file 將修改另外保存到file中,不退出vi
:w! 強(qiáng)制保存,不推出vi
:wq 保存文件并退出vi
:wq! 強(qiáng)制保存文件,并退出vi
q: 不保存豎槐慶文件,退出vi
:q! 不保存文件,強(qiáng)制退出vi
:e! 放棄所有修改,從上次保存文件開(kāi)始再編輯
之后,回車(chē),ok!
進(jìn)入vi的命令
vi filename :打開(kāi)或新建文件,并將光標(biāo)置于之一行首
vi n filename :打開(kāi)文件,并將光標(biāo)置于第n行首
vi filename :打開(kāi)文件,并將光標(biāo)置于一行首
vi /pattern filename:打開(kāi)文件,并將光標(biāo)置于之一個(gè)與pattern匹配的串處
vi -r filename :在上次正用vi編輯時(shí)發(fā)生系統(tǒng)崩潰,恢復(fù)filename
vi filename….filename :打開(kāi)多個(gè)文件,依次進(jìn)行編輯
www.2cto.com
移動(dòng)光標(biāo)類(lèi)命令
h :光標(biāo)左移一個(gè)字符
l :光標(biāo)右移一個(gè)字符
space:光標(biāo)右移一個(gè)字符
Backspace:光標(biāo)左移一個(gè)字符
k或Ctrl p:光標(biāo)上移一行
j或Ctrl n :光標(biāo)下移一行
Enter :光標(biāo)下移一行
w或W :光標(biāo)右移一個(gè)字至字首
b或B :光標(biāo)左移一個(gè)字至字首
e或E :光標(biāo)右移一個(gè)字至字尾
) :光標(biāo)移至句尾
( :光標(biāo)移至句首
}:光標(biāo)移至段落開(kāi)頭
{:光標(biāo)移至段落結(jié)尾
nG:光標(biāo)移至第n行首
n :光標(biāo)下移n行
n-:光標(biāo)上移n行
n$:光標(biāo)移至第n行尾
H :光標(biāo)移至屏幕頂行
M :光明芹標(biāo)移至屏幕中間行
L :光標(biāo)移至屏幕行
0:(注意是數(shù)字零)光標(biāo)移至當(dāng)前行首
$:光標(biāo)移至當(dāng)前行尾
www.2cto.com
屏幕翻滾類(lèi)命令
Ctrl u:向文件首翻半屏
Ctrl d:向文件尾翻半屏
Ctrl f:向文件尾翻一屏
Ctrl+b;向文件首翻一屏
nz:將第n行滾至屏幕頂部,不指定n時(shí)將當(dāng)前行滾至屏幕頂部.
插入文本類(lèi)命令
i :在光標(biāo)前
I :在當(dāng)前行首
a:光標(biāo)后
A:在當(dāng)前行尾
o:在當(dāng)前行之下新開(kāi)一行
O:在當(dāng)前行之上新開(kāi)一行
r:替換當(dāng)前字符
R:替換當(dāng)前字符及其后的字符,直至按ESC鍵
s:從當(dāng)前光標(biāo)位置處開(kāi)始,以輸入的文本替代指定數(shù)目的字符
保存命令
按ESC鍵 跳到命令模式,然后:
www.2cto.com
:w 保存文件但不退出vi
:w file 將修改另外保存到file中,不退出vi
:w! 強(qiáng)制保存,不推出vi
:wq 保存文件并退出vi
:wq! 強(qiáng)制保存文件,并退出vi
q: 不保存文件,退出vi
:q! 不保存文件,強(qiáng)制退出vi
:e! 放棄所有修改,從上次保存文件開(kāi)始再編輯
linux vi修改只讀文件的介紹就聊到這里吧,感謝你花時(shí)間閱讀本站內(nèi)容,更多關(guān)于linux vi修改只讀文件,解決Linux中Vi修改只讀文件的方法,如何在linux下編輯和修改文件的信息別忘了在本站進(jìn)行查找喔。
創(chuàng)新互聯(lián)【028-86922220】值得信賴(lài)的成都網(wǎng)站建設(shè)公司。多年持續(xù)為眾多企業(yè)提供成都網(wǎng)站建設(shè),成都品牌建站設(shè)計(jì),成都高端網(wǎng)站制作開(kāi)發(fā),SEO優(yōu)化排名推廣服務(wù),全網(wǎng)營(yíng)銷(xiāo)讓企業(yè)網(wǎng)站產(chǎn)生價(jià)值。
分享文章:解決Linux中Vi修改只讀文件的方法(linuxvi修改只讀文件)
路徑分享:http://www.dlmjj.cn/article/djshdci.html


咨詢(xún)
建站咨詢(xún)
