天天看點

Linux-bashkernel為什麼要學習指令行shell合法的shell使用者shellbash shelltype指令

bash

  • kernel
  • 為什麼要學習指令行shell
  • 合法的shell
    • shells檔案
  • 使用者shell
  • bash shell
    • bash shell簡介
    • bash功能
  • type指令

kernel

管理整個計算機硬體的作業系統使kernel,但是kernel又是需要被保護的,就是使用者無法直接通過對kernel的指令來操作核心,是以通過shell指令來間接的對計算機執行某種指令。

例如:在聽音樂的時候,計算機都做了什麼。

首先要有一部分的硬體的條件:聲霸卡,音響等

核心管理:就是支援聲霸卡的晶片組,提供晶片的驅動程式。

在應用程式中輸入指令來進行播放音樂。

Linux-bashkernel為什麼要學習指令行shell合法的shell使用者shellbash shelltype指令

使用者可以通過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
           
Linux-bashkernel為什麼要學習指令行shell合法的shell使用者shellbash shelltype指令

使用者shell

使用者預設使用的shell是哪一個呢?

vim /etc/passwd
           
Linux-bashkernel為什麼要學習指令行shell合法的shell使用者shellbash shelltype指令

最後的一個字段待變使用者正在使用的shell指令,可以在/etc/passwd檔案中修改該檔案的内容進行對使用者使用shell的變換。

bash shell

bash shell簡介

檔案位于/bin/bash,使Linux預設使用的shell,使GNU計劃中的shell,也是目前Linux distribution的标準的shell,它還相容sh,是sh的加強版。

bash功能

1.指令編輯功能,可以記憶使用過的指令,預設可以記憶1000左右的指令。存放在使用者家目錄中。

Linux-bashkernel為什麼要學習指令行shell合法的shell使用者shellbash shelltype指令
vim ~/.bash_history
           
Linux-bashkernel為什麼要學習指令行shell合法的shell使用者shellbash shelltype指令

不一定是history記錄的指令越多越好,有可能會使使用者的某些資訊洩露。

2.指令與檔案補全功能:tab鍵,保證輸入是正确的。

3.指令别名的配置(alias)可以用一些簡單的指令去替代一些複雜的指令。

在/etc/profile檔案中添加

alias lm='ls -al'

Linux-bashkernel為什麼要學習指令行shell合法的shell使用者shellbash shelltype指令
Linux-bashkernel為什麼要學習指令行shell合法的shell使用者shellbash shelltype指令

但是顯示指令沒有被找到,原因是因為還沒有加載變量,輸入:

source/etc/profile

之後再執行。

Linux-bashkernel為什麼要學習指令行shell合法的shell使用者shellbash shelltype指令

4.前背景控制。

5.shell scripts

6.通配符

type指令

可以檢視指令是内建檔案與否

type [-tpa] name

不加任何選項或參數時,type會顯⽰出name是外部指令還是bash內建指令;

隻有bash内建指令在不同的distribution中是相同的。

-t: 顯⽰指令的意義;

file: 表⽰為外部指令;

alias: 表⽰該指令為指令别名所配置的名稱;

builtin: 表⽰該指令為bash內建指令。

Linux-bashkernel為什麼要學習指令行shell合法的shell使用者shellbash shelltype指令

-p: 如果name為外部指令,則顯⽰完整⽂件名;

Linux-bashkernel為什麼要學習指令行shell合法的shell使用者shellbash shelltype指令

-a: 根據PATH變量,将所有含有name的指令都進⾏羅列,包括别名

Linux-bashkernel為什麼要學習指令行shell合法的shell使用者shellbash shelltype指令

繼續閱讀