Linux命令行與Shell腳本編程大全-初始Linux Shell

本章內(nèi)容:

1. 什么是Linux

2.Linux內(nèi)核的組成部分

3.探索Linux桌面

4.了解Linux發(fā)行版


1.1 什么是Linux

Linux可劃分為四個部分:Linux內(nèi)核?GNU工具組件?圖形化桌面環(huán)境?應(yīng)用軟件

Linux 系統(tǒng)結(jié)構(gòu)框圖

1.1.1 深入深究Linux內(nèi)核

Linux系統(tǒng)的核心就是內(nèi)核烟零。內(nèi)核控制著與計算機(jī)系統(tǒng)上所有的硬件和軟件的交互:必要時分配硬件化漆,有需要時執(zhí)行軟件

內(nèi)核基本負(fù)責(zé)以下四項主要功能:系統(tǒng)內(nèi)存管理?軟件程序 管理硬件設(shè)備管理 文件系統(tǒng)管理

系統(tǒng)內(nèi)存管理

內(nèi)存管理包含可用物理內(nèi)存虛擬內(nèi)存空間

虛擬內(nèi)存空間 又稱為交換空間(Swap Space),是內(nèi)核通過硬盤上的存儲空間來實現(xiàn)虛擬內(nèi)存。內(nèi)存存儲單元會被按組分成很多塊,這些塊被稱作頁面(Page),內(nèi)核會將每個內(nèi)存頁面放在物理內(nèi)存或者交換空間蹂窖,然后自己會維護(hù)一張內(nèi)存頁面表,來指明哪些頁面位于物理內(nèi)存抡锈,哪些頁面被換到交換空間疾忍。

內(nèi)核會記錄哪些內(nèi)存頁面正在被程序或者系統(tǒng)使用中,并自動把一段時間未訪問的內(nèi)存頁面復(fù)制到交換空間區(qū)域(這個過程稱為換出床三,Swapping out)即使還有可用內(nèi)存一罩,與之相反的是當(dāng)程序要訪問一個之前被換出到交換空間的內(nèi)存頁面時,內(nèi)核必須從物理內(nèi)存空間換出另外一個內(nèi)存頁面來給其讓出空間撇簿,然后從交換空間換入(這個過程稱之為換入聂渊,Swapping in)請求的頁面。這樣一個過程始終是在Linux系統(tǒng)在運行時四瘫,在一直進(jìn)行著汉嗽。備注: 目前虛擬化的解決方案KVM是默認(rèn)不分配交換空間,那就不在這個討論的范疇之內(nèi)找蜜。

通過查看專門的/proc/meminfo文件來觀察Linux系統(tǒng)上虛擬內(nèi)存和物理內(nèi)存的當(dāng)前狀態(tài)

具體就不貼截圖上來的饼暑,主要幾個參數(shù):MemTotal MemFree SwapTotal等等

默認(rèn)情況下,運行在Linux系統(tǒng)上的每個進(jìn)程都有各自的內(nèi)存頁面洗做。進(jìn)程不能訪問其他進(jìn)程正在使用的內(nèi)存頁面弓叛。內(nèi)核維護(hù)著它自己的內(nèi)存區(qū)域。出于安全的考慮诚纸,用戶空間的進(jìn)程不能訪問內(nèi)核空間使用的內(nèi)存頁面撰筷。

出于方便共享數(shù)據(jù),你可以創(chuàng)建一些共享內(nèi)存頁面畦徘。多個進(jìn)程可以在同一塊共用內(nèi)存空間進(jìn)行數(shù)據(jù)的讀取和寫入操作毕籽。

每個共享內(nèi)存區(qū)域都有屬于某個所有者,也就是創(chuàng)建它的用戶井辆,每個區(qū)域都有標(biāo)準(zhǔn)的Linux權(quán)限設(shè)置來設(shè)定其他用戶是否可以訪問該區(qū)域关筒。

軟件程序管理

Linux操作系統(tǒng)稱運行中的程序叫進(jìn)程 。

內(nèi)核創(chuàng)建了第一個進(jìn)程(稱為init進(jìn)程)用來啟動系統(tǒng)中所有其他的進(jìn)程掘剪,當(dāng)內(nèi)核啟動時平委,它會將init進(jìn)程加載到虛擬內(nèi)存中。內(nèi)核在啟動其他進(jìn)程時夺谁,都會在虛擬內(nèi)存中給新的進(jìn)場分配一個專有區(qū)域來存儲進(jìn)程用到的數(shù)據(jù)和代碼

