我們知道 Linux 下有非常多的命令,我們可以通過(guò)這些命令在 Shell 環(huán)境下與機(jī)器進(jìn)行交互,那么 Linux 下有多少資源可以供我們調(diào)度呢?其實(shí)是非常多的,但所有資源都可以分為三大類型。
文件:Everything is file;
進(jìn)程:文件的運(yùn)行形態(tài);
網(wǎng)絡(luò):特殊的文件。
接下來(lái),我們來(lái)看文件,文件也可以理解為數(shù)據(jù),在 Linux 環(huán)境下有一個(gè)很基本的設(shè)計(jì)原則,即 Everything is file,所有的內(nèi)容都是以文件的形式來(lái)進(jìn)行抽象的,比如:進(jìn)程、網(wǎng)絡(luò)、硬件等,都可以抽象成文件,可以對(duì)其進(jìn)行打開(kāi)、讀取、寫(xiě)入等操作,所以文件便是我們?nèi)腴T的第一個(gè)知識(shí)點(diǎn),文件又可以分為這樣幾類常見(jiàn)的命令。
本文選自:拉勾教育專欄《測(cè)試開(kāi)發(fā)核心技術(shù) 46 講》見(jiàn)文末了解更多
磁盤(pán)與目錄
第一類,磁盤(pán)與目錄,我們可以通過(guò) df 或 df-h 命令,打印設(shè)備上掛載了多少個(gè)磁盤(pán)設(shè)備,以及磁盤(pán)里還有多少可用空間。比如我的機(jī)器總?cè)萘渴?40G,已用 34G,使用率已達(dá) 91%。
第二個(gè)命令叫 ls,ls 可以打印當(dāng)前目錄下的所有文件和目錄,你可以通過(guò) ls 命令,把當(dāng)前所有的目錄和文件都打印出來(lái)了。
ls 有一個(gè)常用的參數(shù)叫 -l,-l 可以打印出每個(gè)文件的基本信息,比如第一個(gè)文件,這里打印出了它的文件權(quán)限 -rw-r--r--、文件歸屬 root、文件大小,以及何時(shí)被創(chuàng)建等信息。ls-l 在我們的日常工作中使用頻率比較高。那如果我們想進(jìn)入 battery-historian 這個(gè)移動(dòng)端做電量分析的專用工具的子目錄,該怎么做呢?
可以通過(guò) cd 命令進(jìn)入 battery-historian 的目錄,進(jìn)入目錄后,通過(guò) ls 查看目錄下所有文件。
使用 ls、cd 命令可以讓我們?cè)诓煌夸浿g進(jìn)行切換,切換之后還可以通過(guò) pwd 命令獲取當(dāng)前目錄所在的路徑。
文件編輯
以上就是磁盤(pán)與目錄進(jìn)行切換、讀取、獲取信息的一些常用命令,接下來(lái),我們進(jìn)入一個(gè)文件并對(duì)文件進(jìn)行編輯。
我們通過(guò) ls-l 獲取文件列表后,你可以看到 README.md 文件,在文件列表中,有些文件權(quán)限以 d 開(kāi)頭的表示該文件是一個(gè)目錄,沒(méi)有 d 則表示它是一個(gè)文件。我們接下來(lái)進(jìn)入 README.md,來(lái)看看 README.md 里面到底有什么?
我們可以使用三種方法閱讀文件:
第一種方法是 cat,它可以閱讀文件并查找文件內(nèi)容,但缺點(diǎn)就是一頁(yè)的內(nèi)容非常長(zhǎng);
第二種方法是 more,可以實(shí)現(xiàn)翻頁(yè)閱讀,缺點(diǎn)就是不夠靈活;
第三種方法是 less,它既可以實(shí)現(xiàn)上下滑動(dòng),還可以實(shí)現(xiàn)左右移動(dòng),可以實(shí)現(xiàn)交互式閱讀,是三種閱讀方法中最強(qiáng)大的。
但往往只能閱讀文件是不能夠滿足需求的,我們需要有對(duì)文件有進(jìn)行編輯的能力。我們可以通過(guò) vi 或 vim 實(shí)現(xiàn)這樣的能力,vi 是最早的一個(gè)編輯器,vim 是后期的一個(gè)變種,在很多系統(tǒng)上 vi 與 vim 是等價(jià)的。
比如 vi README.md,打開(kāi)之后你會(huì)發(fā)現(xiàn)有光標(biāo),可以隨意移動(dòng),也可以對(duì)內(nèi)容進(jìn)行修改。關(guān)于 vi 中的一些常用快捷鍵課后你可以自己搜索掌握。閱讀完文件后通過(guò) :q 進(jìn)行退出,還有一個(gè)流式修改命令 sed,我會(huì)在下一課時(shí)“ Linux 三劍客”中重點(diǎn)介紹。
本文選自:拉勾教育專欄《測(cè)試開(kāi)發(fā)核心技術(shù) 46 講》見(jiàn)文末了解更多
文件權(quán)限
雖然我們掌握了如何編輯一個(gè)文件,但在編輯文件之前仍然需要管理文件的權(quán)限。那么如何對(duì)一個(gè)文件的權(quán)限進(jìn)行管理呢?我們來(lái)看看。
我們通過(guò) ls-l 進(jìn)入文件目錄,仍以 README.md 文件為例,它的權(quán)限是什么呢?我們看到文件權(quán)限中有三組內(nèi)容,第一組內(nèi)容(rw)表示該文件在當(dāng)前用戶下的權(quán)限,第二組內(nèi)容(r)表示在同組下的權(quán)限,第三組內(nèi)容(r)表示不在同組下其他方的權(quán)限。而 r 表示可讀,w 表示可寫(xiě),x 表示文件可執(zhí)行。
你可以通過(guò) chmod 命令修改一個(gè)文件的權(quán)限,也可以通過(guò) chown 修改一個(gè)文件所歸屬的用戶或組。
這里需要重點(diǎn)注意,ls-l 可以查看文件權(quán)限,我們以 README.md 為例,這個(gè)文件是當(dāng)前用戶可讀可寫(xiě),但其他用戶能讀不能寫(xiě)的。
那如果我們現(xiàn)在不想讓任何用戶看到文件該怎么辦呢?可以通過(guò) chmod o-r readme.md 命令進(jìn)行權(quán)限的修改。重新進(jìn)入該文件的權(quán)限后,我們發(fā)現(xiàn)第三組權(quán)限沒(méi)有狀態(tài)了,也就是其他用戶不能看到該文件了。
關(guān)于 chmod 命令的更多用法,你通過(guò) Linux 下的 man 查看它的命令幫助,你可以看到該命令的屬性、參數(shù),以及具體描述。如果你不了解 Linux 某些命令的用法,就可以通過(guò) man 來(lái)查看使用方法。
關(guān)于文件,你還可以通過(guò) find 命令搜索當(dāng)前的目錄并列出所有文件,也可以通過(guò) find + name 的方式查找具體文件。對(duì)于特殊文件,比如軟鏈、socket、管道等內(nèi)容,你可以課下自己搜索知識(shí),這里不再詳細(xì)介紹。
-
Linux
+關(guān)注
關(guān)注
87文章
11212瀏覽量
208721 -
Shell
+關(guān)注
關(guān)注
1文章
363瀏覽量
23259
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論