bash
- kernel
- 為什麼要學習指令行shell
- 合法的shell
-
- shells檔案
- 使用者shell
- bash shell
-
- bash shell簡介
- bash功能
- type指令
kernel
管理整個計算機硬體的作業系統使kernel,但是kernel又是需要被保護的,就是使用者無法直接通過對kernel的指令來操作核心,是以通過shell指令來間接的對計算機執行某種指令。
例如:在聽音樂的時候,計算機都做了什麼。
首先要有一部分的硬體的條件:聲霸卡,音響等
核心管理:就是支援聲霸卡的晶片組,提供晶片的驅動程式。
在應用程式中輸入指令來進行播放音樂。

使用者可以通過shell指令,圖形化操作界面,app等對kernel來進行簡介的操作。
作業系統實際上就是一組軟體,管理整個的硬體功能的作用。使用者通過應用程式控制核心,讓核心實作所需的硬體任務。應用程式在最外面,就像是一個外殼。而shell的功能就是提供使用者作業系統的接口,可以調用其他的軟體。
為什麼要學習指令行shell
1.不同的distribution使用的bash指令都是相同的。但是他們的圖形化操作界面可能會有變動,需要一定的學習成本去适應。
2.指令行模式對于遠端管理的速度快。用圖形化操作界面進行遠端連接配接操作的時候,會出現卡頓等。
3.可以更好的管理主機。很多伺服器連接配接同一個主機的時候,用指令行模式可以更好的管理主機。
合法的shell
Bourne shell(sh)
SUN: C shell
K shell 取代C shell
TCSH
Bourne Again shell(bash)sh的增強版 在目前的Linux中使用最多的shell
shells檔案
vim /etc/shells
使用者shell
使用者預設使用的shell是哪一個呢?
vim /etc/passwd
最後的一個字段待變使用者正在使用的shell指令,可以在/etc/passwd檔案中修改該檔案的内容進行對使用者使用shell的變換。
bash shell
bash shell簡介
檔案位于/bin/bash,使Linux預設使用的shell,使GNU計劃中的shell,也是目前Linux distribution的标準的shell,它還相容sh,是sh的加強版。
bash功能
1.指令編輯功能,可以記憶使用過的指令,預設可以記憶1000左右的指令。存放在使用者家目錄中。
vim ~/.bash_history
不一定是history記錄的指令越多越好,有可能會使使用者的某些資訊洩露。
2.指令與檔案補全功能:tab鍵,保證輸入是正确的。
3.指令别名的配置(alias)可以用一些簡單的指令去替代一些複雜的指令。
在/etc/profile檔案中添加
alias lm='ls -al'
。
但是顯示指令沒有被找到,原因是因為還沒有加載變量,輸入:
source/etc/profile
之後再執行。
4.前背景控制。
5.shell scripts
6.通配符
type指令
可以檢視指令是内建檔案與否
type [-tpa] name
不加任何選項或參數時,type會顯⽰出name是外部指令還是bash內建指令;
隻有bash内建指令在不同的distribution中是相同的。
-t: 顯⽰指令的意義;
file: 表⽰為外部指令;
alias: 表⽰該指令為指令别名所配置的名稱;
builtin: 表⽰該指令為bash內建指令。
-p: 如果name為外部指令,則顯⽰完整⽂件名;
-a: 根據PATH變量,将所有含有name的指令都進⾏羅列,包括别名