溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

樹(shù)莓派:文本編輯器與文件

發(fā)布時(shí)間:2020-07-01 10:03:14 來(lái)源:網(wǎng)絡(luò) 閱讀:459 作者:余凱力 欄目:網(wǎng)絡(luò)安全

GNU nano是Unix系統(tǒng)下一款常用的文本編輯器,以簡(jiǎn)單易用著稱。與之相比,功能更強(qiáng)大的Vi和Emacs編輯器,學(xué)習(xí)曲線比nano陡峭很多。由于nano對(duì)于一般的文本編輯來(lái)說(shuō)已經(jīng)足夠,所以我想簡(jiǎn)單介紹一下,以便于更好入門(mén)。

 

基本使用

在Shell中輸入下面命令,就可以啟動(dòng)nano:

nano test.txt

命令nano后面跟著想要修改的文件名。如果當(dāng)前文件夾下存在名為test.txt的文件時(shí),改命令將打開(kāi)這個(gè)文件。否則,nano會(huì)創(chuàng)建一個(gè)新文件。隨后,Shell會(huì)進(jìn)入到nano的編輯界面。nano的編輯方式和常用的記事本工具類似,都是“所見(jiàn)即所得”。用上下左右鍵,就可以把光標(biāo)移動(dòng)到想要編輯的位置,然后輸入或刪除即可。

 

完成之后,你可以按Ctrl+O鍵來(lái)保存文件。nano詢問(wèn)你是否保存緩存中的修改:

Save modified buffer (ANSWERING "No" WILL DESTROY CHANGES) ? 

輸入Y并,改動(dòng)將存入文件。此時(shí)nano會(huì)讓你再次確認(rèn)存入文件的文件名:

File Name to Write: test.txt  

回車確認(rèn)后,修訂將存入到test.txt文件。

 

隨后,按Ctrl+X可以退出nano,重新回到Shell的命令行。

 

功能鍵

nano中有很多功能鍵。比如上面保持文件用的Ctrl+O,就是一個(gè)功能鍵。nano界面的最下方會(huì)給出功能鍵的提示:

樹(shù)莓派:文本編輯器與文件

在提示中,^表示Ctrl鍵,M表示Alt鍵。因此,^G表示的就是同時(shí)暗下Ctrl鍵和G鍵。

 

下面是一些常用的功能鍵: 

樹(shù)莓派:文本編輯器與文件

M-\  把光標(biāo)移動(dòng)到文本開(kāi)始
M-/  把光標(biāo)移動(dòng)到文本結(jié)尾

M-A  開(kāi)始選擇文本塊

^K   剪切所在行或選定的文本塊
M-6  復(fù)制所在行或選定的文本塊
^U   粘貼
^G   幫助

樹(shù)莓派:文本編輯器與文件

 

 

語(yǔ)法高亮

nano可以支持語(yǔ)法高亮,從而更好的服務(wù)于編程。為了使用語(yǔ)法高亮,首先要安裝語(yǔ)法高亮文件:

git clone https://github.com/nanorc/nanorc.gitcd nanorc/make install

 

安裝完成后,可以看到~/.nano/syntax下多了很多語(yǔ)法高亮文件:

樹(shù)莓派:文本編輯器與文件

ALL.nanorc          go.nanorc           markdown.nanorc     ruby.nanorc
awk.nanorc          html.nanorc         mpdconf.nanorc      sed.nanorc
c.nanorc            ini.nanorc          nanorc.nanorc       shell.nanorc
cmake.nanorc        inputrc.nanorc      nginx.nanorc        sql.nanorc
coffeescript.nanorc java.nanorc         patch.nanorc        systemd.nanorc
colortest.nanorc    javascript.nanorc   peg.nanorc          tex.nanorc
csharp.nanorc       json.nanorc         php.nanorc          vala.nanorc
css.nanorc          keymap.nanorc       pkg-config.nanorc   vi.nanorc
cython.nanorc       kickstart.nanorc    pkgbuild.nanorc     xml.nanorc
default.nanorc      ledger.nanorc       po.nanorc           xresources.nanorc
dot.nanorc          lisp.nanorc         privoxy.nanorc      yaml.nanorc
email.nanorc        lua.nanorc          properties.nanorc   yum.nanorc
git.nanorc          makefile.nanorc     python.nanorc
glsl.nanorc         man.nanorc          rpmspec.nanorc

樹(shù)莓派:文本編輯器與文件

 

將語(yǔ)法高亮文件添加到~/.nanorc中,就能讓nano啟動(dòng)對(duì)相應(yīng)語(yǔ)言的語(yǔ)法高亮支持,例如:

樹(shù)莓派:文本編輯器與文件

include ~/.nano/syntax/c.nanorc
include ~/.nano/syntax/css.nanorc
include ~/.nano/syntax/java.nanorc
include ~/.nano/syntax/makefile.nanorc
include ~/.nano/syntax/php.nanorc
include ~/.nano/syntax/python.nanorc
include ~/.nano/syntax/ruby.nanorc
include ~/.nano/syntax/tex.nanorc
include ~/.nano/syntax/xml.nanorc

樹(shù)莓派:文本編輯器與文件

如果有需要,還可以把更多的語(yǔ)法高亮文件加入到.nanorc中。這時(shí)再打開(kāi)獲得支持的程序文本時(shí),就可以看到語(yǔ)法高亮的效果。下圖中用nano打開(kāi)了一段Python程序:

樹(shù)莓派:文本編輯器與文件

在nano中,使用M-Y功能鍵可以開(kāi)關(guān)語(yǔ)法高亮功能。

 

文件基礎(chǔ)操作

用nano編輯文件并保存后,當(dāng)前目錄下就會(huì)出現(xiàn)一個(gè)新的文件,文件名就是我們使用時(shí)的文件名。用下面命令,可以顯示Shell當(dāng)前目錄下的文件:

$ls

 

Linux用文件的形式存儲(chǔ)數(shù)據(jù)。在樹(shù)莓派中,文件存儲(chǔ)于那張SD卡上。除了用戶編輯生成的文本,數(shù)據(jù)還可能是Linux系統(tǒng)中的程序或配置文件。在Unix的哲學(xué)下,文件是數(shù)據(jù)存儲(chǔ)的唯一形式,就連硬件也會(huì)虛擬成一個(gè)文件。既然文件有這么重要的地位,那么Linux中自然少不了用于操作文件的命令,比如刪除文件的rm

$rm test.txt

 

文件存儲(chǔ)的位置,稱為文件所在的目錄(directory)。剛才用nano保存文件后,由于沒(méi)有說(shuō)明目錄,文件就保存在當(dāng)前目錄下。我們可以用下面命令來(lái)查詢Shell所在的當(dāng)前目錄:

$pwd

顯示的是:

/home/pi

所有目錄都可以追溯到一個(gè)根源,即根目錄(root directory)。根目錄下有一個(gè)home目錄,home下有一個(gè)pi目錄。我們的當(dāng)前工作目錄,就是這個(gè)pi目錄。

 

一個(gè)目錄下的文件不能重名。因此,如果在/home/pi這樣的目錄下加上文件名,就唯一確定了這個(gè)文件。這稱為文件的路徑(path)。比如:

/home/pi/test.txt

 

 

總結(jié)

本文介紹了Linux下一款簡(jiǎn)單易用的文本編輯器nano和常用的文件命令。


向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI