Shell筆記第二天

2021-09-13 02:53:53 字數 2064 閱讀 7761

2.1bash shell

bash 是乙個與bourne shell 相容的、執行從標準輸入裝置或檔案讀取的命令的命令語言直譯器(bash是具有很好的移植性的)

2.1.2 bash的改進

命令列編輯

命令列補全

不限制命令列歷史大小

不限制資料的大小

bash啟動檔案

符合條件表示式

目錄堆疊――訪問目錄的歷史記錄

限制性shell

bash posix(模式)

2.2shell在linux環境的角色

linux核心 作業系統核心

shell 為使用者提供乙個互動的介面

終端模擬器 使用者輸入命令螢幕回顯

linux桌面和視窗管理器 各種軟體應用程式的集合、包括檔案管理器、視窗管理器、終端模擬器。

2.2.1

與登入shell相關的檔案=互動式shell檔案

/etc/profile 系統級的初始化檔案,定義了一些環境變數,由於登入shell呼叫執行

/etc/bash.bashrc或者/etc/bashrc其檔名根據不同的linux發行版本而已,每個互動式shell(登入shell)的系統級的啟動指令碼,定義了一些函式和別名。

/etc/bash_logout 系統級的登入shell清理指令碼,當登入shell退出時執行,

$home/.bash_profile

$home/.profile

$home/.bash_login(帶點開頭都是隱藏檔案 避免新司機刪掉)

使用者個人初始化指令碼,由登入shell呼叫執行,只有乙個會執行,

$home/.bashrc 使用者個人的互動式shell啟動指令碼(home為家目錄 必須大寫)

$home/.bash_logout 使用者的清理指令碼

$home/.inputrc 使用者個人的由readline使用的啟動指令碼,定義了處理某些情況下的鍵盤對映

2.2.2bash啟動指令碼

當使用者登陸時,登入shell會調動的指令碼:

/etc/profile 當執行級別在3的時候登入系統會首先呼叫

/etc/profile.d 目錄當執行/etc/profile,會呼叫該目錄下一些指令碼

$home/.bash_profile $home/.bash_login $home/.profile 在/etc/profile執行後,第乙個存在的被執行

$home/.bashrc 上述指令碼全部執行之後,即呼叫此指令碼

/etc/bashrc 或者/etc/bash.bashrc由

$home/.bashrc呼叫執行

當乙個互動式的非登入shell啟動時

h oe

m/.b

ashr

c如果此

檔案存在

既被執行

/etc

/bas

hrc將

被hoem/.bashrc 如果此檔案存在既被執行 /etc/bashrc 將被

hoem/.

bash

rc如果

此檔案存

在既被執

行/et

c/ba

shrc

將被home/.bashrc呼叫執行

/etc/profile.d 此目錄下的指令碼將被

/etc/bashrc 或/etc/bash.bashr呼叫執行

bash啟動指令碼主要設定的環境

設定環境變數 path和ps1

通過變數 editor設定預設的文字編輯器

設定預設的umask(檔案或者目錄的許可權屬性)

覆蓋或移除一些不想要的變數和別名

設定別名

載入函式

2.2.4bash退出指令碼

功能:使用clean命令去清理終端的螢幕輸出

其次去移除一些臨時的檔案

自動執行一些命令或指令碼

2.2.5例項:定製乙個自己的bash退出指令碼

位置:$home/.bash_logout

2.2.6 有效的登入shell 的路徑

檢視shell檔案內容

#cat /ect/shells

#whcih bash

Shell學習筆記 第二天

1 顯示日期 date cal cal 2010 cal 2 2010 2 改變檔案擁有者 chown 3 改變檔案許可權 chmod 4 顯示當前目錄 pwd 5 檢視檔案尾部內容,並且檢視不斷更新的內容 tail tail f mycat.log 6 查詢檔案 find name filenam...

shell程式設計 第二天

ls l dir1 wc l 1。while 條件 do done test 2。until同上,僅僅是條件不成立的時候才執行 3。dev null unix 黑洞。用於清空檔案 cat dev null xx find name a.txt 2 dev null 4。注意 陷阱題之continue...

shell程式設計 第二天

1。while 條件 do done test 2。until同上,僅僅是條件不成立的時候才執行 3。dev null unix 黑洞。用於清空檔案 cat dev null xx find name a.txt 2 dev null 4。注意 陷阱題之continue跳出迴圈後,把列印的東東留在了...