第四章、bash特性詳解
03_02_base特性詳解
bash及其特性:
shell: 外殼
gui:gnome, kde, xfce
cli: sh, csh, ksh, bash, tcsh, zsh
linux允許同乙個使用者登入多次
root, student
程式:程序
程序:在每個程序看來,當前主機上只存在核心和當前程序
程序是程式的副本,程序是程式執行例項
使用者工作環境:
bash:
# $
shell,子shell
bash--bash
bash:
1、命令歷史、命令補全
2、管道、重定向
3、命令別名
4、命令列編輯
5、命令列展開
6、檔名通配
7、變數
8、程式設計
游標跳**
ctrl+a:跳到命令列首
ctrl+e:跳到命令行尾
ctrl+u: 刪除游標至命令列首的內容
ctrl+k: 刪除游標至命令行尾的內容
ctrl+l: 清屏
命令歷史:
檢視命令歷史:history
-c:清空命令歷史
-d offset [n]: 刪除指定位置的命令
-w:儲存命令歷史至歷史檔案中
環境變數
path:命令搜尋路徑
histsize: 命令歷史緩衝區大小
命令歷史的使用技巧:推薦一篇文章
《讓效率翻倍的bash技巧》
!n:執行命令歷史中的第n條命令;
!-n:執行命令歷史中的倒數第n條命令;
!!: 執行上一條命令;
!string:執行命令歷史中最近乙個以指定字串開頭的命令
!$:引用前乙個命令的最後乙個引數;
esc, .:引用前乙個命令的最後乙個引數;
alt+.
命令補全: tab
搜尋環境變數path記錄的路徑。
路徑補全:tab
文字相關的命令
檢視:cat, tac, more, less, head, tail
統計:wc
處理:tr, cut, join
排序:sort
uniq
03_03_base特性詳解
複習:bash特性:
命令歷史:
history-c -w -d
histsize
~/.bash_history
!n, !-n, !!, !string, !$
命令補全,路徑補全
命令補全:搜尋path環境變數所指定的每個路徑下以我們給出的字串開頭的可執行檔案,如果多於乙個,兩次tab,可以給出列表;否則將直接補全;
路徑補全:搜尋我們給出的起始路徑下的每個檔名,並試圖補全;
命令別名
定義:alias cmdalias='command [options] [arguments]'
在shell中定義的別名僅在當前shell生命週期中有效;別名的有效範圍僅為當前shell程序;
取消:unalias cmdalias
使用命令本身: \cmd
命令替換: $(command), 反引號:`command`
把命令中某個子命令替換為其執行結果的過程
eg:1. echo "the current directory is $(pwd)."
2. echo "file-$(date +%f-%h-%m-%s)" ------------- file-2013-02-28-14-53-31.txt
%f full date; same as %y-%m-%d
%h hour (00..23)
%m minute (00..59)
%s second (00..60)
%t time; same as %h:%m:%s
bash
支援的引號:
``: 反引號,命令替換
"": 弱引用,可以實現變數替換
'': 強引用,不完成變數替換
檔名通配,globbing
*: 任意長度的任意字元
?:任意單個字元
:匹配指定範圍內的任意單個字元
[abc], [a-m], [a-z], [a-z], [0-9], [a-za-z], [0-9a-za-z]
[:space:]:空白字元
[:punct:]:標點符號
[:lower:]:小寫字母
[:upper:]: 大寫字母
[:alpha:]: 大小寫字母
[:digit:]: 數字
[:alnum:]: 數字和大小寫字母
# man 7 glob 檢視這些內建特殊字元表示
[^]: (脫字元) 匹配指定範圍之外的任意單個字元
[[:alpha:]]*[[:space:]]*[[:alpha:]] : 字母開頭,字母結尾,中間有空格
練習:1、建立a123, cd6, c78m, c1 my, m.z, k 67, 8yu, 789等檔案;注意,以上檔案是以逗號隔開的,其它符號都是檔名的組成部分;
2、顯示所有以a或m開頭的檔案;
ls [am]*
3、顯示所有檔名中包含了數字的檔案;
ls *[0-9]*
ls *[[:digit:]]*
4、顯示所有以數字結尾且檔名中不包含空白的檔案;
ls *[^[:space:]]*[0-9]????????? -- 正規表示式可以解決
5、顯示檔名中包含了非字母或數字的特殊符號的檔案;
ls *[^[:alnum:]]*
ls *[^a-za-z0-9]*
第四章 bash的特性
4.1 bash的特性 a 支援命令歷史 命令補全 b 支援管道 重定向 c 支援命令別名 d 支援命令列編輯 e 支援命令列展開 f 支援檔名通配 g 支援變數 h 支援程式設計 4.2 bash支援的引號 命令替換 弱引用,可以實現變數替換 強引用,不完成變數替換 4.3.1 游標跳轉 ctrl...
第四章 Django sitting詳解
1 staticstatic url static staticfiles dirs os.path.join base dir,static static用於存放靜態檔案,一般是css檔案 與templates一樣都是django可以識別的檔案。在sitting中需要將sitting檔案路徑新增,...
第四章 繼承
一 為什麼要繼承 在物件導向中我們將具有很多重複內容的類中的內容提取出來,寫成乙個單獨的類 其他類只需要繼承就能取得這些功能,同時可以在自己類中寫入獨特的自定義方法 二 繼承語法 inte ce circle nsobject 繼承是在介面中定義的 冒號後的類名是要整合的類,nsobject 是co...