標籤:history linux profile 字串 驚嘆號
1、曆史命令(history、↓、↑、!)
history的預設值是1000,該值在/etc/profile中指定
命令history,用來查詢最近命令記錄;
使用方向鍵(↑)可以查詢上一個命令;
使用方向鍵(↓)可以查詢下一個命令;
驚嘆號(!!)可以重新執行最近執行的命令;
在(!)後面輸入要查詢命令的首字元或者字串,可以搜出符合該字串的最近的命令;
(!n)代表執行history命令中標記的第n條命令(註:n也可以為負數,如!-2代表執行倒數第二個命令);
(!#)可以執行2次命令
2、鍵盤上的(tab)可以進行命令或者檔案路徑的補全
3、別名(alias)
別名使用者自訂的指令縮寫形式
alias用來查詢所有的別名
建立別名:
格式:alias [別名]=‘需要執行的命令‘
例如:alias ls=‘ls --color=auto --time-stye=long-iso‘
刪除別名:
格式:unalias 別名
4、萬用字元(元字元)
(.) 匹配一個字元,包括空格
(?) 匹配一個字元
(*) 匹配0個以上的字元
([]) 匹配中括弧內任意的一個字元
(\) 脫義符,用字元本身的意思進行解析
(|) 管道符,將管道前面的命令輸出的結果,傳給管道後面的命令作為參數
5、I/O重新導向
> 用於輸出重新導向
>> 用於追加輸出重新導向
標準I/O 檔案描述符數字
|
標準輸入(stdin):鍵盤 0
|
標準輸出(stdout):顯示器 1
|
標準錯誤(stder):顯示器 2
|
2>&1 表示將標準錯誤(2)也傳遞到標準輸出(1)傳遞的位置,&表示在後台執行當前命令;
< 用於標準輸入
6、作業控制
ctrl+z 暫停命令
jobs 在當前shell中顯示自己的進程
bg 向後台傳送進程
fg 向前台傳送進程
7、變數
變數分類:全域變數、局部變數和環境變數
查看變數的命令:env或者set(可以列出shell中未聲明的自訂變數)
變數的命名:變數名可以由字母、數字或者底線組成,但是不能以數字開頭;
定義變數
變數名=變數值
註:“=”的兩側不能有空格,變數值中如果包含空格等符合需要使用雙引號括起來;
自訂的變數只在當前的shell中生效,如果想要其子shell中也生效定義的變數需要使用export命令進行聲明;
格式:變數名=變數值 ; export 變數名
或者
export 變數名=變數值
變數的引用;例如:value=11;echo $value
取消變數:unset 變數名
/etc/profile:初始化系統全域shell變數
/etc/bashrc:定義用於shell函數和別名的系統全域變數
~/.bash_profile:使用者個人的環境設定檔案
~/.bashrc:使用者個人的別名及變數設定檔案
~/.bash_logout:系統退出設定檔案
source命令:立即適用shell環境設定檔案。也可以用 “.” 。
引用符號
|
說 明
|
雙引號
|
除貨幣符號、單引號、反引號和反斜線之外,其他所有的字元都將保持字面意義
|
單引號
|
所有字元都講保持字面意義
|
反引號
|
引號中的字串將被解釋為shell命令
|
反斜線
|
逸出字元,屏蔽字元的特殊意義
|
8、常用的文本處理命令
1)命令cut用於選取文本列
格式:cut [選項] [檔案]
選項:-c :指定字元
-d :指定分隔字元
-f :指定要選擇的欄位
2)命令sort用於文本的排序
格式:sort [選項] [檔案]
選項:-t:指定欄位分隔符號
-u:重複資料刪除的行
-k:自訂關鍵字
-d:根據字典順序排序
-n:根據算數值進行比較
-r:逆向排序
3)命令wc產看檔案統計資訊
格式:wc [選項] [檔案]
選項:-l:統計檔案的行數
-w:統計檔案的單詞數
-c:統計檔案的位元組數
-L:統計檔案中最長的行的長度
4)命令uniq文本去重
格式:uniq [選項] [檔案]
選項:-c:統計重複行出現的次數
-d:顯示檔案中有重複的行並只顯示一次
-D:顯示檔案中所有重複的行
5)命令tr替換或刪除字元
格式:tr [選項] [參數1] [參數2]
選項:-d:刪除指定的字元
6)命令tee重新導向並顯示
7)命令split分割
格式:split [選項] [檔案]
選項:-l:以行為單位
-b:以位元組為單位
-d:以數字填充檔案名稱末尾
9、使用多重指令
分號(;):用來串連多個命令,第一個命令不論是否成功,都執行第二個命令
符號(&&):當第一個命令正常執行,才執行第二個命令
符號(||):當第一個命令執行失敗,才去執行第二個命令
本文出自 “MyLinux” 部落格,請務必保留此出處http://mylinuxlife.blog.51cto.com/4706737/1631108
linux學習筆記-第十一課-shell基礎