Linux入門篇(六)——Shell(二)

這一系列的Linux入門都是本人在《鳥哥的Linux私房菜》的基礎上總結的基本內容,主要是記錄下本身的學習過程,也方便你們簡要的瞭解html

Linux Distribution是Ubuntu而不是書本上推薦的CentOS,建議裝雙系統,不要使用虛擬機。git

代碼在github上:Linuxpracticegithub

其餘內容:正則表達式

Linux入門篇(一)——基本命令

Linux入門篇(二)——文件

Linux入門篇(三)——文件與目錄

Linux入門篇(四)——Vim的使用與Bash

 

Linux入門篇(五)——Shell(一)

 

Shellshell

1、通配符與特殊符號bash

通配符
* 0到無窮個任意的字符
? 必定有一個任意字符
[] 必定由一個[]中的字符
[-] 編碼順序內全部的字符
[^] 必定有一個非[]中的字符
特殊符號
# 批註符號,視爲說明,並不執行
\ 轉義字符,將後面的內容還原爲原來的意思
| 管道,風格兩個管道命令的界定
; 連續命令的執行
~ 用戶的主文件夾
$ 使用變量的前導符
& 做業控制,命令變成背景下工做
! 邏輯非
/ 目錄符號
>,>> 數據流重定向,輸出
<,<< 數據流重定向,輸入
' ' 無變量置換的變量表示
" " 有變量置換的變量表示
` ` 先執行的命令
() 子shell的起始與結束標誌
{} 中間爲塊命令的組合

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2、shell其它指令及功能post

  • 數據流重定向:某個命令執行後的內容會打印在屏幕上的數據須要傳輸到其它的地方,可使用 > 和 >>命令輸出到其它的地方(>會覆蓋原有的內容,而>> 不會覆蓋只會累加)。
  • 命令質性判斷依據:

    cmd1 ; cmd2      執行完cmd1,執行cmd2學習

    cmd1 && cmd2     cmd1正確執行則執行cmd2編碼

    cmd1 || cmd2        cmd1正確執行則不執行cmd2url

  • 管道命令:bash執行命令時會有輸出數據出現,若是這樣的數據須要通過幾道手續才能獲得結果,則使用管道命令"|"。後面的命令必須是能夠接收STDIN數據的命令。
  • 選取命令:

  cut能夠將一段信息的某一段切出來。

  # cut -d ‘分隔字符’ -f field

  # cut -c 字符範圍

  grep 分析一行的信息

  # grep [-acinv] [--color=auto] '字符串' filename

  • 排序:  

  # sort [-fbMnrtuk] [file or stdin]

  • 雙向重定向 tee 能夠將stdin輸出到屏幕的同時並輸出到文件中 # tee [-a] file
  • 字符轉換命令:

  # tr [-ds] SET1 ...       刪除一段信息中的文字或者文字替換

  # col [-xb]           -x tab轉爲空格,-b 文字內有轉義字符時直接保留\後的內容

  # join [-ti12] file1 file2     兩個文件中相同數據一行加在一塊兒

  # paste [-d] file1 file2     不進行對比直接將兩個文件貼在一塊兒

  # expand [-t] file       tab轉空格

 

3、Shell Script 程序化腳本

命令行彙整執行,相似與程序的編寫,可是不須要編譯執行,

利用shell的功能所寫的一個純文本的程序,在一些shell語法與命令卸載裏面配合正則表達式,管道和重定向達處處理的目的。

 

shell script執行的方法:

直接命令執行      shell.sh 文件必須具有rx的權限, 以bash進程來執行,經過./she.sh或shell she.sh

PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
相關文章
相關標籤/搜索