嵌入式linux開發(fā)實戰(zhàn)(二)——Linux使用基礎(chǔ)

姓名:羅浩東? 學(xué)號:19020100450? 學(xué)院:電子工程學(xué)院

轉(zhuǎn)自:https://blog.csdn.net/sinat_42550851/article/details/102114651

【嵌牛導(dǎo)讀】對嵌入式系統(tǒng)的使用基礎(chǔ)

【嵌牛鼻子】嵌入式系統(tǒng)的初步使用

【嵌牛正文】

替換一個字符:在命令模式下選中要替換的字符,按r,再按替換后的字符。

替換全文中所有的字符:可以在命令模式下輸入:% s/str1/str2/g

6.文件系統(tǒng)

Linux文件系統(tǒng)中的文件是數(shù)據(jù)的集合,文件系統(tǒng)不僅包含著文件中的數(shù)據(jù)而且還有文件系統(tǒng)的結(jié)構(gòu),所有Linux用戶和程序看到的文件、目錄、軟連接及文件保護信息等都存儲在其中。

Linux最早的文件系統(tǒng)是Minix,但是專門為Linux設(shè)計的文件系統(tǒng)——拓展文件系統(tǒng)第二版(EXT2)被設(shè)計出來并添加到Linux中,這對Linux產(chǎn)生了重大影響。

常用的文件系統(tǒng)

ext2

swap

vfat

NFS

1、ext2

ext2是為解決ext文件系統(tǒng)的缺陷而設(shè)計的可擴展的、高性能的文件系統(tǒng),又被稱為二級擴展文件系統(tǒng)。它是Linux文件系統(tǒng)中使用最多的類型,并且在速度和CPU利用率上較為突出。ext2存取文件的性能極好,并可以支持256字節(jié)的長文件名,是GNU/Linux系統(tǒng)中標(biāo)準(zhǔn)的文件系統(tǒng)。

2、ext3

ext3是ext2文件系統(tǒng)的日志版本,它在ext2文件系統(tǒng)中增加了日志的功能。ext3提供了3種日志模式:日志(journal)、順序(ordered)和回寫(writeback)。與ext2相比,ext3提供了更好的安全性以及向上向下的兼容性能。因此,在Linux系統(tǒng)中可以掛在一個ext3文件系統(tǒng)代替ext2文件系統(tǒng)。ext3文件系統(tǒng)格式被廣泛應(yīng)用于目前的Linux系統(tǒng)中。ext3的缺點是缺乏現(xiàn)代文件系統(tǒng)所具有的高速數(shù)據(jù)處理和解壓的性能。此外,使用ext3文件系統(tǒng)還要考慮磁盤限額問題。

3、reiserFS

reiserFS是Linux環(huán)境下最穩(wěn)定的日志文件系統(tǒng)之一,使用快速的平衡二叉樹(binary tree)算法來查找磁盤上的自由空間和已有的文件,其搜索速度高于ext2,reiserFS能夠像其他大多數(shù)文件系統(tǒng)一樣,可動態(tài)的分配索引節(jié),而無須在文件系統(tǒng)中創(chuàng)建固定的索引節(jié)。有助于文件系統(tǒng)更靈活的適應(yīng)各種存儲需要。

4、VFAT

VFAT主要用于處理長文件的一種文件名系統(tǒng),它運行在保護模式下并使用VCACHE進行緩存,并具有和Windows系列文件系統(tǒng)和Linux文件系統(tǒng)兼容的特性。因此VFAT可以作為Windows和Linux交換文件的分區(qū)。

5、JFS2

一種字節(jié)級日志文件系統(tǒng),該文件系統(tǒng)主要是為滿足服務(wù)器的高吞吐量和可靠性需求而設(shè)計、開發(fā)的。單個文件最大限制16TB,該文件系統(tǒng)最大支持1PB的容量。

目錄結(jié)構(gòu)

Linux的文件系統(tǒng)采用階層式的樹狀目錄結(jié)構(gòu),在該結(jié)構(gòu)中的最上層是根目錄“/”,然后在根目錄下再建立其他的目錄。

