shell學習之路:shell基礎大全1

來源:互聯網
上載者:User

標籤:

http://note.youdao.com/share/?id=a9d02257b639c94323c818bc38423919&type=note 別名命令alias:http://note.youdao.com/share/?id=cbcbd1156ab1f0835c4f76131dbf98e2&type=note查看目前使用者曆史命令history:http://note.youdao.com/share/?id=e878f9ed7bb7e8849fa57b67dc1eb7f3&type=note添加新硬碟並分區:http://note.youdao.com/share/?id=8cf27602cdce36e1d4160f00e9004b00&type=notedd if=輸入檔案 of=輸出檔案 bs=位元組數 count=個數選項:    if=輸入檔案    指定源檔案或源裝置    of=輸出檔案    指定目標檔案或目標裝置    ba=位元組數    指定一次輸入/輸出多少位元組,即把這些位元組看做一個資料區塊    count=個數    指定輸入/輸出多少個資料區塊例子:[[email protected]]# date ; dd if=/dev/zero of=/root/testfile bs=1k count=100000 ; date 可以通過命令執行 查看執行前後的是date時間差例子2:我們可以使用該命令進行資料對考 或者燒盤[[email protected]]# date ; dd if=/dev/cdrom of=/data/CentOS6.4-one.iso ; date這樣我就可以吧光碟片燒錄到 /data/下 好方便以後用與搭建 本地yum源管道符:命令1的正確輸出作為命令2的操作對象[[email protected]]# ls | grep fengtaotao要求是 管道符前面的命令必須有輸出[[email protected]]# ll -a | morp   分屏顯示 ll -a的輸出內容 前提是命令1必須有正確輸出netstat -an 查看netstat命令的功能是顯示網路連接、路由表和網路介面資訊,可以讓使用者得知有哪些網路連接正在運作。[1] 使用時如果不帶參數,netstat顯示活動的 TCP 串連。   例如:查看當前伺服器上有幾個遠端連線[[email protected]]# netstat -an | grep "ESTABLISHED"當然我們也可以只統計行數[[email protected]]# netstat -an | grep "ESTABLISHED" | wc -l

grep命令:

[[email protected]]#grep [選項] ‘搜尋內容‘ 檔案名稱選項:-i:不區分大小寫-n:顯示行號-v:反向尋找--color=auto:收索關鍵字顯示顏色萬用字元:
萬用字元 作用
? 匹配一個任一字元
* 匹配0個或任意多個任一字元,也就是說可以匹配任意內容
[] 匹配中括弧中任意一個字元。例如[abcd]代表匹配abcd當中的任意一個
[-] 匹配中括弧中任意一個字元,-代表範圍例如[a-z][A-Z][0-9]等等
[^] 邏輯非,表示匹配不是中括弧中的一個字元例如[^0-9]代表不是數位字元
‘‘ 單引號,在單引號中所有的特殊字元將作為文本例如:$ @ *等
"" 雙引號中特殊符號都沒有含義,但對於$  \ ‘例外調用變數的值,應用程式命令,轉符號等
反引號 與下$()意義一樣  例如:echo `ls`  或echo $(ls) 輸出的是ls命令結果
$()  
# 在Linux當中#號為注釋 只要以#開頭的都是無效的注釋
$ 用於調用變數的值,如果要調用變數name的值 需要使用$name 變數的定義name=user1  
\ 轉移符 在特殊意義符號前面加\會失去其特殊意義 \$name 就不是變數
變數: linux 下有 1、使用者自訂變數;2、環境變數;3、位置參數變數;4、預定義變數使用者自訂變數:    變數定義:    [[email protected]]#name=user1   [[email protected]]#haha=$(date)      變數疊加:    [[email protected]]#name="$name"222     [[email protected]]#echo $name    user1222    或者使用 name=${name}222 與上一樣查看變數:我們可以使用set來查看變數(set 查看系統當中所有的變數包括自訂變數)[[email protected]]# set | grep namename=user1222卸載變數unset name環境變數:設定環境變數:export 變數名=變數值 可以使用pstree命令查看 進程結構  ps1 用來修改定界符[[email protected]]# 的設定預定義變數:
預定義變數 作用
$? 最後一次執行的命令的返回狀態,如果這個變數的值為0表示上一個命令正確執行;如果返回的值非0證明沒有執行成功,具體的傳回值可以百度查詢返回錯誤代號
$$ 當前進程的進程號(PID)
$! 後台啟動並執行最後一個進程的進程號(PID)
   
   
   
接收鍵盤輸入:read [選項] [變數名]選項:    -p "提示資訊":在等待read輸入時,輸出提示資訊    -t秒數:    read命令會一直等待使用者輸入,使用-t選項後面加秒數 等待多少秒後執行預設    -n字元數:  read命令只接受指定的字元數,就會執行    -s:    銀城輸入的資料,適合用於機密的資訊例如密碼bash運算子:declare 聲明變數類型[[email protected]]#declare[+/-][選項] 變數名選項:    -:    給變數設定類型屬性    +:    取消變數的類型屬性    -i:    將變數聲明為整數型    -x:    將變數聲明成環境變數  (也可以用 export 變數)    -p:    顯示制定變數的被聲明的類型例子:[[email protected]]#aa=11 ; bb=22; declare -i cc=$aa+$bb && echo $cc33最常見的方式是 cc=$(($aa+$bb)) 在運算當中我們只要在外部用$(())雙小括弧括起來 裡面的演算法與數學公式演算法相同例如:[[email protected]]#aa=$(((11+3)*3/2)) && echo $aa21  等到的結果就是21還有邏輯與 && 邏輯或 ||變數置換方式 這個表類似於PHP中的三元運算子:例如:[[email protected]]#環境變數:(環境變數允許)環境變數一般都是大寫    環境變數設定檔簡介:    1.source命令:        [[email protected]]#source 設定檔   或者 . 設定檔  都可以讓他立即生效無效重啟    /etc/profile    /etc/profile.d/*.sh    /etc/bashrc    上面三個路徑的環境變數設定檔是對所有使用者生效的    ~/.bash_profile    ~/.bashrc    上面兩個路徑的環境設定檔時對目前使用者生效的設定檔環境變數關係流程圖:    登出環境設定檔: ~/.bash_logout  預設是空的曆史命令設定檔: ~/.bash_history SHELL登入資訊:登入後的資訊:對本地和遠程都生效:/etc/motd 預設是空的可以添加[[email protected]]#echo "aaa" >> /etc/motd[[email protected]]#exit[[email protected]]#從新登入後就有了本地終端登入資訊: /etc/issue遠程終端登入資訊:

shell學習之路:shell基礎大全1

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.