linux(七)SHELL基礎

1、echo輸出命令

echo [選項] [輸出內容]

選項:

-e:支持反斜線控制的字符轉換

2、第一個腳本hello.sh

#!/bin/bash

#這是第一個shell腳本

echo -e "\e[1;36m 天上掉下個林妹妹 \e[0m"

3、腳本執行

賦予執行權限,直接運行

chmod 755 hello.sh

./hello.sh

通過Bash調用執行腳本

bash hello.sh

--------------------------------

查看與設定別名

alias

#查看系統中所有的命令別名

alias 別名=‘原命令’

#設定命令別名 臨時生效

例如:alias ls = 'ls --color=never'


別名永久生效與刪除別名

vi ~/.bashrc

#寫入環境變量配置文件

unalias 別名

#刪除別名

----------------------------------------

命令生效順序

第一順位執行用絕對路徑或相對路徑執行的命令

第二順位執行別名

第三順位執行Bash的內部命令

第四順位執行按照$PATH環境變量定義的目錄查找順序找到的第一個命令

------------------------------

常用快捷鍵

ctrl + c:強制終止當前命令

ctrl + l:清屏

ctrl + a:光標移動到命令行首

ctrl + e:光標移動到命令行尾

ctrl + u:從光標所在位置刪除到行首

ctrl + z:把命令放入後臺

ctrl + r:在歷史命令中搜索

------------------------

歷史命令

history [選項] [歷史命令保存文件]

選項:

-c:清空歷史命令

-w:把緩存中的歷史命令寫入歷史命令保存文件~/.bash_history

歷史命令默認會保存1000條,可以在環境變量配置文件/etc/profile中進行修改

歷史命令的調用

使用上、下箭頭調用以前的歷史命令

使用 "!n" 重複執行第n條歷史命令

使用 "!!" 重複執行上一條命令

使用 "!子串" 重複執行最後一條以該字串開頭的命令

------------------------------

標準輸入輸出

設備:設備文件名:文件描述符:類型

鍵盤:/dev/stdin:0:標準輸入

顯示器:/dev/sdtout:1:標準輸出

顯示器:/dev/sdterr:2:標準錯誤輸出

--------------------

輸出重定向

類型:符號:作用

標準輸出重定向:命令 > 文件:以覆蓋的方式,把命令的正確輸出輸出到指定的文件或設備當中

標準輸出重定向:命令 >> 文件:以追加的方式,把命令的正確輸出輸出到指定的文件或設備當中

標準錯誤輸出重定向:錯誤命令 2>文件:以覆蓋的方式,把命令的錯誤輸出輸出到指定的文件或設備當中

標準錯誤輸出重定向:錯誤命令 2>>文件:以追加的方式,把命令的錯誤輸出輸出到指定的文件或設備當中

正確輸出和錯誤輸出同時保存:命令 > 文件 2>&1:以覆蓋的方式,把命令的正確輸出和錯誤輸出都保存到同一個文件當中

正確輸出和錯誤輸出同時保存:命令 >> 文件 2>&1:以追加的方式,把命令的正確輸出和錯誤輸出都保存到同一個文件當中

正確輸出和錯誤輸出同時保存:命令 &>文件:以覆蓋的方式,把命令的正確輸出和錯誤輸出都保存到同一個文件當中

正確輸出和錯誤輸出同時保存:命令 &>>文件:以追加的方式,把命令的正確輸出和錯誤輸出都保存到同一個文件當中

正確輸出和錯誤輸出同時保存:命令 >> 文件1 2>>文件2:把正確的輸出追加到文件1中,把錯誤的輸出追加到文件2中
----------------------------------------------

輸入重定向

wc [選項] [文件名]

選項:

-c 統計字節數

-w 統計單詞數

-l 統計行數

------------------------------------

多命令順序執行

多命令執行符:格式:作用

;:命令1 ; 命令2:多個命令順序執行,命令之間沒有任何邏輯聯繫

&&:命令1 && 命令2:邏輯與,當命令1正確執行,則命令2纔會執行

||:命令1 || 命令2:邏輯或,當命令1執行不正確,則命令2纔會執行,當命令1執行正確,則命令2不會執行

---------------------------------------

管道符

命令1 | 命令2

#命令1的正確輸出作爲命令2的操作對象

例如:ls -l /etc | more    #分屏顯示結果

-----------------------------------------

通配符


例如:ls dzp*

ls dzp?

 

變量:aa=123

查看變量的值:echo $aa

反引號與$()

echo `ls`

echo $(ls)





發佈了128 篇原創文章 · 獲贊 19 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章