Linux中無論從操作系統(tǒng)管理的幾個磁盤分區(qū),這樣的目錄樹只有一個。從結(jié)構(gòu)上講,各個磁盤分區(qū)上的樹型目錄不一定是并列的。

Linux文件類型

普通文件:通常是流式文件。

#ls -lh install.log

-rw-r–r-- 1 root 53K 03-16 08:54 install.log

目錄文件:用于表示和管理系統(tǒng)中的全部文件

#ls -lh

drwxr-xr-x 2 root 4.0K 04-19 10:53 mydir

鏈接文件:用于不同目錄下文件的共享

#ls -lh setup.log

lrwxrwxrwx 1 root root 11 04-19 11:18 setup.log->install.log

設(shè)備文件:包括塊設(shè)備文件和字符設(shè)備文件

#ls -la/dev/tty

crw-rw-rw- 1 root tty 5,0 04-19 08:29 /dev/tty

管道(FIFO)文件:提供進程間通信的一種方式

套接字(socket)文件:改文件類型與網(wǎng)絡(luò)通信有關(guān)

ls -lh /var/lib/mysql/mysql.sock

srwxrwxrwx 1 mysql mysql 0 04-19 11:12 /var/lib/mysql/mysql.sock

分區(qū)

在WIndows操作系統(tǒng)中,是先將物理地址分開,再在分區(qū)上建立目錄。在Windows操作系統(tǒng)中,所有路徑都是從盤符開始,如C:\program file

Linux正好相反,是先有目錄,再將物理地址映射到目錄中。在Linux操作系統(tǒng)中,所有路徑都是從根目錄開始。Linux默認(rèn)可分為3個分區(qū),分別是boot分區(qū)、swap分區(qū)和根分區(qū)

掛載

Linux下的分區(qū)需要掛載到目錄后才能使用,掛載的意義就是把磁盤分區(qū)的內(nèi)容放在某個目錄下。這個把分區(qū)和目錄對應(yīng)的過程叫做**掛載(Mount)**而這個掛載在文件樹中的位置就是掛載點。

當(dāng)要使用某個設(shè)備時,例如要讀取硬盤中的一個格式化好的分區(qū)、光盤或軟件等設(shè)備時,必須把這些設(shè)備對應(yīng)到某個目錄上,而這個目錄就稱為“掛載點(mount point)”,這樣才可以讀取這些設(shè)備,將物理分區(qū)細節(jié)屏蔽掉,用戶只有統(tǒng)一的邏輯概念,所有的東西都是文件。

7.shell使用技巧

Shell環(huán)境

Linux中的Shell是一個命令解析器,將用戶命令解析為操作系統(tǒng)能理解的指令,從而實現(xiàn)用戶與操作系統(tǒng)的交互。

Shell是內(nèi)核的一個外層保護工具,并負責(zé)完成用戶與內(nèi)核之間的交互。

自動補齊

命令行自動補齊

輸入命令的前一個或者幾個字母,按下Tab鍵系統(tǒng)就會自動補全命令。如果有多個可能的選擇,再按一次Tab鍵就會列舉出來。

如何用’cd’最快地從您當(dāng)前梭子的home目錄跳到’/usr/src/redhat/’

#cd/u<TAB>sr<TAB>r<TAB>

命令行的歷史記錄

通過按向上方向鍵,可以向后遍歷近來在該控制臺下輸入的命令,用向下方向鍵可以向前遍歷。

如果與SHIFT鍵連用的話還可以遍歷以往在該控制臺中的輸出,也可以編輯舊的命令然后再運行。

按<CTRL r>后,Shell就計入向后增量搜索模式。選擇相應(yīng)命令后再按<ENTER>鍵,上面的命令將再次執(zhí)行。

vi .bash_history(可以查看歷史的命令)

編輯命令行

<CTRL k >:刪除從光標(biāo)到行尾的部分

<CTRL u>:刪除從光標(biāo)到行首的部分

<ALT d>:刪除從光標(biāo)到當(dāng)前單詞結(jié)尾的部分

<CTRL w>:刪除從光標(biāo)到當(dāng)前單詞開頭的部分