Linux系統(tǒng)的init系統(tǒng)是采用7個啟動運行級廉赔,運行級為1時,稱為單用戶模式匾鸥,通常用來在系統(tǒng)有問題是進(jìn)行緊急的文件系統(tǒng)維護(hù)(root用戶密碼丟失也在該模式下進(jìn)行密碼修改或者找回)蜡塌。顯然,該模式下僅有一個人(通常是系統(tǒng)管理員)能登陸到系統(tǒng)操作數(shù)據(jù)勿负。

標(biāo)準(zhǔn)的運行級別是3馏艾,在這個運行級別上大部分應(yīng)用軟件劳曹,比如:網(wǎng)絡(luò)支持程序,都會啟動

圖形化界面X Windows系統(tǒng)運行在級別5琅摩,同時運行用戶通過圖形化桌面登陸系統(tǒng)登陸铁孵。

重啟運行在運行級別6

使用ps ax 查看當(dāng)前系統(tǒng)當(dāng)前運行在Linux系統(tǒng)上的進(jìn)程

第一列 PID 進(jìn)程的進(jìn)程號,第一個進(jìn)程就是init進(jìn)程 進(jìn)程號為1

第三列 進(jìn)程的狀態(tài) S代表進(jìn)程在睡眠狀態(tài) SW 代表在睡眠和等待 R代表在運行中

最后一列的方括號中的進(jìn)程 表示由于不活動而被內(nèi)存中換出到磁盤的交換空間

硬件設(shè)備管理

這個就不做詳細(xì)的記錄房资,有興趣的可以google 相關(guān)內(nèi)容蜕劝,相信肯定比我寫得要清楚

文件系統(tǒng)管理

文件系統(tǒng)指文件存在的物理空間,linux系統(tǒng)中每個分區(qū)都是一個文件系統(tǒng)轰异,都有自己的目錄層次結(jié)構(gòu)岖沛。linux會將這些分屬不同分區(qū)的、單獨的文件系統(tǒng)按一定的方式形成一個系統(tǒng)的總的目錄層次結(jié)構(gòu)搭独。一個操作系統(tǒng)的運行離不開對文件的操作婴削,因此必然要擁有并維護(hù)自己的文件系統(tǒng)。

Llinux文件系統(tǒng)使用索引節(jié)點來記錄文件信息牙肝,作用像windows的文件分配表唉俗。

索引節(jié)點是一個結(jié)構(gòu),它包含了一個文件的長度配椭、創(chuàng)建及修改時間互躬、權(quán)限、所屬關(guān)系颂郎、磁盤中的位置等信息。一個文件系統(tǒng)維護(hù)了一個索引節(jié)點的數(shù)組容为,每個文件或目錄都與索引節(jié)點數(shù)組中的唯一一個元素對應(yīng)乓序。系統(tǒng)給每個索引節(jié)點分配了一個號碼,也就是該節(jié)點在數(shù)組中的索引號坎背,稱為索引節(jié)點號替劈。

linux文件系統(tǒng)將文件索引節(jié)點號和文件名同時保存在目錄中。所以得滤,目錄只是將文件的名稱和它的索引節(jié)點號結(jié)合在一起的一張表陨献,目錄中每一對文件名稱和索引節(jié)點號稱為一個連接。

對于一個文件來說有唯一的索引節(jié)點號與之對應(yīng)懂更,對于一個索引節(jié)點號眨业,卻可以有多個文件名與之對應(yīng)。因此沮协,在磁盤上的同一個文件可以通過不同的路徑去訪問它龄捡。

可以用ln命令對一個已經(jīng)存在的文件再建立一個新的連接慷暂,而不復(fù)制文件的內(nèi)容。連接有軟連接和硬連接之分餐禁,軟連接又叫符號連接绷旗。它們各自的特點是:

硬連接:原文件名和連接文件名都指向相同的物理地址庄岖。

目錄不能有硬連接;硬連接不能跨越文件系統(tǒng)(不能跨越不同的分區(qū))

文件在磁盤中只有一個拷貝背桐,節(jié)省硬盤空間又沾;

由于刪除文件要在同一個索引節(jié)點屬于唯一的連接時才能成功,因此可以防止不必要的誤刪除役听。

符號連接:用ln -s命令建立文件的符號連接符號連接是linux特殊文件的一種蚊丐,作為一個文件昭娩,它的數(shù)據(jù)是它所連接的文件的路徑名。類似windows下的快捷方式。

可以刪除原有的文件而保存連接文件,沒有防止誤刪除功能。

隨著Linux的不斷發(fā)展蛛枚,它所支持的文件格式系統(tǒng)也在迅速擴(kuò)充扭吁。特別是Linux 2.4內(nèi)核正式推出后,出現(xiàn)了大量新的文件系統(tǒng)盲镶,其中包括日志文件系統(tǒng)ext4智末、ReiserFS、XFSJFS和其它文件系統(tǒng)徒河。Linux系統(tǒng)核心可以支持十多種文件系統(tǒng)類型:JFS、 ReiserFS送漠、ext顽照、ext2、ext3闽寡、ext4代兵、ISO9660、XFS爷狈、Minx植影、MSDOS、UMSDOS涎永、VFAT思币、NTFS鹿响、HPFS、NFS谷饿、 SMB惶我、SysV、PROC等博投。

