姓名:羅浩東? 學(xué)號(hào):19020100450? 學(xué)院:電子工程學(xué)院
轉(zhuǎn)自:https://blog.csdn.net/sinat_42550851/article/details/102114651
【嵌牛導(dǎo)讀】對(duì)嵌入式系統(tǒng)的使用基礎(chǔ)
【嵌牛鼻子】嵌入式系統(tǒng)的初步使用
【嵌牛正文】
替換一個(gè)字符:在命令模式下選中要替換的字符,按r枷畏,再按替換后的字符讯嫂。
替換全文中所有的字符:可以在命令模式下輸入:% s/str1/str2/g
6.文件系統(tǒng)
Linux文件系統(tǒng)中的文件是數(shù)據(jù)的集合,文件系統(tǒng)不僅包含著文件中的數(shù)據(jù)而且還有文件系統(tǒng)的結(jié)構(gòu),所有Linux用戶(hù)和程序看到的文件么伯、目錄叶撒、軟連接及文件保護(hù)信息等都存儲(chǔ)在其中。
Linux最早的文件系統(tǒng)是Minix贪嫂,但是專(zhuān)門(mén)為L(zhǎng)inux設(shè)計(jì)的文件系統(tǒng)——拓展文件系統(tǒng)第二版(EXT2)被設(shè)計(jì)出來(lái)并添加到Linux中寺庄,這對(duì)Linux產(chǎn)生了重大影響。
常用的文件系統(tǒng)
ext2
swap
vfat
NFS
1力崇、ext2
ext2是為解決ext文件系統(tǒng)的缺陷而設(shè)計(jì)的可擴(kuò)展的斗塘、高性能的文件系統(tǒng),又被稱(chēng)為二級(jí)擴(kuò)展文件系統(tǒng)亮靴。它是Linux文件系統(tǒng)中使用最多的類(lèi)型馍盟,并且在速度和CPU利用率上較為突出。ext2存取文件的性能極好茧吊,并可以支持256字節(jié)的長(zhǎng)文件名贞岭,是GNU/Linux系統(tǒng)中標(biāo)準(zhǔn)的文件系統(tǒng)。
2搓侄、ext3
ext3是ext2文件系統(tǒng)的日志版本瞄桨,它在ext2文件系統(tǒng)中增加了日志的功能。ext3提供了3種日志模式:日志(journal)讶踪、順序(ordered)和回寫(xiě)(writeback)芯侥。與ext2相比,ext3提供了更好的安全性以及向上向下的兼容性能乳讥。因此柱查,在Linux系統(tǒng)中可以?huà)煸谝粋€(gè)ext3文件系統(tǒng)代替ext2文件系統(tǒng)。ext3文件系統(tǒng)格式被廣泛應(yīng)用于目前的Linux系統(tǒng)中雏婶。ext3的缺點(diǎn)是缺乏現(xiàn)代文件系統(tǒng)所具有的高速數(shù)據(jù)處理和解壓的性能物赶。此外,使用ext3文件系統(tǒng)還要考慮磁盤(pán)限額問(wèn)題留晚。
3酵紫、reiserFS
reiserFS是Linux環(huán)境下最穩(wěn)定的日志文件系統(tǒng)之一告嘲,使用快速的平衡二叉樹(shù)(binary tree)算法來(lái)查找磁盤(pán)上的自由空間和已有的文件,其搜索速度高于ext2奖地,reiserFS能夠像其他大多數(shù)文件系統(tǒng)一樣橄唬,可動(dòng)態(tài)的分配索引節(jié),而無(wú)須在文件系統(tǒng)中創(chuàng)建固定的索引節(jié)参歹。有助于文件系統(tǒng)更靈活的適應(yīng)各種存儲(chǔ)需要仰楚。
4、VFAT
VFAT主要用于處理長(zhǎng)文件的一種文件名系統(tǒng)犬庇,它運(yùn)行在保護(hù)模式下并使用VCACHE進(jìn)行緩存僧界,并具有和Windows系列文件系統(tǒng)和Linux文件系統(tǒng)兼容的特性。因此VFAT可以作為Windows和Linux交換文件的分區(qū)臭挽。
5捂襟、JFS2
一種字節(jié)級(jí)日志文件系統(tǒng),該文件系統(tǒng)主要是為滿(mǎn)足服務(wù)器的高吞吐量和可靠性需求而設(shè)計(jì)、開(kāi)發(fā)的欢峰。單個(gè)文件最大限制16TB葬荷,該文件系統(tǒng)最大支持1PB的容量。
目錄結(jié)構(gòu)
Linux的文件系統(tǒng)采用階層式的樹(shù)狀目錄結(jié)構(gòu)纽帖,在該結(jié)構(gòu)中的最上層是根目錄“/”宠漩,然后在根目錄下再建立其他的目錄。
Linux中無(wú)論從操作系統(tǒng)管理的幾個(gè)磁盤(pán)分區(qū)懊直,這樣的目錄樹(shù)只有一個(gè)扒吁。從結(jié)構(gòu)上講,各個(gè)磁盤(pán)分區(qū)上的樹(shù)型目錄不一定是并列的吹截。
Linux文件類(lèi)型
普通文件:通常是流式文件瘦陈。
#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)文件:提供進(jìn)程間通信的一種方式
套接字(socket)文件:改文件類(lèi)型與網(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)中,是先將物理地址分開(kāi)波俄,再在分區(qū)上建立目錄晨逝。在Windows操作系統(tǒng)中,所有路徑都是從盤(pán)符開(kāi)始懦铺,如C:\program file
Linux正好相反捉貌,是先有目錄,再將物理地址映射到目錄中冬念。在Linux操作系統(tǒng)中趁窃,所有路徑都是從根目錄開(kāi)始。Linux默認(rèn)可分為3個(gè)分區(qū)急前,分別是boot分區(qū)醒陆、swap分區(qū)和根分區(qū)
掛載
Linux下的分區(qū)需要掛載到目錄后才能使用,掛載的意義就是把磁盤(pán)分區(qū)的內(nèi)容放在某個(gè)目錄下裆针。這個(gè)把分區(qū)和目錄對(duì)應(yīng)的過(guò)程叫做**掛載(Mount)**而這個(gè)掛載在文件樹(shù)中的位置就是掛載點(diǎn)刨摩。
當(dāng)要使用某個(gè)設(shè)備時(shí)寺晌,例如要讀取硬盤(pán)中的一個(gè)格式化好的分區(qū)、光盤(pán)或軟件等設(shè)備時(shí)澡刹,必須把這些設(shè)備對(duì)應(yīng)到某個(gè)目錄上呻征,而這個(gè)目錄就稱(chēng)為“掛載點(diǎn)(mount point)”,這樣才可以讀取這些設(shè)備,將物理分區(qū)細(xì)節(jié)屏蔽掉罢浇,用戶(hù)只有統(tǒng)一的邏輯概念陆赋,所有的東西都是文件。
7.shell使用技巧
Shell環(huán)境
Linux中的Shell是一個(gè)命令解析器嚷闭,將用戶(hù)命令解析為操作系統(tǒng)能理解的指令攒岛,從而實(shí)現(xiàn)用戶(hù)與操作系統(tǒng)的交互。
Shell是內(nèi)核的一個(gè)外層保護(hù)工具胞锰,并負(fù)責(zé)完成用戶(hù)與內(nèi)核之間的交互阵子。
自動(dòng)補(bǔ)齊
命令行自動(dòng)補(bǔ)齊
輸入命令的前一個(gè)或者幾個(gè)字母,按下Tab鍵系統(tǒng)就會(huì)自動(dòng)補(bǔ)全命令胜蛉。如果有多個(gè)可能的選擇,再按一次Tab鍵就會(huì)列舉出來(lái)色乾。
如何用’cd’最快地從您當(dāng)前梭子的home目錄跳到’/usr/src/redhat/’
#cd/u<TAB>sr<TAB>r<TAB>
命令行的歷史記錄
通過(guò)按向上方向鍵誊册,可以向后遍歷近來(lái)在該控制臺(tái)下輸入的命令,用向下方向鍵可以向前遍歷暖璧。
如果與SHIFT鍵連用的話(huà)還可以遍歷以往在該控制臺(tái)中的輸出案怯,也可以編輯舊的命令然后再運(yùn)行。
按<CTRL r>后澎办,Shell就計(jì)入向后增量搜索模式嘲碱。選擇相應(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)前單詞開(kāi)頭的部分
<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是否出錯(cuò),接下來(lái)執(zhí)行command22
command1 ;command2
只有當(dāng)conmmand1正確運(yùn)行完畢后琅绅,才執(zhí)行command2
command1&command2
命令的任務(wù)調(diào)度
當(dāng)在終端里運(yùn)行一個(gè)命令或開(kāi)啟一個(gè)程序時(shí)扶欣,終端要等到命令或程序運(yùn)行完畢后,才能再被使用千扶。
任務(wù)調(diào)度(jobbing)或后臺(tái)(backgrounding)料祠,在命令后面添加一個(gè)&可以將當(dāng)前運(yùn)用任務(wù)或?qū)⒚钪劣诤笈_(tái),終端就立即解放可以接受新的輸入澎羞。
#gqview &
#jobs
輸出重定向
">“為輸出重定向符髓绽,可以將命令的輸出結(jié)果保存到文件中,”>>“和”>“作用類(lèi)似妆绞,不同的是”>“為新建或者重寫(xiě)一個(gè)文件顺呕,而”>>"為在文件的尾部追加內(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是一個(gè)多用戶(hù)的操作系統(tǒng)枫攀,當(dāng)用戶(hù)登入系統(tǒng)后都會(huì)有一個(gè)**專(zhuān)用的運(yùn)行環(huán)境。**通常每個(gè)用戶(hù)默認(rèn)的環(huán)境都是相同的塘匣,這個(gè)默認(rèn)環(huán)境實(shí)際上就是一組環(huán)境變得定義脓豪。用戶(hù)可以通過(guò)修改相應(yīng)的系統(tǒng)環(huán)境變量對(duì)自己的運(yùn)行環(huán)境進(jìn)行定制。
環(huán)境變量(environment variables)一般是指在操作系統(tǒng)中用來(lái)制定操作系統(tǒng)進(jìn)行環(huán)境變量的一些參數(shù)忌卤,如:臨時(shí)文件夾位置和系統(tǒng)文件夾位置等扫夜。
bash配置文件
環(huán)境變量和Shell緊密相關(guān)的,用戶(hù)登入系統(tǒng)后就啟動(dòng)了一個(gè)Shell驰徊。對(duì)于Linux來(lái)說(shuō)一般是bash笤闯,但也可以重新設(shè)定或切換到其他的Shell。根據(jù)發(fā)行版本的情況棍厂,bash有兩個(gè)基本的系統(tǒng)級(jí)配置文件:/etc/bashrc和/etc/profile颗味。
查看bash配置文件
#ls.bash*
環(huán)境變量常用變量如下:
PATH 決定了shell將到哪些目錄中尋找命令或者程序
HOME 當(dāng)前用戶(hù)主目錄
HISTSIZE 歷史記錄數(shù)
LOGNAME 當(dāng)前用戶(hù)的登錄名
HOSTNAME 指主機(jī)的名稱(chēng)
SHELL 當(dāng)前用戶(hù)的Shell類(lèi)型
LANG 語(yǔ)言相關(guān)的環(huán)境變量,多語(yǔ)言可以修改次環(huán)境變量
MALL 當(dāng)前用戶(hù)的郵件存放目錄
PATH聲明格式
PATH=$PATH:<PATH 1>:<PATH 2>:<PATH 3>:…:<PATH N>
環(huán)境變量更改后牺弹,在用戶(hù)下次登入時(shí)生效浦马。如果想立即生效,則可執(zhí)行下面的語(yǔ)句
#source .bash_profile
環(huán)境變量設(shè)置實(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命令來(lái)清除環(huán)境變量
使用readonly命令設(shè)置只讀變量
通過(guò)修改環(huán)境變量定義文件來(lái)修改環(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)載請(qǐng)附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/sinat_42550851/article/details/102114651