<CTRL a>:將光標(biāo)移到行首

<CTRL e>:將光標(biāo)移到行尾

<ALT a >:將光標(biāo)移到當(dāng)前單詞頭部

<ALT e>:將光標(biāo)移到當(dāng)前單詞尾部

<CTRL y>:插入最近刪除的單詞

命令的排列

先執(zhí)行command1,不管command1是否出錯,接下來執(zhí)行command22

command1 ;command2

只有當(dāng)conmmand1正確運行完畢后,才執(zhí)行command2

command1&command2

命令的任務(wù)調(diào)度

當(dāng)在終端里運行一個命令或開啟一個程序時,終端要等到命令或程序運行完畢后,才能再被使用。

任務(wù)調(diào)度(jobbing)或后臺(backgrounding),在命令后面添加一個&可以將當(dāng)前運用任務(wù)或?qū)⒚钪劣诤笈_,終端就立即解放可以接受新的輸入。

#gqview &

#jobs

輸出重定向

">“為輸出重定向符,可以將命令的輸出結(jié)果保存到文件中,”>>“和”>“作用類似,不同的是”>“為新建或者重寫一個文件,而”>>"為在文件的尾部追加內(nèi)容

#Mail -s “hello world” pingzhenyu@163.com < testmail

#ps -aux |grep wget

ps -ef | grep “bash”(可以查找)

8.環(huán)境變量

Shell環(huán)境

Linux是一個多用戶的操作系統(tǒng),當(dāng)用戶登入系統(tǒng)后都會有一個**專用的運行環(huán)境。**通常每個用戶默認(rèn)的環(huán)境都是相同的,這個默認(rèn)環(huán)境實際上就是一組環(huán)境變得定義。用戶可以通過修改相應(yīng)的系統(tǒng)環(huán)境變量對自己的運行環(huán)境進行定制。

環(huán)境變量(environment variables)一般是指在操作系統(tǒng)中用來制定操作系統(tǒng)進行環(huán)境變量的一些參數(shù),如:臨時文件夾位置和系統(tǒng)文件夾位置等。

bash配置文件

環(huán)境變量和Shell緊密相關(guān)的,用戶登入系統(tǒng)后就啟動了一個Shell。對于Linux來說一般是bash,但也可以重新設(shè)定或切換到其他的Shell。根據(jù)發(fā)行版本的情況,bash有兩個基本的系統(tǒng)級配置文件:/etc/bashrc和/etc/profile。

查看bash配置文件

#ls.bash*

環(huán)境變量常用變量如下:

PATH 決定了shell將到哪些目錄中尋找命令或者程序

HOME 當(dāng)前用戶主目錄

HISTSIZE 歷史記錄數(shù)

LOGNAME 當(dāng)前用戶的登錄名

HOSTNAME 指主機的名稱

SHELL 當(dāng)前用戶的Shell類型

LANG 語言相關(guān)的環(huán)境變量,多語言可以修改次環(huán)境變量

MALL 當(dāng)前用戶的郵件存放目錄

PATH聲明格式

PATH=$PATH:<PATH 1>:<PATH 2>:<PATH 3>:…:<PATH N>

環(huán)境變量更改后,在用戶下次登入時生效。如果想立即生效,則可執(zhí)行下面的語句

#source .bash_profile

環(huán)境變量設(shè)置實例

使用命令echo環(huán)境變量

#echo $HOME

使用命令echo顯示環(huán)境變量

#exort MYNAME = “my name is pingzhenyu”

#echo $MYNAME

修改環(huán)境變量MYNAME

使用env命令顯示所有的環(huán)境變量

使用set命令顯示所有本地定義的Shell變量

使用unset命令來清除環(huán)境變量

使用readonly命令設(shè)置只讀變量

通過修改環(huán)境變量定義文件來修改環(huán)境變量

eg:

export TEMP_ENV =“jack”

env |grep TEMP_ENV

————————————————

版權(quán)聲明:本文為CSDN博主「cubedong」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請附上原文出處鏈接及本聲明。

原文鏈接:https://blog.csdn.net/sinat_42550851/article/details/102114651

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容