shell編程基礎之認識與學習BASH_linux shell

來源:互聯網
上載者:User

1、認識Bash

通過Shell將輸入的指令與Kernel溝通,讓Kernel控制硬體工作
查看Shell:cat /etc/shell
登入後預設的shell類型記錄在/etc/passwd中,與賬戶相關
命令別名:alias lm='ls -al' #注意有無空格
協助:man bash
命令類型:type

複製代碼 代碼如下:

type ls # ls is aliased to `ls –color=auto'
type cat # cat is hashed (/bin/cat)
type cd # cd is a shell builtin


命令執行:

\[Enter]:將[Enter]轉義,按下後不執行,而是另起一行

2、Shell的變數功能

概念:同一變數,不同使用者可以有不同值,所以可以用變數來代表此值,而不用將具體的值 寫入程式,如$PATH

複製代碼 代碼如下:

顯示變數:echo $PATH
設定變數:PATH=xxx #注意空格有無
擴充變數:PATH=$PATH:xxx
取消變數:unset MAIL
查看環境變數:env
查看環境變數及自訂變數:set

PS1:提示字元設定
自訂變數轉環境變數:export
為什麼要轉成環境變數:因為子程式會繼承父程式的環境變數
語系支援
查看系統支援的語系:locale -a
查看與語系有關的變數:locale
鍵盤讀取使用者輸入read: read atest #將使用者輸入讀入atest變數
聲明變數類型 declare: declare -i sum=100+50

3、命令別名與曆史命令

別名

複製代碼 代碼如下:

alias lm='ls -al | more'
unalias lm

曆史命令

複製代碼 代碼如下:

history

4、Bash shell的作業環境

指令執行時尋找順序
相對/絕對路徑 -> alias -> bash內建 -> $PATH
bash設定檔

複製代碼 代碼如下:

login shell/non-login shell
login shell: 進入shell時需要輸入帳號密碼
non-login shell: 通過圖形介面登入,再啟動shell時無需輸入帳號密碼

設定檔

複製代碼 代碼如下:

login shell:
/etc/profile :系統整體設定
以下三個檔案按順序,如果存在,就讀取,後面的就不再讀取
~/.bash_profile
~/.bash_login
~/.profile

萬用字元

複製代碼 代碼如下:

* : 0到無窮個字元
? : 一個字元
[]: [abc] # a or b or c
[-]: [0-9] # 0 到 9
[^]: [^abc] # 不是a,b,c的一個字元

5、資料流重導向

複製代碼 代碼如下:

> :覆蓋
>>:累加
/dev/null:接收資訊但不顯示
依次執行:cmd1,cmd2,cmd3
根據上一條執行結果確定下一條
cmd1 && cmd2
cmd1 || cmd2

6、管線命令

複製代碼 代碼如下:

ls | less
cut:同一行資料分割
echo $PATH | cut -d ':' -f 5 #以':'分割,第5個資料
grep:如果一行裡有需要的資訊,就返回這一行
sort:排序
uniq:重複內容只顯示一次
wc:統計單詞數
tee:雙向重新導向
tr:刪除或替換資料
col:轉化為純文字
join:將兩個檔案中相關資訊放在一起
paste:將兩行並在一起,中間用[Tab]分開
expand:將[Tab]轉為空白格
split:將大檔案傳為小檔案

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.