Linux操作系統(tǒng)绸贡,/proc/filesystems文件列出了當(dāng)前內(nèi)核支持的所有文件系統(tǒng)

1.2 GNU工具組件

GNU coreutils 軟件包由3部分組成:處理文本工具 操作文本工具 管理進(jìn)程工具

1.2.2 GNU/Linux Shell 稱為交互式工具,它為用戶提供了啟動程序毅哗、管理文件系統(tǒng)上的文件以及管理運行在Linux上的進(jìn)程的途徑听怕。

shell包含內(nèi)置命令,可以完成一系列的操作虑绵,也可以通過將shell命令放入文件中作為程序執(zhí)行尿瞭,這個稱之為shell腳本

大部分Linux發(fā)行版包含多個shell,通常默認(rèn)的shell是bash shell

1.3 Linux 桌面環(huán)境

這個只需了解蒸殿,對于我們的shell命令和shell腳本編程影響不大,主流的桌面環(huán)境: X Windows KDE桌面 GNOME桌面 其他桌面

1.4 Linux 發(fā)行版

主流發(fā)行版:Slackware?Red Hat?Fedora Gentoo Mandriva?openSUSE Debian

只做了解筷厘,一般企業(yè)以Red Hat 紅帽系統(tǒng)以及其社區(qū)版CentOS,Debian 及其分支Ubuntu為主宏所,這里就不深入寫下去酥艳,自行探索

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市爬骤,隨后出現(xiàn)的幾起案子充石,更是在濱河造成了極大的恐慌,老刑警劉巖霞玄,帶你破解...
    沈念sama閱讀 219,270評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件骤铃,死亡現(xiàn)場離奇詭異,居然都是意外死亡坷剧,警方通過查閱死者的電腦和手機(jī)惰爬,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來惫企,“玉大人撕瞧,你說我怎么就攤上這事∧” “怎么了丛版?”我有些...
    開封第一講書人閱讀 165,630評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長偏序。 經(jīng)常有香客問我页畦,道長,這世上最難降的妖魔是什么研儒? 我笑而不...
    開封第一講書人閱讀 58,906評論 1 295
  • 正文 為了忘掉前任豫缨,我火速辦了婚禮独令,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘州胳。我一直安慰自己记焊,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,928評論 6 392
  • 文/花漫 我一把揭開白布栓撞。 她就那樣靜靜地躺著遍膜,像睡著了一般。 火紅的嫁衣襯著肌膚如雪瓤湘。 梳的紋絲不亂的頭發(fā)上瓢颅,一...
    開封第一講書人閱讀 51,718評論 1 305
  • 那天,我揣著相機(jī)與錄音弛说,去河邊找鬼挽懦。 笑死,一個胖子當(dāng)著我的面吹牛木人,可吹牛的內(nèi)容都是我干的信柿。 我是一名探鬼主播,決...
    沈念sama閱讀 40,442評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼醒第,長吁一口氣:“原來是場噩夢啊……” “哼渔嚷!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起稠曼,我...
    開封第一講書人閱讀 39,345評論 0 276
  • 序言:老撾萬榮一對情侶失蹤形病,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后霞幅,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體漠吻,經(jīng)...
    沈念sama閱讀 45,802評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,984評論 3 337
  • 正文 我和宋清朗相戀三年司恳,在試婚紗的時候發(fā)現(xiàn)自己被綠了途乃。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,117評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡扔傅,死狀恐怖欺劳,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情铅鲤,我是刑警寧澤,帶...
    沈念sama閱讀 35,810評論 5 346
  • 正文 年R本政府宣布枫弟,位于F島的核電站邢享,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏淡诗。R本人自食惡果不足惜骇塘,卻給世界環(huán)境...
    茶點故事閱讀 41,462評論 3 331
  • 文/蒙蒙 一伊履、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧款违,春花似錦唐瀑、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,011評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至赠尾,卻和暖如春力穗,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背气嫁。 一陣腳步聲響...
    開封第一講書人閱讀 33,139評論 1 272
  • 我被黑心中介騙來泰國打工当窗, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人寸宵。 一個月前我還...
    沈念sama閱讀 48,377評論 3 373
  • 正文 我出身青樓崖面,卻偏偏與公主長得像,于是被迫代替她去往敵國和親梯影。 傳聞我的和親對象是個殘疾皇子巫员,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,060評論 2 355

推薦閱讀更多精彩內(nèi)容