掃二維碼與項目經(jīng)理溝通
我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
在Linux中,Vi是一個功能強大的文本編輯器,被廣泛使用。然而,當(dāng)我們嘗試編輯一個只讀文件時,Vi會拒絕保存我們所做的更改,這是因為Vi保護只讀文件的完整性,防止用戶不小心更改文件。但有時我們可能需要修改這些只讀文件,例如配置文件等,因此需要了解一些方法來繞過Vi的限制。在本文中,我們將討論如何在Linux中使用Vi編輯只讀文件,并繞過Vi的限制來保存修改。

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

我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流